Roaming SIM card from Soracom sluggish on NB-IoT

Hi,

If I use a roaming Soracom SIM card in NB-IoT mode and with asset_tracker_v2 application, without doing anything fancy, it will take a very long time, over 4 minutes, to connect to an LTE network. But I found Soracom's web page https://www.soracom.io/blog/sim-activation-cellular-modem-fix/. That has given me hints to add

CONFIG_LTE_LOCK_BANDS=y
CONFIG_LTE_LOCK_BAND_MASK="1000"  #band 4

or

CONFIG_LTE_LOCK_PLMN=y
CONFIG_LTE_LOCK_PLMN_STRING="310260" #MCC=Puerto Rico MNC=T-Mobile

or both and either one will greatly speed things up. I am in North Carolina: I do wonder if it is safe to send out units to various places in the US locking down the network like shown or if moving away from my house there will be problems. Do you have ideas about that?

My other question involves suggestion #3 in the Soracom document I linked to: 3. Allow the SIM to pre-cache network information by placing it into a device known to be more efficient at searching. Once it’s connected, the SIM will cache the network information, and will use that cached information to connect much faster when placed back into the original device.

Can you tell me how I can pre-cache network information or (in your opinion) what it is they are telling me to do? I do not see any evidence of "pre-caching" in the SIM: if I do nothing with the LOCK_BANDS or LOCK_PLMN, the system will take 4 minutes to connect EVERY time I reboot--not just the first time like I would expect with caching.

Thanks very much.

Burt Silverman

  • Hi, 

    Have you been in contact with Soracom? 

    Can you provide some logs of the situation where this is happening. 

    This connection time is repeatable multiple times with same SIM card and and device? 

    Regards,
    Jonathan

  • Also,

    CFUN=0 should be a better option for some use cases. So if the tracker unit is moving all around then this will help improve time to connection in many cases. Be sure to not over use the command as it will wear out NVM. 

    If the tacker is only in one location, or is within a area there only the same network is used then locking like you have tested can be the better option. But if the device leaves the area it will not be able to find a new band to connect to as it is locked. 

    Then there is the %XCOUNTRYDATA that is some where in-between. It will help in many cases where deices stays whit in the same country. 

    Regards,
    Jonathan

  • Hi Jonathan,

    Thank you for the useful information regarding CFUN and %XCOUNTRYDATA.

    Regarding your questions, I have not been in contact with Soracom. I don't have any interesting logs, but I can say that the connection time is repeatable multiple times with the same SIM card. So, I guess there is no special SIM caching to automatically speed things up (as the connection time is repeatable and doesn't decrease), and no obvious way to change that from the asset tracker v2 application. I am going to assume that the techniques available to me are what you have presented here, unless you come up with anything else. Thanks again.

    Burt

  • Hi Burt,

    Don't have anything else to contribute with not extra logs or such to look at. My guess is that CFUN=0 is you best friend here. But if there is any issues or related questions feel free to ask and i will do my best to help. 

    Regards,
    Jonathan

  • Hi Jonathan,

    You have mentioned CFUN=0 especially in the case that the tracker unit is moving all around. Actually, our trackers are fixed position, but nevertheless I would like to understand how one would use CFUN=0 in the non fixed position case. Am I correct that you are describing something that is not built into the asset_tracker_v2 code? I am looking to have a clearer high level picture overall. Maybe pseudo code would help me.

    I understand that there are some commands like %XBANDLOCK, %XSYSTEMMODE, %XPTW, %XCOUNTRYDATA, +COPS, and %CSUS to which their configuration will be stored in NVM after +CFUN=0. But consider for example what I wrote earlier

    CONFIG_LTE_LOCK_PLMN=y
    CONFIG_LTE_LOCK_PLMN_STRING="310260"

    I think this bit of configuration causes +COPS to execute every time I power up the device. If instead, I made certain to store the configuration just once in NVM and on future power ups relied on the NVM settings, this would not speed up my connect time to LTE noticeably, would it?

    If I were to send you logs, what should I configure for that in prj.conf to be useful?

    That's all I can think of. Thanks.

    Burt

Related