This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Modem open after ended transmission

Dear Devzone

I have an NB-IoT application running on a Thingy:91, that wakes up every two minutes and sends a small package over TCP to a remote server.  
I'm using a Keithley DMM6500 to measure the current consumption, and from that it is clearly visible that the modem doesn't not power down after sending the data. The current consumption is high (~30+mA) for at least 20 seconds after transmission has been completed. This of course ruins the average current consumption.
I have tried using different Power Saving Modes (PSM) with an active time as low as possible (a couple of seconds). The PSM mode is accepted by the network, but does not change the described behaviour. I have also tried different network vendors but without success.

I see similar behaviour when using the Asset Tracker example project.

Is this intended behaviour?

Modem firmware: 1.1.0

Best Regards, Andreas (Thireo)

Parents
  • Hi,

     

    The current consumption is high (~30+mA) for at least 20 seconds after transmission has been completed

    PSM has two components, one requested TAU (the sleep period) and the requested active time (active time after TAU).

    The lowest period for both these are different for every network provider. In norway, I get this back from AT+CEREG? (enable PSM intervals by issuing AT+CEREG=5 first):

    +CEREG: 1,"76C1","014A0305",7,,,"00100001","00000110"

    *edit: this was initially parsed wrong, as I read CEREG return Active time as TAU (and vice-versa)* 

    Incorrect parsing:

    This translates to 1 hour sleep (001 00001 -> GPRS timer 3), and 6 seconds (000 00110 -> GPRS timer 2) of active time after TAU.

    Correct parsing:

    +CEREG: 1,"76C1","014A0305",7,,,"00100001","00000110"

    00100001 is the active time, 001 = minute, 1 * 1 minute is your active time.

    00000110 is the TAU (sleep period), 000 = 10 minutes, 10 min * 6 = 1 hour, is the sleep period.

    *edit finished*

    If you have a larger active time, try to request a lower active time by setting "CONFIG_LTE_PSM_REQ_RAT="00000110"" in your prj.conf file.

    This will then request 6 seconds, but note that this is ultimately driven by the network, so be sure to check your returned PSM intervals using AT+CEREG=5 and AT+CEREG?.

     

    Kind regards,

    Håkon

  • Hi Håkon

    The requested TAU is set to two minutes (0b10000100) and active time is set to 6 seconds (0b0000011). Both have been confirmed and acknowledged by the network. By polling AT+CEREG and by enabling LTE_LINK_CONTROL_LOG_LEVEL_DBG in Zephyr.

    The Thingy:91 is located in Denmark and is using a Telia/Telenor NB-IoT SIM-card provided. They have also confirmed that no restrictions are set for PSM on their network.

    Best regards,
    Andreas

  • Do you have a detailed view of the current consumption? TCP will do a 3-way handshake, and nb-iot is not the speediest transport layer, so it would be interesting to see if there's any TX peaks.

    Could you try to set the PSM RPTAU (sleep) interval higher, let's say 30 minutes? If you set 2 minutes, and start an application timer of 2 minutes, you might get into a scenario where the application timer drifts in time (lets say 2 minutes and 10 sec), where you get two TAU back-to-back.

    To avoid this scenario, a workaround is to set the PSM high. Or set the application timer below the PSM TAU interval.

     

    Kind regards,

    Håkon

  • Hi again

    I had some trouble getting the data from the measuring unit. But it seems you may be right regarding the TX peaks. The picture below depicts the modem idle current of ~30mA, a TX peak and afterwards the modem off period. The measurement was done with the PSM RPTAU set to 1 hour.

    Best regards,
    Andreas

Reply Children
Related