9160/LTE; no return from lte_lc_connect() and keeps resetting

Hi,

I'm having trouble with my custom 9160 board. It won't connect to LTE-M network and keeps resetting.

My prototype was developed using the 9160DK. I can connect to LTE-M network and send data to nrf Cloud. The combination is 9160 B1A, mfw 1.3.1, and NCS SDK1.7.1.

Now my custom board is using B0A silicon, with mfw 1.1.1. I have upgrade/downgrade between 1.1.1 and 1.3.1 multiple times. But that doesn't seem to make any difference.

My test code is simplified to like this:

LOG_INF("modem init");
lte_lc_register_handler(lte_lc_evt_handler);
err = lte_lc_init();
LOG_DBG("lte_lc_init(): %d", err);
err = lte_lc_connect();
LOG_DBG("lte_lc_connect(): %d", err);
LOG_INF("modem init done");

The log message looks like this:

00> I: modem init
00> D: Sending AT command to set system mode: AT%XSYSTEMMODE=1,0,1,0
00> D: System mode (4) and preference (0) configured
00> D: lte_lc_init(): 0
00> D: Sending AT command to set system mode: AT%XSYSTEMMODE=1,0,1,0

So it went through lte_lc_init(), but never returned from lte_lc_connect(). It will stays there for various amount of time, from a few seconds to a minute or so, then it resets.

Since this is a custom board, I try to figure out if any hardware issue could cause such problem. I assume lte_lc_connect() will search for the network and try to make a connection. The document says it has a timeout. I assume if it timed out, it should return from lte_lc_connect() with an error code? But it never returned and always resets after a while. Any possible explaination lte_lc_connect() could cause this? Or should I more look at hardware side? How can I get more debug information to troubleshoot this? I already set CONFIG_LTE_LINK_CONTROL_LOG_LEVEL_DBG=y.

The same code runs fine on the 9160DK and get connected in a few seconds.

Thanks!

  • We did find some hardware issues that might cause problem for RF receiving. We'll need to rework the board. Hopefully this can explain the periodic resets.

    Meanwhile the modem tracing also doesn't work for me. Doe sit require latest SDK (or at least newer than 1.5)? As soon as I enable CONFIG_NRF_MODEM_LIB_TRACE_ENABLED, I got a lot of errors. Some seem indicate it expects UART?

    Anyway I'll probably come back to this once we get reworked board.

  • Hi Bluebeam,

    bluebeam said:

    the periodic resets.

    Meanwhile the modem tracing also doesn't work for me. Doe sit require latest SDK (or at least newer than 1.5)?

    No, not necessarily the latest, modem trace is supported from a very early age of NCS. I can confirm NCS v1.5.0 and later versions are supported.

    bluebeam said:
    As soon as I enable CONFIG_NRF_MODEM_LIB_TRACE_ENABLED, I got a lot of errors. Some seem indicate it expects UART?

    Yes, it needs a dedicated UART port to export the modem trace data. You can refer to an nRF9160DK project for the configuration.

    Just let me know if you have any new findings with the reworked board. 

    Best regards,

    Charlie

Related