SARA-R412 doesn't wake up in PSM mode

Hi, All
We found out the modem doesn’t wake up in PSM mode automatically. It only wakes up by Power button on a development board.

We successfully set up the T3412 and T3324 timers. As soon as the T3324 is expired the module goes to deep sleep and never wake up by itself.

It’s a strange behaviour because based on the UBX-16029218 manual. The modem wakes up as soon as the T3412 timer was expired, but it never happens, the modem is still slipping.

Can you help us fix this issue?

[12:49:10.195] rx: ATI
[12:49:10.244] tx: ATI
[12:49:10.244] tx:
[12:49:10.244] tx: Manufacturer: u-blox
[12:49:10.244] tx: Model: SARA-R412M-02B
[12:49:10.244] tx: Revision: M0.10.00 [Mar 28 2019 17:13:41]
[12:49:10.244] tx: SVN: 05
[12:49:10.245] tx: IMEI: 354679090xxxxxx
[12:49:10.245] tx:
[12:49:10.245] tx: OK
[12:49:17.069] rx: AT+UPSMR=1
[12:49:17.081] tx: A
[12:49:17.097] tx: T+UPSMR=1
[12:49:17.097] tx:
[12:49:17.097] tx: OK
[12:49:23.444] rx: AT+CPSMS=0
[12:49:23.467] tx: AT+CPSMS=0
[12:49:23.467] tx:
[12:49:23.467] tx: OK
[12:49:29.139] rx: AT+CFUN=15
[12:49:29.166] tx: AT+CFUN=15
[12:49:29.166] tx:
[12:49:29.166] tx: OK
[12:49:29.339] tx:
[12:49:29.339] tx: +UUPSMR: 0
[12:49:29.405] tx:
[12:49:29.472] tx:
[12:49:33.902] tx:
[12:49:33.902] tx: +UUPSMR: 0
[12:49:36.184] tx:
[12:49:36.184] tx: +CSCON: 1
[12:49:42.320] rx: AT+CPSMS=1
[12:49:42.346] tx: AT+CPSMS=1
[12:49:42.362] tx:
[12:49:42.362] tx: OK
[12:49:49.043] rx: AT+CFUN=15
[12:49:49.069] tx: AT+CFUN=15
[12:49:49.069] tx:
[12:49:49.069] tx: OK
[12:49:49.438] tx:
[12:49:49.438] tx: +UUPSMR: 0
[12:49:49.488] tx:
[12:49:49.563] tx:
[12:49:53.961] tx:
[12:49:53.961] tx: +UUPS
[12:49:53.988] tx: MR: 0
[12:49:56.258] tx:
[12:49:56.258] tx: +CSCON: 1
[12:50:00.108] rx: AT+CSCON=1
[12:50:00.133] tx: AT+CSCON=1
[12:50:00.133] tx:
[12:50:00.133] tx: OK
[12:50:07.112] rx: AT+UPSMR=1
[12:50:07.136] tx: AT+UPSMR=1
[12:50:07.136] tx:
[12:50:07.136] tx: OK
[12:50:13.179] rx: AT+UCPSMS?
[12:50:13.206] tx: AT+UCPSMS?
[12:50:13.206] tx:
[12:50:13.206] tx: +UCPSMS:1,“01101000”,“00000011”
[12:50:13.206] tx:
[12:50:13.206] tx: OK
[12:50:18.859] rx: AT+URAT?
[12:50:18.883] tx: AT+URAT?
[12:50:18.883] tx:
[12:50:18.883] tx: +URAT: 7
[12:50:18.883] tx:
[12:50:18.883] tx: OK
[12:50:23.963] rx: AT+CEDRXS?
[12:50:23.988] tx: AT+CEDRXS?
[12:50:23.988] tx:
[12:50:23.988] tx: +CEDRXS: 2,“0010”
[12:50:23.988] tx: +CEDRXS: 4,“0010”
[12:50:23.988] tx:
[12:50:23.988] tx: OK
[12:50:28.356] rx: AT+CEDRXRDP
[12:50:28.380] tx: AT+CEDRXRDP
[12:50:28.407] tx:
[12:50:28.407] tx:
[12:50:28.407] tx: +CEDRXRDP: 0
[12:50:28.407] tx:
[12:50:28.407] tx: OK
[12:50:33.375] rx: AT+USVCDOMAIN?
[12:50:33.400] tx: AT+USVCDOMAIN?
[12:50:33.400] tx:
[12:50:33.400] tx: +USVCDOMAIN: 2
[12:50:33.400] tx:
[12:50:33.400] tx: OK
[12:50:39.611] rx: AT+CEREG=2
[12:50:39.637] tx: AT+CEREG=2
[12:50:39.637] tx:
[12:50:39.637] tx: OK
[12:50:44.448] rx: AT+CEREG?
[12:50:44.473] tx: AT+CEREG?
[12:50:44.473] tx:
[12:50:44.473] tx: +CEREG: 2,5,“14E”,“5388B07”,7
[12:50:44.473] tx:
[12:50:44.473] tx: OK
[12:50:51.571] rx: AT+CREG=2
[12:50:51.597] tx: AT+CREG=2
[12:50:51.597] tx:
[12:50:51.597] tx: OK
[12:50:56.393] rx: AT+CREG?
[12:50:56.417] tx: AT+CREG?
[12:50:56.417] tx:
[12:50:56.417] tx: +CREG: 2,5,“FFFE”,“5388B07”,7
[12:50:56.417] tx:
[12:50:56.417] tx: OK
[12:50:58.638] tx:
[12:50:58.638] tx: +CSCON: 0
[12:51:02.262] rx: AT+UMNOPROF?
[12:51:02.303] tx: AT+UMNOPROF?
[12:51:02.303] tx:
[12:51:02.303] tx: +UMNOPROF: 100
[12:51:02.303] tx:
[12:51:02.303] tx: OK
[12:51:12.658] rx: AT+UBANDMASK?
[12:51:12.684] tx: AT+UBANDMASK?
[12:51:12.684] tx:
[12:51:12.684] tx: +UBANDMASK: 0,524420,1,52
[12:51:12.701] tx: 4420
[12:51:12.701] tx:
[12:51:12.701] tx: OK
[12:51:25.901] rx: AT+CPSMS?
[12:51:25.928] tx: AT+CPSMS?
[12:51:25.928] tx:
[12:51:25.929] tx: +CPSMS:1,“01100000”,“00000000”
[12:51:25.929] tx:
[12:51:25.929] tx: OK
[12:51:31.742] rx: AT+UCPSMS?
[12:51:31.768] tx: AT+UCPSMS?
[12:51:31.768] tx:
[12:51:31.768] tx: +UCPSMS:1,“01101000”,“00000011”
[12:51:31.768] tx:
[12:51:31.768] tx: OK
[12:51:36.770] rx: AT+CSQ
[12:51:36.801] tx: AT+CSQ
[12:51:36.801] tx:
[12:51:36.801] tx: +CSQ: 25,99
[12:51:36.801] tx:
[12:51:36.801] tx: OK
[12:51:48.869] tx:
[12:51:48.869] tx: +CSCON: 1
[12:51:49.011] tx:
[12:51:49.011] tx: +UUPSMR: 1
[12:51:49.039] tx:
[13:03:52.704] rx:
[13:03:55.507] tx:
[13:03:59.909] tx:
[13:03:59.909] tx: +UUPSMR: 0
[13:04:00.406] tx:
[13:04:00.406] tx: +CSCON: 1
[13:04:03.772] tx:
[13:04:03.772] tx: +CSCON: 1
[13:04:08.524] rx: AT+CPSMS=0
[13:04:08.550] tx: AT+CPSMS=0
[13:04:08.550] tx:
[13:04:08.550] tx: OK
[13:04:14.745] rx: AT+CFUN=15
[13:04:14.782] tx: AT+CFUN=15
[13:04:14.782] tx:
[13:04:14.782] tx: OK
[13:04:14.961] tx:
[13:04:14.961] tx: +UUPSMR: 0
[13:04:15.016] tx:
[13:04:15.070] tx:
[13:04:19.476] tx:
[13:04:19.476] tx: +UUPSMR: 0
[13:04:21.783] tx:
[13:04:21.783] tx: +CSCON: 1
[13:04:29.217] rx: AT+CPSMS=1,“01110000”,“00001010”
[13:04:29.258] tx: AT+CPSMS=1,“01110000”,“00001010”
[13:04:29.258] tx:
[13:04:29.258] tx: OK
[13:04:34.836] rx: AT+CFUN=15
[13:04:34.863] tx: AT+CFUN=15
[13:04:34.863] tx:
[13:04:34.863] tx: OK
[13:04:35.021] tx:
[13:04:35.021] tx: +UUPSMR: 0
[13:04:35.085] tx:
[13:04:35.154] tx:
[13:04:39.560] tx:
[13:04:39.560] tx: +UUPSMR: 0
[13:04:41.869] tx:
[13:04:41.869] tx: +CSCON: 1
[13:04:45.589] rx: AT+UCPSMS?
[13:04:45.602] tx: AT+UCPSMS?
[13:04:45.618] tx:
[13:04:45.618] tx: +UCPSMS:1,“01110000”,“00001010”
[13:04:45.618] tx:
[13:04:45.618] tx: OK
[13:04:56.405] rx: AT+CEREG=2
[13:04:56.426] tx: AT+CEREG=2
[13:04:56.426] tx:
[13:04:56.426] tx: OK
[13:04:58.512] rx: AT+CEREG?
[13:04:58.537] tx: AT+CEREG?
[13:04:58.537] tx:
[13:04:58.537] tx: +CEREG: 2,5,“14E”,“5388B07”,7
[13:04:58.537] tx:
[13:04:58.537] tx: OK
[13:05:09.261] rx: AT+UCPSMS?
[13:05:09.286] tx: AT+UCPSMS?
[13:05:09.286] tx:
[13:05:09.286] tx: +UCPSMS:1,“01110000”,“00001010”
[13:05:09.286] tx:
[13:05:09.286] tx: OK
[13:05:14.211] rx: AT+CSQ
[13:05:14.242] tx: AT+CSQ
[13:05:14.242] tx:
[13:05:14.242] tx: +CSQ: 25,99
[13:05:14.242] tx:
[13:05:14.242] tx: OK
[13:05:44.547] tx:
[13:05:44.548] tx: +CSCON: 0
[13:05:44.653] tx:
[13:05:44.653] tx: +CSCON: 1
[13:05:44.795] tx:
[13:05:44.795] tx: +UUPSMR: 1
[13:05:44.808] tx:
[13:15:29.568] rx: AT
[13:15:32.984] rx: AT
[13:15:36.591] rx: AT

Hi,

In order to wake an R4 module from PSM, you must go through the power on sequence once again.

You can find the details here (section 1.6 p.23):

Basically, you need to pull the PWR_ON pin LOW and wait for the V_INT pin to go HIGH before returning the PWR_ON pin to HIGH. However, if the module is already on and awake, this will power off the module. The on / awake status can be read from the V_INT pin.

In Arduino the following labels are used:

  • PWR_ON -> SARA_R4XX_TOGGLE
  • V_INT -> SARA_STATUS

So basically, to wake from PSM you need to do the following:

  1. Check that the device has entered PSM already by checking level of SARA_STATUS (LOW == PSM)
  2. Set SARA_R4XX_TOGGLE to LOW.
  3. Wait for SARA_STATUS to read HIGH (this can take a few seconds).
  4. Set SARA_R4XX_TOGGLE to HIGH again.

We are working on adding this to the library but I can’t say when it will be ready.

Hi, Gabriel.

Thanks for your reply. The PWR_ON sequence is needed to wake up the module by pressing PWR button. The function perefectly works.
We have another issue, the module doen’t wake up by itself.
We setup the T3412 and T3324 timers. When the T3324 is expired the module goes to PSM mode and never go back by itself. We can push PWR button and the module wakes up.

Please, see the attached photo from the Sara integration manual page 16.
The “a” case works.
The “b” doesn’t work at all. Nobody can help us in this question.
If you have the same development board, please, check it.

For the condition ‘b’ scenario, the T3412 timer has expired. The module must now do a Tracking Area Update (TAU). So it returns to ‘Active’ performs the TAU and then in most cases returns immediately to Deep Sleep. The PSM cycles repeat continuously unless the settings are changed on the device or possibly by the network. After the initial connection the device waits until the T3324 timer expires before entering Deep Sleep. This does not ordinarily happen after a periodic TAU unless additional network activity occurs during that TAU.

Based on the above, I’m not sure what you are expecting for scenario ‘b’. Are you expecting PSM to operate in single shot mode? Also what timers are your requesting?

For the “b” scenario we are expecting periodic TAU and DeepSleep changes.
Once the T3324 expired the module goes to DeepSleep until the T3412 timer expires.
As soon as the T3412 timer expired the module need to wake up ( perform TAU) and stay in this active state for the T3324 time.
For example:
Value of the T3324 timer is 16s - active timer
Value of the T3412 timer is 32s - DeepSlep timer
So, an expected behavior is:
16s - active
32s - DeepSleep
16s - wake up and active
32s - DeepSleep
16s - wake up and active and so on…

In reality we have only one period of that sequence as you stated “one shot”. The module is still in active state for 16s and then goes to DeepSleep and never wakeup itself. It only wakes up if push the PWR button.

We request the both T3324 and T3412 timers

A couple of things to be aware of.

First the network must agree to the requested timers. The network can override the timers and even refuse the PSM request altogether. In my experience most networks do not allow very short T3412 timers, it is unlikely 32s is supported. Many networks require > 180m. You can see what the actual PSM timers are by querying +CPSMS?. Note that you will see your requested timers initially, and once the network has confirmed the PSM request, you will see the actual timers. You may want to run multiple queries up until the device enters deep sleep.

Secondly, the T3324 timer only runs during the first PSM cycle. After the T3412 timer expires, the device wakes up and does a Tracking Area Update and then immediately re-enters deep sleep. The time the device is active for is usually < 1s, but this can depend on network signal conditions.

If you are using PSM, you should consider the device registered on the network, but unreachable. The device however, can at any point wake up from PSM early and initiate a connection and transmit data.

The normal flow of an application may do the following. After initial connection, the device requests PSM, after confirmation the modem waits until the T3324 expires and then enters deep sleep. The device is still connected and reachable from the network side while the T3324 is running. If the device is idle for longer than the T3412 timer, then the modem will wake up automatically perform a periodic TAU and return to deep sleep (no T3324 timer in this case). The device can wake the modem at will from PSM. When this happens the modem does an early TAU transmits and receives whatever data it needs to then starts a new PSM cycle. In this scenario the device will remain active for the T3324 timer before entering deep sleep again.