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

nRF9160 modem stuck in searching

The modem on the nrf9160DK (modem fw v1.1.0) appears to get stuck in searching mode. It doesn't happen all the time, and I was able to create it with the following AT commands:

(I want to see registration status changes)
AT+CEREG=2
AT%XSYSTEMMODE=0,1,0,0
AT+CFUN=1
(after some time (minutes?) reports AT+CEREG: 2, ...)
(then I see no more +CEREG status reports and give up)
AT+CFUN=4
(wait a few seconds)
AT+CFUN? reports +CFUN: 4, so it seems to have taken the command
AT+CEREG? reports +CEREG: 0,2,"XXXX","XXXXXXXX",9

This all works just fine with %XSYSTEMMODE=1,0,0,0. After the AT+CFUN=4 completes it will report +CEREG: 0,0,...

I kind of expect the connect to work with either mode, as I have good reception from both AT&T and Verizon, but I'm more concerned that the modem appears to get in an *almost* unrecoverable state. Changing systemmode to 1,0,0,0 followed by AT+CFUN=1 returns to normal behavior.

If it helps in troubleshooting, the AT+CFUN=4 takes ~3 seconds in mode 1,0,0,0 and less than 1 sec in mode 0,1,0,0

This link describes a similar issue: https://devzone.nordicsemi.com/f/nordic-q-a/55154/lte-network-detected-but-never-connected

  • 1104.traces.zip

    includes logs+traces for successful catm1 connection and failed nbiot connection

  • Using the T-Mobile SIM when you try to connect on the LTE-M network, you are Roaming on the AT&T network.
    Using the T-Mobile SIM when you try to connect to the NB-IoT network you are not finding the T-Mobile network.

    Please check with T-Mobile if you have NB-IoT coverage in your area.

  • I am aware that I cannot connect to NB-IoT in my area. I'm OK with that. In fact, I am happy that I am not able to connect as I need to ensure my application functions in all cases. My concern is that things get wonky after the connection fails... AT+CEREG reports that it is still in searching mode (status 2). Additionally, all subsequent LTE-M connections take an inordinate amount of time (~80 seconds), and if I did NOT attempt NB-IoT connection, the LTE-M connection would succeed in <5 seconds.

    The current solution in my application is to reset the device after a NB-IoT connection fails. I can deal with that but it's not a good solution.

    I appreciate the support you have been providing, but after a month, I don't feel we are any closer to identifying what's happening. I don't know what is going on, but something doesn't seem right. I would appreciate a willingness from Nordic to accept that there something is maybe a little off. I'm even fine with guidance that tells me that I am doing something wrong, or that I should expect the results that I am seeing. Telling me repeatedly that NB-IoT is not connecting is not helping. I know that. Please help me so I can make a solid product.

  • Hi Mike,

    I followed the steps you mentioned in the direct message:

    1. Establish initial connect to cat-m1 (for me, it takes < 5 seconds from AT+CFUN=1)
    2. Disconnect AT+CFUN=4
    3. set systemmode to try nb-iot
    4. AT+CFUN=1 fails to connect as expected
    5. disconnect AT+CFUN=4 (This step was missing from your list)
    6. set systemmode to cat-m1
    7. Try to connect AT+CFUN=1

    I tried this several times and sometimes it takes longer times 

    UPDATE 

    Remember when you issue the command AT+CFUN=4 the modem will not save the last network settings/info in the modem flash (AT+CFUN=0 however will do this).
    So if you set the systemmode to nbiot and try to connect and issue the at+cfun=4 then power off/reset nrf9160 it will use the parameters saved in the flash when you turn on the modem to normal mode (AT+CFUN=1).

    If you have a successful connection with the network on CAT-m1 and issue the command AT+CFUN=0 it will save those network parameters in the modem flash.

    The configuration made with an AT command can 
    be stored to NVM memory using AT+CFUN=0 if the
    option is mentioned in the description of the command. 
    This is useful if the command relates to a permanent 
    hardware configuration, because it avoids the need to 
    give the command every time in the beginning of the application.

    and later on, you would issue the AT+CFUN=1 or resetting the device (and then issuing the AT+CFUN=1 command), the modem will use the last known parameters saved in its flash and search for the last known network/band etc. that worked --> which should connect you in seconds. 

    If it takes much longer times than e.g. 30 seconds that means that the modem does not find network right away through it's search algorithm and is checking each band available etc. one trick to decrease search time is to restrict bands to search on (use AT%XBANDLOCK) this will increase the speed of connection.


    From your comment: "The connection in the last step takes > 60 seconds (~90 if I remember correctly). it does successfully connect. All future cat-m1 connections take the 90-ish seconds to connect."

    I was not able to reproduce this. After a successful connection with cat-m1 and then issuing AT+CFUN=4 and then later on issuing the command AT+CFUN=1 it connected in seconds. Did this ON and OFF >10 times and it still connected in seconds.

    Note: I used modem firmware version 1.2.0 when I tested this,

    Please state which Modem Firmware version you are using.



    Best regards,
    Martin L.

Related