I’m currently working with the HL7812 module dev kit 5303247 rev 2 and trying to get Power Saving Mode (PSM) working properly, but I’ve been running into some weird stuff.
Modem fw: HL7812.5.5.17.0-24.03.0.FreeRTOS.w10
Here is the overall hl7812 modem current consumption:
As soon as I get the +PSMEV:1 URC (which should mean the modem is ready to go into PSM), I notice that GPIO6 and the fast shutdown pins start blinking for some reason. I was expecting the module to smoothly go into hibernate mode, but that doesn’t happen. Instead, it seems like something’s actively blocking it.
I’ve been looking at Figure 6: PSM Mode – Typical Use Case in the HL78xx Low Power Modes Application Note (r7), and what I’m seeing in practice doesn’t match what’s in the diagram at all. In particular, the behavior of the wake-up pin is way off. The document suggests one thing, but in my case, it only works if I do something pretty hacky.
I have to keep the wake-up pin always asserted as long as sending at commands and transferring data ; otherwise, the modem doesnt respond at all.
The only way I’ve been able to get PSM to actually kick in is by manually setting the wake-up pin high for about 2–3 seconds, then pulling it low again. Once I do that, the modem finally goes into hibernate mode like it should. But honestly, this seems more like a workaround than the expected behavior.
Here’s the real issue: when I get stuck in this state, GPIO6 starts fluctuating — and that’s reflected in the current consumption too. (In the image above, you can see the overall current consumption of the board — every spike in current directly corresponds to GPIO6 toggling (This starts from the green line and continues until the modem finally enters PSM at the orange line.). That gives you an idea of how many interrupts I’m getting on the host side.) The modem never goes into hibernate unless I do the wake-up pin trick. What makes this worse is that GPIO6 is used as an interrupt line on the host processor, so all this unwanted toggling creates a bunch of noise and instability in the system. This behavior is causing major problems on the host side.
Yeah, there’s no problem with those AT commands as long as I run AT+KGPIOCFG and AT+KGPIO either before enabling the low power monitoring feature with AT+KHWIOCFG=3,1,6, or after disabling it with AT+KHWIOCFG=3,0,6.
But I’m not sure I follow what you’re getting at with this gpio6 status, especially regarding the PSM issue. As far as I can tell, is it really directly related to the GPIO6 state.
Excellent, Using that AT command pretty much fixed the PSM issue, but I’m still seeing GPIO6 toggling just before the modem enters PSM, as shown in the screenshot.
But how, why So, if I disable the SIM detection using the AT+KSIMDET=0 command, what’s the recommended solution or alternative way to handle SIM detection functionality?
We’ve made some progress on this issue. After setting AT+KSIMDET=0, the device is now able to enter sleep modes correctly, in my case, it successfully goes into hibernate.
However, I’m now running into a new problem: the device never wakes up from hibernate after I assert the wake-up pin. It also doesn’t transition from CEREG:4 (not registered) to CEREG:5 (registered, home network), even after the wake-up signal.
Wake-up Procedure I Followed:
Assert the wake-up pin (set it high).
Wait for a +KCELLMEAS URC (or any sign of life from the modem).
But nothing happens — I don’t receive any URCs, and the modem stays stuck in CEREG:4.
Should I open a new issue to track this wake-up behavior, or is it okay to continue the discussion here?