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

nRF9160 connectivity & configuration help

Hello,

We are working to improve our connectivity globally, and have some questions about how we might improve our firmware.

We are using the nRF9160 to connect via LTE-M (CAT-M1) using a SIM that allows us to roam across multiple networks. This SIM has a feature that allows it to rotate through several profiles in order to find a network that we can connect to.

The initialization of the nRF9160 modem (FW 1.2.0) is done via the following AT commands:

  • AT%CESQ=1
  • AT+CPSMS=1,,,"01100000","00000000"
  • AT+CSCON=3
  • AT+CNEC=24
  • AT%XSYSTEMMODE=1,0,0,0
  • AT+CGDCONT=0,"IP","[APN]"
  • AT+CEREG=5
  • AT+CFUN=1

Our questions are:

  1. What should we do about +CEREG status = 4 (“Unknown”)?
    Whilst the modem is searching and attempting to connect to a network (+CEREG: 2), we occasionally see +CEREG status messages indicating “Unknown” status.
    Example message: +CEREG: 4,"FFFE","FFFFFFFF",7,0,15,"11100000","11100000"
    Our question is what to do in this case? Is this an error, meaning we should try again (maybe turn the modem off, then on again), or should we just let the modem continue to search? Our interpretation of this above message is that the network search has completed, but no available networks were found (reject_cause=15, indicates “No suitable cells in tracking area”). Will the modem continue to search? We’ve also seen reject_cause=11 (“PLMN not allowed”) and have similar questions.
  2. Is it possible to do a factory reset for the modem?
    One thing that makes debugging difficult is that we aren’t sure what settings are stored/cached in the modem’s NVM. This makes it difficult to compare device behavior across multiple devices.
  3. When should we transition into AT+CFUN=0 and when should we transition to AT+CFUN=4?
    Several of the AT commands state that settings are written to NVM when transitioning to CFUN=0. Is there guidance on when it’s best to transition to off vs. airplane mode? Our approach has been to transition to airplane mode when we wish to save power, but when an unpredictable reset happens (via a user event), we want to be able to reasonably quickly connect to the network again.
  4. Why does it sometimes take about 60 seconds from CFUN=1 to the first status update message (example: %CESQ: 14,0,0,0 followed within 1 millisecond by +CEREG: 2,"0411","00EF090F",7,0,0,"11100000","11100000"). Is there something we can/should be doing to force the modem to begin searching immediately?

Any help would be appreciated!

Thank you,
Jonathan

Parents
  • Hi Heidi,

    Thank you for the responses! We are currently using modem firmware 1.2.0, and we run with this flow:

    • Modem is connected to the network.
    • We put the modem into flight mode: CFUN=4.
    • <Wait 60-120 seconds>
    • We put the modem back into search mode: CFUN=1.
    • We query CFUN, CEREG and CSCON every 10 seconds

    More often than not, the modem will connect to the network once we put it back into Normal functional mode. But sometimes this doesn't happen; the device remains in Normal mode, but never connects to the network, and seemingly never tries.

    In the case being discussed (CFUN=1, but no connection is ever made), the responses are like this (I've had it run for over a day, and the response is always the same):
    CFUN response: +CFUN: 1
    CEREG response: +CEREG: 5,0,"040A","00FE4611",7,0,0,"11100000","11100000"
    CSCON response: +CSCON: 3,0,7,4

    What I notice is that the CEREG query returns status 0 (not searching) after issuing the CFUN=1 command. As such, there are no notifications ever issued, and no connection will ever be made. This doesn't happen every time, but once it does happen, we never get out of this mode.

    Do you have any guidance on how to handle this?

    Thank you,

    Jonathan

Reply
  • Hi Heidi,

    Thank you for the responses! We are currently using modem firmware 1.2.0, and we run with this flow:

    • Modem is connected to the network.
    • We put the modem into flight mode: CFUN=4.
    • <Wait 60-120 seconds>
    • We put the modem back into search mode: CFUN=1.
    • We query CFUN, CEREG and CSCON every 10 seconds

    More often than not, the modem will connect to the network once we put it back into Normal functional mode. But sometimes this doesn't happen; the device remains in Normal mode, but never connects to the network, and seemingly never tries.

    In the case being discussed (CFUN=1, but no connection is ever made), the responses are like this (I've had it run for over a day, and the response is always the same):
    CFUN response: +CFUN: 1
    CEREG response: +CEREG: 5,0,"040A","00FE4611",7,0,0,"11100000","11100000"
    CSCON response: +CSCON: 3,0,7,4

    What I notice is that the CEREG query returns status 0 (not searching) after issuing the CFUN=1 command. As such, there are no notifications ever issued, and no connection will ever be made. This doesn't happen every time, but once it does happen, we never get out of this mode.

    Do you have any guidance on how to handle this?

    Thank you,

    Jonathan

Children
No Data
Related