nRF9160 NB-IoT Connectivity Issue in Dammam (Saudi Arabia)

Hi,

I am facing a strange NB-IoT connectivity issue with the nRF9160 in Dammam, Saudi Arabia.

Setup

  • SDK version: v2.5.0

  • Toolchain: nRF Connect for SDK VSCode Extension

  • Modem: nRF9160 

  • SIM type: NB-IoT SIM

  • Hardware:

    • Custom board using nRF9160

    • Also tested with nRF9160DK for comparison

Application/Test Used

I tested using the Nordic Developer Academy examples from:

Nordic Developer Academy - cell-fund examples

Specifically:

  • Exercise 3

  • Exercise 7

Observed Behavior

The setup works properly in Jeddah.

However, in Dammam the connectivity behavior is highly inconsistent:

  • Some days it connects within seconds

  • Some days it takes up to 1.5 minutes

  • Some days it does not connect at all - stays in searching

I also tested the exact same code on the nRF9160DK and observed the same behavior, so it does not appear to be related to the custom hardware.

Additional Information

  • SIM is configured for NB-IoT

  • Tested both:

    • LTE preference = Auto

    • LTE preference = NB-IoT only

  • Same behavior in both scenarios

Questions

  1. Has anyone seen similar regional/operator-specific NB-IoT behavior in Dammam?

  2. Are there recommended modem/network settings for unstable NB-IoT connectivity?

  3. Would modem trace logs help identify whether this is network attach related, coverage related, or operator related?

Additionally, it would be very helpful if someone could explain:

  • How to enable modem trace output on UART0

  • How to connect/use it with Cellular Monitor

Thanks.

Parents
  • Hi,

    Has anyone seen similar regional/operator-specific NB-IoT behavior in Dammam?

    Honestly I have no idea, what is happening. If it only appends recently, it might be some kind of jamming coming from the Iran border due to war. But keep in mind that this is just a very wild uneducated guess.

    Would modem trace logs help identify whether this is network attach related, coverage related, or operator related?

    Yes, if you can get some modem traces we should be able to pinpoint the issue more accurately. Please send us the raw modem traces (.mtrace or .bin) and tell us which modem firmware version you are using.

    How to enable modem trace output on UART0

    I made you a custom config and overlay files that enable the modem trace on UART0, but as it has to use the whole UART port, I redirected the "console" to another UART.

    custom_overlay-trace-uart0.overlay:

    / {
    	chosen {
    		nordic,modem-trace-uart = &uart0;
            zephyr,console = &uart2; /* feel free to change that value, but don't put it on the same UART as modem traces */
    	};
    };
    
    &uart0 {
    	status = "okay";
    	current-speed = <1000000>; /* Cellular monitor requires 1Mbps */
    };

    custom_overlay-trace-uart0.conf:

    CONFIG_NRF_MODEM_LIB_TRACE=y
    CONFIG_NRF_MODEM_LIB_TRACE_BACKEND_UART=y

    Rebuild your application with these files, and you should be able to get some traces from UART0.

    How to connect/use it with Cellular Monitor

    You can change the "modem trace serial port" directly in the application. Please see more information about the Cellular monitor application here.

    If you are still struggling to get the modem trace, feel free to reach out.

    Best regards,

    Simon D-M

Reply
  • Hi,

    Has anyone seen similar regional/operator-specific NB-IoT behavior in Dammam?

    Honestly I have no idea, what is happening. If it only appends recently, it might be some kind of jamming coming from the Iran border due to war. But keep in mind that this is just a very wild uneducated guess.

    Would modem trace logs help identify whether this is network attach related, coverage related, or operator related?

    Yes, if you can get some modem traces we should be able to pinpoint the issue more accurately. Please send us the raw modem traces (.mtrace or .bin) and tell us which modem firmware version you are using.

    How to enable modem trace output on UART0

    I made you a custom config and overlay files that enable the modem trace on UART0, but as it has to use the whole UART port, I redirected the "console" to another UART.

    custom_overlay-trace-uart0.overlay:

    / {
    	chosen {
    		nordic,modem-trace-uart = &uart0;
            zephyr,console = &uart2; /* feel free to change that value, but don't put it on the same UART as modem traces */
    	};
    };
    
    &uart0 {
    	status = "okay";
    	current-speed = <1000000>; /* Cellular monitor requires 1Mbps */
    };

    custom_overlay-trace-uart0.conf:

    CONFIG_NRF_MODEM_LIB_TRACE=y
    CONFIG_NRF_MODEM_LIB_TRACE_BACKEND_UART=y

    Rebuild your application with these files, and you should be able to get some traces from UART0.

    How to connect/use it with Cellular Monitor

    You can change the "modem trace serial port" directly in the application. Please see more information about the Cellular monitor application here.

    If you are still struggling to get the modem trace, feel free to reach out.

    Best regards,

    Simon D-M

Children
No Data
Related