Unexpected GPIO6 and fast shotdown pin Behavior When Trying to Enter PSM on HL7812 – Not Matching Docs

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:

  1. 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.

  2. 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.

  3. 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.

wakeup pin high, current consumption 12mA:

Has anyone else seen this kind of thing with GPIOs or the wake-up pin? Is there something undocumented going on, or maybe a setup step I’m missing?

Thanks in advance!

what functionality have you set for GPIO6?
GPIO? or low power monitoring functionality?

Yes it is low power monitoring

AT+KHWIOCFG=3,1,6

I also tested it after disabling it;

In both cases, whether gpio6 is enabled / disabled, gpio6 the result is the same.

how about setting it to be GPIO as high or low state?

AT+KGPIOCFG=6,0,2
AT+KGPIO=6,1

I tried these commands as it suggested here: but both return cme error.
doesnt allow me to do it. cme error.

But i ran these commands after disabling low power mode monitoring functionality. Then it worked. Both commands return ok.

but still the same result

i don’t see such problem:


AT+KGPIOCFG=6,0,2
OK
AT+KGPIO=6,1
OK
AT+KHWIOCFG?
+KHWIOCFG: 0,0
+KHWIOCFG: 1,0
+KHWIOCFG: 2,0
+KHWIOCFG: 3,0,6
+KHWIOCFG: 4,0,8
+KHWIOCFG: 5,0
+KHWIOCFG: 6,0
+KHWIOCFG: 7,0
+KHWIOCFG: 8,1

OK
ati3
HL7812.5.5.14.0

OK

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.

not sure if this is related, but is there any improvement if you set “AT+KSIMDET=0” ?

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 :slight_smile: 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?

I think this is the issue you mentioned here:

i think you need to contact Sierra FAE to understand this issue ALT1250-5221.

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:

  1. Assert the wake-up pin (set it high).
  2. 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?

Yes, better open a new discussion thread