in some conditions, device does not try to change RAT type to maximize chance of connection

Hello,

we have developed an application using nrf9160.

We have set the nrf9160 as LTE-M + nbiot with preference for nbiot.

We have noticed that, in some countries, nbiot is present BUT operator is not allowing the radio to register into the network. This happens, for instance, because no roaming agreement is set.

In such condition, device attaches to multiple cells and repeatedly gets rejected. RAT type changes between 9 (nbiot) and 0 multiple times in a minute.

In this case, device is never attempting to connect to LTE-M even if the netowrk is present.

Can you please explain this behaviour?

Thanks much,

Marco

  • > how are you extracting home PLMN list?

    That's done using AT+CRSM commands.

    > how can you know the provider from the CEREG notification, which is just telling TAC and CID?

    That's something I asked a month ago, see nRF9160, mfw 1.3.5, CEREG with rejection, how could the PLMN be determined? Unfortunately, Nordic Modem doesn't provide this information to the users.

    What you may try is to use "lte_lc_neighbor_cell_measurement". But you need to wait until the modem gets idle (+CSCON: 0). With that you get a list as:

    [ 0]: plmn 26201, tac 67b9, cell 01CC2B03, earfnc  6400, pid 206, rsrp  -89 dBm, rsrq  -7 dB
    [ 1]: plmn 26203, tac e936, cell 01656201, earfnc  6200, pid 151, rsrp  -93 dBm, rsrq  -9 dB
    [*2]: plmn 26201, tac 67b9, cell 01CC2B00, earfnc  1300, pid 438, rsrp -101 dBm, rsrq -10 dB
    [ 3]: plmn 26201, tac 67b9, cell 01CC2B06, earfnc  1444, pid 270, rsrp -102 dBm, rsrq -11 dB
    [ 4]: plmn 26202, tac b982, cell 031D7801, earfnc  6300, pid 197, rsrp -104 dBm, rsrq -13 dB

    Anyway, I guess the first thing to do is to find out, if your SIM card is one with multiple IMSIs. TruPhone is using such SIM cards, and Flo.Live as well. So either ask your provide or frequently read the IMSI with "AT+CIMI" and compare that with the previous one. That may also help to find the timeout of the SIM card to switch the IMSI. 

    There for sure also SIM card with only one IMSI.

    The point, why I guess, that your SIM card is one with multiple IMSIs is, that usually the modem remembers the rejects and do not retry that TAC. (It's not completely clear, I tried to also ask that here in the forum, %PERIODICSEARCHCONF - relation to EMM reject cause , but unfortunately the answer there is some "cannot really think of a situation where the application would need to know this". )

    It will get pretty interesting. if Nordic doesn't speed up in documenting the exact and detailed behavior of the modem. If the idea of "global-roaming" turns more and more out to be unrealistic (see ESM Error Code 50: type ipv4 only allowed (NRF91 Asset Tracker) ) Multi-IMSI SIM cards will play a more important role. But using them with the nRF9160 is quite complicated, even more complicated without that details documented ;-). So, I'm looking forward, if "global roaming" or "multi-imsi" will get more usage. 

  • Thank you Achim for the deep explanation. I will work to determine if our SIM is multi-IMSI. Bot I don't think this will be able to find out, if the SIM is connecting at first instance. In that case, I don't expect it to change IMSI. Isn't it?

    I will also ask to provider.

    One thing I honestly don't understand is about the LTE-M/nb-iot switch.

    On the documentation, it seems that once it was possible to lock radio on a single RAT and set another as FALLBACK (see https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/libraries/modem/lte_lc.html#connection-fallback-mode). But his seems now deprecated looking into the library files.

    Still, you can enable both with preference. But why the radio should not switch from one another if the provider rejects it? Does the radio expect that, only because nb-iot is there, then provider will allow to register?

    I think as well that Nordic should further elaborate on this point. Naeem can you help us?

    Thanks

  • > In that case, I don't expect it to change IMSI. Isn't it?

    Yes, if it connects fast with the current IMSI, it doesn't switch that.

    > But his seems now deprecated looking into the library files.

    In my experience, the old mechanism is replaced by the CONFIG_LTE_MODE_PREFERENCE

    CONFIG_LTE_MODE_PREFERENCE_AUTO
    CONFIG_LTE_MODE_PREFERENCE_LTE_M
    CONFIG_LTE_MODE_PREFERENCE_NBIOT
    CONFIG_LTE_MODE_PREFERENCE_LTE_M_PLMN_PRIO
    CONFIG_LTE_MODE_PREFERENCE_NBIOT_PLMN_PRIO

    and works very similar.

    > But why the radio should not switch from one another if the provider rejects it?

    It is switching, but, e.g. for CONFIG_LTE_MODE_PREFERENCE_LTE_M, it first checks all available networks for LTE-M, before it switches to NB-IoT. And these check takes a while. Using CONFIG_LTE_MODE_PREFERENCE_LTE_M_PLMN_PRIO is changing that to first checks "all prioritized"  and available networks for LTE-M, before it switches to NB-IoT. That's faster, but may be not fast enough.

    And usually, this approach is connecting to a network, it just takes some time.

    But using a mulit-IMSI is then changing that, because when the IMSI is changing, the search starts again and so the time to find a network with the "fallback RAT" may not be enough.

    But again, this is just a guess based on my experience.

  • Just in the case:

    The simplest solution, if your SIM card is no Multi-IMSI card, is to ensure, that the modem has enough time to switch and find a proper network. In my experience it usually takes mostly about 1-2 minutes to find a network. In cases, where quite a lot of networks with the wrong network type are available, that may slow down and so 10 minutes and more gets also realistic.

    Therefore the easiest approach would be to check that network search timeout and, if it's less than 10 minutes, try a larger one.

Related