Hello,
Context
I am currently working on implementing eDRX on the HL7900 / HL7812 modem and I am encountering an issue related to the Ring Indicator (RI).
The device communicates using MQTT over TCP with a broker. My final goal is to run the modem with eDRX enabled, use Lite-Hibernate mode, and rely on the Ring Indicator to wake up the host MCU when a downlink message is received.
However, the RI signal does not seem to trigger consistently. In some situations, when a message is sent to the modem, the application subsystem appears to wake up (view with consumption) and process the incoming data, but the RI signal is not asserted, meaning the host MCU is not notified.
At this point, I don’t know if this is related to:
- a hardware problem on my end,
- how to configure the RI via AT commands,
- how to manage the wake-up phases after RI detection.
- Time between RI detections
- …
I have already run several tests but have not been able to identify the real cause.
Tests performed
TEST 1 – Baseline behavior : RI without eDRX, No low power mode enabled, MQTT connection
Purpose: verify that RI works correctly in a simple scenario.
MQTT connection, subscribe to a topic, then send two ping requests without reading the acknowledgments between them.
TEST 2 – eDRX + Lite-Hibernate : eDRX cycle set to ~20 seconds, Messages sent quickly from the broker
Purpose: observe RI triggering during normal eDRX operation.
Here, the first one works, but the second one causes the HL7900 to crash. The ring indicator does not activate during the second wake-up. I then tried to wake it up (forcing it with wake-up) and send messages with pingreq, but I did not receive any messages from the broker (and the ring indicator no longer works). Looking at the MQTT broker manager, my client is still connected and the broker is receiving the pings sent by the HL.
TEST 3 – Periodic WAKEUP : Same configuration as Test 2, I manually wakes the modem every minute using WAKEUP, I send à PINGREQ and wait the response of the broker.
Purpose : Observe the behavior of the RI between eDRX sleep cycles.
Each time you wake up, here are the commands sent:
>>> AT
OK
>>> AT+KTCPSND=1,2
>>> C0 00
CONNECT
OK
+KTCP_DATA: 1,2
>>>AT+KTCPSTAT=1
+KTCPSTAT: 3,-1,0,2
OK
>>> AT+KTCPRCV=1,2
CONNECT
[KTCPRCV DATA session 1, 2 byte(s)]
D0 00
--EOF--Pattern--
OK
TEST 4 – Long interval : Same configuration as Test 2, Messages sent from broker at longer intervals
Purpose : Observe whether the timing between eDRX cycles affects RI (waiting for the calibration phase).
Each time you wake up, here are the commands sent:
Hardware and firmware
-
Modem: HL7900
-
Firmware version: BF_CORE_02_02_00_00_52661
-
Hardware platform: * Semtech HL7812 / HL7900 development kit
For the setup:
-
External 3.7 V power supply
-
Communication via UART1
-
AT commands sent from a Python script on PC
Has anyone experienced a similar issue ? Any ideas or suggestions would be greatly appreciated.
Thanks in advance for your help.





