Hl78xx takes longer to enter PSM than T3324 indicates

After giving this command


i get the active timer value (T3324) that the network will allow, which is larger than the 2 seconds asked. That’s normal. But the modem takes longer than the value accepted by the network, approximately 8 seconds or more, to reply to the command AT+CEREG? with +CEREG: 0,4. So I am getting +CEREG: 0,5 for more than the accepted value.

We need this indication so we can make the modem go into hibernation by driving the WAKEUP pin LOW, correct?


you mean after you type AT+CPSMS, you need to wait for 8 seconds for the unsolicited message +CEREG: 4, right?

If so, this is related to the network operator.

1 Like

This is sort of what I mean but let’s say that the network has chosen an active timer of 10 seconds.
The +CEREG: 4 message takes longer than 10 seconds to appear and therefore I have to wait for longer than the active timer of 10 seconds (sometimes a lot longer >20sec) to enter hibernation.

Is that still related to the operator?

do you have the log with timestamp to discuss?

I think the T3324 starts to count since the module goes to idle mode.

"The +CEREG: 4 message takes longer than 10 seconds to appear "
→ this is related to network operator’s response

1 Like

Here’s a log where instead of 32sec (00010000 given by the network) the +CREG: 0,4 message appears after 42 seconds. This log begins with giving the command AT+CPSMS=1,“01001010”,“00000001”:

.24/10/2022 11:07:30 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:31 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:32 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:33 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:34 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:35 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:36 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:37 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:38 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:39 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:40 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:41 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:42 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:43 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:44 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:45 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:46 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:47 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:48 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:49 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:50 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:51 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:52 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:53 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:54 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:55 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:56 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:57 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:58 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:07:59 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:00 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:01 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:02 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:03 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:04 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:05 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:06 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:07 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:08 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:09 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:10 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:11 +CEREG: 4,5,“1F40”,“03117048”,9,“00010000”,“01001011”
.24/10/2022 11:08:12 +CEREG: 4,4,“00010000”,“01001011”

When does the module enter IDLE mode?

My test here shows that it would take 20 seconds to get the response from network:

[Tue Sep 08 21:09:07.287 2020] ati3
[Tue Sep 08 21:09:07.294 2020]
[Tue Sep 08 21:09:07.294 2020] HL7800.
[Tue Sep 08 21:09:07.294 2020]
[Tue Sep 08 21:09:07.294 2020] OK
[Tue Sep 08 21:09:08.287 2020] at+ksrep=1
[Tue Sep 08 21:09:08.293 2020]
[Tue Sep 08 21:09:08.293 2020] OK
[Tue Sep 08 21:09:09.286 2020] AT+CEREG=4
[Tue Sep 08 21:09:09.321 2020]
[Tue Sep 08 21:09:09.321 2020] OK
[Tue Sep 08 21:09:10.287 2020] AT+CPSMS=1,“11100000”,“11100000”,“00010100”,“00001010”
[Tue Sep 08 21:09:11.286 2020]
[Tue Sep 08 21:09:11.677 2020]
[Tue Sep 08 21:09:11.677 2020] OK
[Tue Sep 08 21:09:11.677 2020]
[Tue Sep 08 21:09:11.677 2020] +CEREG: 1,“0001”,“01A2D001”,7,“00011110”,“00111001”
[Tue Sep 08 21:09:11.686 2020]
[Tue Sep 08 21:09:11.686 2020] +CREG: 1,“0001”,“01A2D001”,7
[Tue Sep 08 21:09:31.004 2020]
[Tue Sep 08 21:09:31.004 2020] +CEREG: 4,“00001010”,“00010100”
[Tue Sep 08 21:09:31.017 2020]
[Tue Sep 08 21:09:31.017 2020] +CREG: 4

BTW, did you monitor the VGPIO pin to go low which indicate it goes to PSM dormant mode?

1 Like

In my test I am asking it every seconds with AT+CEREG?

In your test you are indeed getting the CREG:4 after the agreed time of 20sec.

Yes, after CREG:4 I can go into PSM.

there is no need to query AT+CEREG?, you need to wait for the unsolicited message +CEREG:4, and then wait for the VGPIO to go low

1 Like

Ok, but my system uses this asking method at this point. It should be the same no?
I’ve tested it without asking it and I get the same results. So just waiting for the unsolicited message is the same.

The issue is the amount of time it takes to see the message CREG:4

as said before, this depends on network operator…

1 Like

Ok, understood. So in order to go into hibernation though we do need to wait for that message and then pull WAKEUP LOW correct?

I’ve tried this on multiple operators and countries with the same result. Could you tell me in which country you performed this test?

you need to also monitor the VGPIO pin.

i used network simulator

1 Like

But I should monitor VGPIO after CEREG:4, correct?

yes, I think so…*****

1 Like

Ok so this clears it up. The network takes some time to issue the message CREG:4 and therefore we cannot do anything about that extra time.


So in simple words if you power up the modem transmit and shut it down it takes more or less 15-17 seconds in total.
If you use the PSM mode it takes 40-45 seconds which renders it useless.

We tested in 2 live networks in Greece with 2 operators and Denmark with one operator.
The T3324 timer cannot be set to less than 32 seconds in Greece which explains more or less why the total time is so high.
In Denmark though with a timer at 2 seconds the total time is again high this time unexpectedly because the CEREG 4 state takes ages to be reported.

Is it mandatory to wait for the CEREG 4 or can we just go to sleep ?

The T3324 timer is intended to be used if downlink messages are sent to the modem, if we don’t need it can’t we just go to sleep without waiting for the GPIO or the GREG 4 ?

if you don’t wait for +CEREG:4, you will never know the real T3324 accepted by network

Of course you can try that, but that is not something standard…