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

nrf9160 PSM and HPLMN search on roaming SIM cards

In our setup we are sending one CoAP message every hour. The transmission is set to be done at hh:00. Downstream communication is only required as a response to the upstream message. To keep power consumption as low as possible this seems to be a perfect case for PSM. Our setup wakes the chip on timer, sends the CoAP message, wait some time for the response and then goes into PSM sleep.

One issue we have identified is related to the HPLMN search period on roaming SIM cards. Since many IoT cards are roaming cards the "feature" of HPLMN search seems to have severe implications on power consumption. We've found that the HPLMN search takes up to 3 minutes and during this time power consumption is at a higher level. The search period is stored as a parameter in the USIM. Below is shown our findings regarding the EFHPPLMN from three IoT cards available in Sweden:

gsmctl -o
Tele2 IoT
gsmctl -A "AT+CRSM=176,28465,0,0,1"
+CRSM: 144,0,"0A"

gsmctl -o
Telia
gsmctl -A "AT+CRSM=176,28465,0,0,1"
+CRSM: 144,0,"05"

gsmctl -o
1nce.net
gsmctl -A "AT+CRSM=176,28465,0,0,1"
+CRSM: 144,0,"01"

Sending one CoAP message every hour requires an airtime at around 5 secs. If you use this setup with a 1nce card you will spend 2-3 minutes of airtime every 2nd hour searching for higher priorirty PLMN. Our conclusion is that most of the battery (>90%) will be used for a this.

So, if you use for example the Quectel BG96 you can disable  this behaviour with the following AT command:

AT+QNWCFG=“hplmnsearch_ctrl”,<0: disable 1: enable>

My question is: Is there a similiar workaround available for the nrf9160? Or should PSM mode not be used together with roaming cards? 

Related