NB-IOT not connecting on nrf9161 DK

Hi, 

I have been having quite a lot of issues around connectivity and my device, all of which at this point has stemmed from MNO blocking activity from MVNO's (here and here). 

I have LTE-M working when in an areas which supports it, however, i cant ever seem to connect to the NB-IOT networks despite all my efforts. I would very much appreciate walking through the steps i have taken to check if there is anything that i am not thinking of. 

1. After booting up AT_CLIENTI have ensured that there is a nbiot network in my area: 

> AT+COPS=?
+COPS: (1,"","","21901",9),(1,"","","21910",9)

Am i right in thinking the 9 denotes the network is nbiot?

2. I have ensured my system mode allows for nbiot
> AT%XSYSTEMMODE?
%XSYSTEMMODE: 0,1,1,0


3. I checked the sim im using, and it has nbiot where i currently am situated (Croatia)


4. After no luck, i checked some posts (here) and opted in for legacy PCO instead of ePCO (i did this with CFUN=0 then went to CFUN=1)
> AT%XEPCO=0
OK


After considerable time, the network is still not connected as shown here:
> AT+CEREG?
+CEREG: 0,2


In cellular monitor, the activity status is: "Not registered, attaching or searching". 

Below is my trace file:
trace-2024-09-02T23-02-48.261Z.mtrace

Any help or just suggestions of what to check next would be greatly appreciated. 

SDK Version: v1.6.1
Sim card: Emify (same behaviour on Onomondo too)
Location: Croatia, Dubrovnik (Same has occured in Edinburgh)
Board: NRF9161 DK

Thank you :)

  • Hi,

    You could look at COPS set command. Based on the nRF9160 AT Commands Guide v2.4, COPS set command has 4 parameters which you can choose. For example, you could use it like this for NB-IoT

    AT+COPS=1,2,"21901",9

    According to documentation, the command configuration is stored in NVM approximately every 48 hours and when the modem is set to minimum functionality mode with the +CFUN=0 command.

    Best regards,
    Dejan

  • Hi Dejan,

    Thanks for getting back to me. After trying to set the COPS, I got this. I also tried AWS sample and could not get access to internet too. 

    > AT+COPS=1,2,"21901",9
    
    OK
    > AT+CFUN=0
    
    OK
    > AT+CEREG?
    
    +CEREG: 0,4
    
    OK
    
    > AT+CFUN=1
    
    OK
    > AT+CEREG?
    
    +CEREG: 0,4
    
    OK
    > AT+CEREG?
    
    +CEREG: 0,2,"0CEE","0868235C",9
    
    OK
    
    ** AFTER over 10m waiting**
    
    > AT+CEREG?
    
    +CEREG: 0,2,"0CEE","0868235C",9
    
    OK

    I've attached the cell monitor screenshot below:


    Also, here is the wireshark PDF - note the "DLInformationTransfer-NB, Attach reject (PLMN not allowed)". Could this be the error? :

    wireshark_sharkfin-gcjnvzvmst8T4NT2.pcapng.pdf

    Any other ideas, please let me know - very much appreciate the help Slight smile

  • Hi,

    You can look at AT+CEREG set command (nRF91x1 Cellular AT Commands) and try to set it to value 4 or 5. This should provide more information about the reject cause in your case.
    You could also try to set automatic network selection mode (code 0) in the +COPS command.

    Best regards,
    Dejan


  • Hi Dejan, 

    Thanks for those tips. 

    After setting AT+COPS=0, I managed to register to the network Slight smile.

    +CEREG: 5,5,"9D6C","000FA3B6",9,,,"11100000","11100000"

    One of the reasons why i had not explored doing that more was this article: here

    When trying the AWS IOT core, with no changes except for adding in my broker and clientIDs (+certs), I am unable to access the network still. I am guessing this is because the code is not using the AT+COPS=0 command. Any idea how I should proceed. Should I hardcode a COPS=0 in the AWS library somewhere? 

    Thanks again for your continued help. 

    Kind regards, 
    Sam

  • Hi Sam,

    HoovinSchoovin said:
    When trying the AWS IOT core, with no changes except for adding in my broker and clientIDs (+certs), I am unable to access the network still. I am guessing this is because the code is not using the AT+COPS=0 command. Any idea how I should proceed. Should I hardcode a COPS=0 in the AWS library somewhere?

    Do you have a log which you could share?

    Best regards,
    Dejan

Related