HL7800 Distinguish out of coverage from PSM hibernate

Hi,
We are using HL7800 with PSM mode activated.
We can see the module reporting +CEREG: 4 when entering hibernation, which according to the manual is also the indication for out of coverage.
How to distinguish the different states?

Thanks in advance.

Hi,
After enable PSM for device (CPSMS), during T3324 timer (CEREG: 1), module will work in active/idle mode. After T3324 timer, +CEREG: 4 is displayed, module will go to PSM mode. When T3412 is over, module will register to network (+CEREG: 1)
PSM mode can be Sleep or Lite Hibernate or Hibernate mode, it is due to KSLEEP configuration.

  • KSLEEP=x,0 -> module goes to Sleep mode after CEREG: 4
  • KSLEEP=x,1 -> module goes to Lite Hibernate mode after CEREG: 4
  • KSLEEP=x,2 -> module goes to Hibernate mode after CEREG: 4

You can find more details in this Application Note
https://source.sierrawireless.com/resources/airprime/application_notes_and_code_samples/airprime_hl7800_low_power_modes_application_note/#sthash.jiedaMbR.dpbs

Thanks

Hi and thanks for the quick reply,

I am well aware of the +CEREG: 4 due to hibernate.
But according to the AT command interface guide under AT+KNWSCANCFG:

Out of Coverage scenario applies when the module is attached to the network
and loses network connectivity or cell coverage. This is usually marked by
change of registration state to unknown (+CEREG: 4).

How to distinguish the two different states?

Thanks!

Hi,
As I know, the only way we can distinguish the state is checking the power consumption.
When +CEREG: 4 is displayed due to Hibernate, the power consumption is dropped to a few μA. It will wake up due to T3412 ( not scan network during Hibernate)
When +CEREG: 4 is displayed due to out of coverage, module will go to Lite Hibernate mode, and it wakes up due to period of KNWSCANCFG to scan network.
You can find power consumption in this document for each mode
https://source.sierrawireless.com/resources/airprime/hardware_specs_user_guides/airprime_hl7800_and_hl7800-m_product_technical_specification/#sthash.meSnX8lq.dpbs
Thanks,

1 Like

@mapart,

In addition to the above post I would say it is more about where you are in the process of operation where you are able to determine if it means out of coverage or entering PSM mode. If you are mobile then you should not be using PSM mode in the first place as it is here that you are most likely to go out of coverage.

Going into PSM when you are stationary is a process and you will know you are going through it to know when you receive the +CEREG: 4 response, going out of coverage at that exact moment would be unlucky and/or you would be in marginal coverage anyway.

Regards

Matt

Hi,

Wouldn’t it just be easier to have two different indications for the two different states?
It somehow seems odd to have the application speculating whether or not the +CEREG: 4 means out of coverage or hibernate, something that the modem is well aware of, based on movement detection and timers?

Best Regards

@mapart,

There is no movement detection on the unit.

All a given unit might see when it is moving is a changing cellular environment and that can happen when it is stationary as well. Generally when you go out of coverage you will see a lot of CREG/CEREG 0’s and 2’s before the unit eventually decides it cannot see anything and throws out 4.

Regards

Matt

Hi,

The reason I’m asking is the following…
This is an excerpt from our communication with the modem:

+CEREG: 5,“85A3”,“04CAE10B”,7,“00001111”,“00111011”
AT

OK
AT+KUDPCFG=1,0

+KUDPCFG: 2

OK

+CEREG: 4,“00001111”,“00111011”

I’m not sure whether this is an out of coverage scenario or not, what would you say?

Best Regards

@mapart,

How long between the OK and the +CEREG: 4 coming out?

So thats almost certainly the unit going into PSM after T3324 has timed out. You will have previously set at+cpsms=1 so that it enters this mode, if you set at+cpsms=0 then it will not go into power save mode and just remain on line.

Regards

Matt

Hi,

This is the same excerpt with timings in ms:

299873 - +CEREG: 5,“85A3”,“04CAE10B”,7,“00001111”,“00111011”
301032 - AT
301033 -
301033 - OK
301132 - AT+KUDPCFG=1,0
302341 -
302342 - +KUDPCFG: 2
302343 -
302343 - OK
302343 -
302344 - +CEREG: 4,“00001111”,“00111011”

There is 2.471s between +CEREG: 5 and +CEREG: 4, but the T3324 is 30s and there should also be an inactivity time before the active time starts, right?

@mapart,

That is odd. What are the states of your DTR and WAKE lines when this happens? Can you also send the below?
at+cgmr
at+cpsms?
at+cedrxs?
at+cops?
at+kbndcfg?
at+ksleep?

To get a better snap shot state of the unit.

Regards

Matt

For sure it’s odd - and I think that this highlights the problem with using the same indication for the two different states.
Could this +CEREG: 4 mean anything other than out of coverage or entering hibernate?

This is version FW version 3.7 (the official) of the HL7800:

AT+CEDRXS=0
AT+KSLEEP=1,2,10
AT+CPSMS=1,00111010,00001111
AT+COPS = default - 0
+KBNDCFG: 0,00000000000000080080

EDIT:
DTR is not used and wake-up would be asserted after +CEREG: 5 until the end of sequence.

Regards

@mapart

I was hoping to get the actual responses from the unit, not what you are sending to it but I think I have got what I wanted to see out of it.

Can you try with the newer 4.3.9 firmware? There have been a lot for changes and improvements in the last 6 months since 3.7.2.3 was generated.

I would say that there is nothing else that would trigger the response other than the unit going into PSM mode, it is highly unlikely it is losing coverage right at that point (I am assuming it is consistently repeatable?), I am also assuming that you have reasonably good coverage/RSSI? To be sure we would need a layer 3 log file which would need to be taken through the second UART, do you have access?

Regards

Matt

Hi,

I’m still facing this issue with the FW 4.4.6:
This is an excerpt from my communication with the Hl7800. The application interfacing the modem is configured to send some pieces of data, then wait for either:

  1. Incoming data on the socket
  2. The modem enters hibernate

This output shows how our application falsely identifies the +CEREG: 4 as “the modem enters hibernate” when it in fact should be “out of coverage”.
How can I differentiate these two events WITHOUT relying on timing?

23553 - AT
23553 -
23554 - OK
23563 - AT+CREG?
23564 -
23565 - +CREG: 0,4
23566 -
23566 - OK
23573 - AT+KCNXCFG=1,“GPRS”,“”
23583 -
23583 - OK
23593 - AT+CGATT?
23595 -
23596 - +CGATT: 1
23596 -
23596 - OK
23605 - AT+KUDPCFG=1,0,53439,0,“XXX.XXX.XXX.XXX”,8899
23633 -
23634 - +KUDPCFG: 1
23635 -
23635 - OK
23642 -
23643 - +KCNX_IND: 1,1,0
25659 -
25660 - +KUDP_IND: 1,1
25669 - AT+KUDPSND=1,47
25682 -
25683 - CONNECT
25702 -
25702 - OK
26473 -
26474 - +CEREG: 5,“0007”,“0189F216”,7,“00000100”,“00111000”
28474 -
28475 - +CEREG: 4,“00000100”,“00111000”
28481 - AT+KUDPCLOSE=1
28487 -
28488 - OK
28785 -
28786 - +CEREG: 5,“0007”,“0189F216”,7,“00000100”,“00111000”

Regards
Martin

Hi,
I can see this happening quite often.
Any ideas of how I can work-around this problem?

Best regards