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

  • Hi!

    1. I have forwarded this question and I'll let you know when I hear back.

    2. Yes, I believe it's possible to erase the configurations stored in NVM. I will check how to do this.

    3. You should only use AT+CFUN=0 when you want the current modem configurations to be stored. If that isn't necessary, then use AT+CFUN=4 instead. The flash also has a limited amount of reads and writes, so we recommend AT+CFUN=0 only when necessary. 

    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.

     It sounds like you are doing it correctly.

    4. I'm not sure if 60 seconds is a normal time to wait for signal notifications. I'll consult with the modem team and get back to you. 

    Best regards,

    Heidi

  • 1. Yes, this means the modem has completed the network search, but no available networks were found. 

    2. There is no way to erase the configurations store in NVM in the current modem FW releases. In the next MFW release there will be a setting to do this. 

    4. Searching is started immediately, but the modem will send +CEREG information after it has found a suitable cell for service and registration to the network has been performed, or it has searched whatever it is going to search without success. The time varies based on the current radio environment.

  • 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

  • Hi!

    So there are few scenarios where this 'not searching' can happen.

    • SIM init fails.
    • There is a fatal/permanent reject for LTE registration, e.g. #8 (EPS services and non-EPS services not allowed), or #3 (Illegal UE), etc.

    The above cases can happen occasionally, e.g. if the card can move in the reader, or due to some network issue. But these occasions should be quite rare.

    You're using a SIM card that has several profiles and is able to switch between those. What could be happening is that some of the location status events are not being forwarded from the modem to the SIM card and thus the SIM card is not able to perform a SIM refresh to change its profile and allow LTE registration. 

    If you're able to take a modem trace when the case you described happens we would be able to see this.

    Did you activate the unsolicited CEREG notifications before CFUN=1 was sent?

     

    Side note, there are many improvements in multi-profile SIM card functionality and AT+CEREG notifications in MFW v1.3.0, so I strongly advise you to update to the newest MFW release. If at all possible, a modem trace from the old and the new modem FW would be very interesting to see.

    Best regards,

    Heidi

  • Hi Heidi,

    Thank you for the reply. How would either of the scenarios that you outlined work when the device is coming out of airplane mode (CFUN=4)?

    Here is the initialization sequence we're using:

    AT+CPSMS=1,,,"01100000","00000000"
    AT+CGDCONT=0,"IP","eseye1"
    AT+CEREG=5
    AT%CESQ=1
    AT+CSCON=3
    AT+CNEC=24
    AT%XSIM=1
    AT+CFUN=1

    As you can see, we have the CEREG and CSCON messages enabled. Presumably we do not need to re-set these every time after coming out of Airplane mode.

    I was able to reproduce the issue on the devkit earlier today, but not with a trace running. I will attempt to do this overnight tonight.

    I understand that v1.3.0 is improved, and we do intend to move to that when possible. As it stands now, we do not currently have support for updating modem firmware OTA; that work is ongoing. We also need to make sure that all of the devices we've currently manufactured are supported by v1.3.0.

    Thank you,
    Jonathan

Related