nRF9160 GPS functionality broken after factory reset

We are using firmware 1.3.6 on the nRF9160. During testing, I ran into the reset loop restriction. To quickly get out of it, I issued a AT%XFACTORYRESET=0 command. (We are not using factory reset normally in the product we ship).

After that, the GPS cannot be activated anymore. AT+CFUN=31 returns ERROR.

I have attached the full trace of the startup sequence. Unfortunately the Cellular Monitor tool was no help in decoding it.gps-error.bin

The AT command sequence was as follows:

[00:00:02.547,424] <inf> nrf_modem_at: < AT+CGMR
[00:00:02.555,297] <inf> nrf_modem_at: > mfw_nrf9160_1.3.6
[00:00:03.380,706] <inf> nrf_modem_at: < AT%XMODEMTRACE=1,2
[00:00:03.392,395] <inf> nrf_modem_at: > OK
[00:00:03.392,425] <inf> nrf_modem_at: < AT%MDMEV=1
[00:00:03.400,604] <inf> nrf_modem_at: > OK
[00:00:03.400,726] <inf> nrf_modem_at: < AT%XMAGPIO=1,1,1,6,0,880,915,1,832,862,2,925,960,3,791,821,5,1710,1880,7,1574,1577
[00:00:03.409,240] <inf> nrf_modem_at: > OK
[00:00:03.451,049] <inf> nrf_modem_at: < AT+CFUN=31
[00:00:03.461,944] <inf> nrf_modem_at: > ERROR

I have tried another factory reset, with no success.

The hardware revision is SICA BQA.

Parents Reply Children
  • It was indeed the system mode. We have a Frankenstein architecture with the main application (and Zephyr network stack) running on an nRF53, which communicates with the nRF91 over SPI, relaying AT commands and socket operations.

    We were missing the code in nrf/lib/lte_link_control/lte_lc_modem_hooks.c

    One way to fix this is to insert the following code somewhere on the nRF53:

    STRUCT_SECTION_FOREACH(nrf_modem_lib_init_cb, e) {
        e->callback(0, e->context);
    }

    But we decided to just call lte_lc_system_mode_set() with the desired parameters.

Related