HL7800 wake up issues

We cannot seem to solve it and get passed this.

The problem we have is when we put the HL7800 to sleep, and then wake it up again, We always have errors or no responses back from the module.

From my developer, here is the process we go through:

At firmware startup, I send a lot of configuration AT commands. But I think the relevant one, is about sleep/hibernate mode:

  • AT+CEDRXS=0 and I check for OK
  • AT+CPSMS=1 and I check for OK
  • AT+CEDRXS=1,4,5 and I check for OK
  • AT+KSLEEP=1,2 and I check for OK

After I send some other commands that pertain to the application. After the application is all done , I put the HL7800 to sleep with the WAKE pin. Then I wait for some seconds to simulate a period of nonuse.

After this period of non use, I will then wake the HL7800 with the WAKE pin

After it is awake (I wait for about 5 seconds) I then send an AT command, just to check if the modem is awake, but I got no answer at all..
And that is the problem we are having. Once we put the HL7800 to sleep, it will not respond properly when it wakes up.

note: all the commands are ended with “\n”.

If I comment out the sleep pin functionality, everything seems to work

Any ideas on how to solve this?
Is there a minimum time that the module needs to stay asleep before we can wake it up?
Any other ideas? Thanks.

Hi Rique,
Please don’t use PSM or CEDRX at the same time. Make sure that the network is supported CPSMS or CEDRX and then enable one of them.
If the device is in Hibernate mode, it takes some seconds to boot device (about 5-10s). After booting time, if the Wakeup pin is not asserted and the “delay” time is not configured with KSLEEP, device will enter to Sleep/Hibernate mode immediately, so you can not enter any command.
To set delay time: AT+KSLEEP=1,2,delay
For more details, please refer this document: https://source.sierrawireless.com/resources/airprime/application_notes_and_code_samples/airprime_hl7800_low_power_modes_application_note/#sthash.M3tZZVbt.dpbs

Thank you.
I modified it so we do not have both PSM and CEDRX at the same time. We are now only using PSM.
However, the problem still exists. We also added a delay time of 10 seconds to KSLEEP.
I made a simple test program with my microcontroller to allow me to switch on or off the WAKE pin of the HL7800 and test the functionality of the module.

What we are finding is, upon bootup, the module performs fine. We can talk to it and we can use it to send data to a server. After we sent our data to a server, we unset the Wakeup pin to put the module to sleep. It goes to sleep immediately.

However, after we assert the Wakeup pin, we can no longer speak to the HL7800.

We tried upgrading the firmware to the latest revision today to see if it will help but it does not.

I think I solved my own problem.

I discovered that when you go into Hibernate mode, it shuts down the VGPIO output.

I was using that output to feed into a level converter to convert the 2.5V to 1.8V logic levels. The WAKE signal was feeding through the level converter then to the HL7800.

When the hibernate mode shutoff the VGPIO 1.8V output to the level converter, I was left with no way to wake up the HL7800…

The workaround is to use Lite Hibernate mode for now.

One somewhat related question, in Hibernate and Lite Hibernate, is the last GPS coordinates remembered so we can fast fix onto the satellites when we switch to the GPS mode? Just curious.

Hi Rique,
Yes, that is the expectation for GPS in Lite/Hibernate, but at this latest firmware (4.5), it does not work as designed.
Hope it will be fixed in the next releases.