Issue with AT+CNMI on nRF9160

We are having an issue with 

This happens to us because we are using the NRF carrier library, and in the carrier library, when you are trying to power off the modem, the carrier library uses the NRF sms library to unregister the device from SMS notifications.  The code in sms.c executes the following modem command:

 

AT+CNMI=0,0,0,0

 

When it does that, the modem library replies with an odd error – error 196910 (decimal), which is undocumented.  This happens every time we try to shut down the modem (in an effort to save power).

I actually have distilled the problem down to a very small program that causes this same error, and it’s enclosed.  It turns out that command causes that error if you just run it from a very simple program.  I’m using SDK 2.6.2 (although this happens with 2.4.2 as well).  The problem occurs with our proprietary board as well as the DK – so it's easy replicate this problem on the nRD9160DK.

Here’s the output I get from the DK:

 

*** Booting nRF Connect SDK v3.5.99-ncs1-2 ***

[00:00:00.431,304] <inf> MAIN: ----------------------------------------------

[00:00:00.431,335] <inf> MAIN: Test program to demonstrate CNMI Issue!

[00:00:00.431,335] <inf> MAIN: ----------------------------------------------

[00:00:00.676,635] <inf> MAIN: LTE Initialization complete

[00:00:00.714,355] <inf> MAIN: Waiting for network...

[00:00:01.744,873] <inf> MAIN: LTE cell changed: Cell ID: 78800405, Tracking area: 22527

[00:00:01.812,866] <inf> MAIN: RRC mode: Connected

[00:00:03.287,811] <inf> MAIN: Network registration status: Connected - roaming

[00:00:03.287,994] <inf> MAIN: LTE Connected

[00:00:03.288,909] <inf> MAIN: PSM parameter update: TAU: 3240, Active time: -1

[00:00:03.288,909] <inf> MAIN: PSM parameter update: TAU: 3240, Active time: -1

[00:00:03.289,794] <err> MAIN: Error 196910 on modem command AT+CNMI=0,0,0,0

Although this isn’t necessarily a show-stopper – it doesn’t seem right that the NRF-supplied libraries (the carrier and sms libraries) should be making calls that cause error conditions – so I’m checking with to see if there’s any know solution to this.

A (very small) sample program that demonstrates the issue is attached.

Thanks!

CC

TestApp.zip

Related