NRF9151DK autonomous resets when simultaneously starting LTE connection and GPS on modem FW 2.0.2

I have updated a board (NRF9151DK) from modem FW 2.0.1 to 2.0.2. The board is also equipped with nrf7002-EK, and the support for the wifi driver is enabled (SB_CONFIG_WIFI_NRF70, SB_CONFIG_WIFI_NRF70_SCAN_ONLY, haven't verified if this makes a difference).

The previous version of the application works fine, in which we initialize the modem at startup, and simultaneously initiate an LTE connection and activate the internal GPS. On the new 2.0.2 firmware, this simultaneous action results in an autonomous reset, which can be fixed by e.g. adding a 100msec sleep before activating the internal gps. The same problem occurs on other devkits too (observed on 2 out of 2).

I mainly want to notify you of this difference, because I'll not be the only person suffering from this. I leave it up to you to consider if a fix is possible.

I can try out alternative solutions if necessary.

Best regards,

Sebastiaan

Parents Reply
  • The reset reason seems to be watchdog. Verified by nrfx_reset_reason_get and hwinfo_get_reset_cause function.

    Indeed, watchdog is enabled. But it's initialized with a task configured with a timeout of 5 seconds, whereas the device resets way faster than 5 seconds. I've made sure that watchdog init and feeding is started before anything else, but that doesn't help anything.

    It seems to me that GPS initialization tampers with the watchdog and that results in a reset, that's the best conclusion I can draw so far. Removing the main task from watchdog control (so that there's no task whatsoever under WD control), or not initializing the watchdog at all seems to prevent the issue, but that's not sufficient.

    BTW I also have a callback registered to the watchdog, which should print if it expires (in the normal way, this has been verified) and that print is also not taking place.

    If you want, I could try to strip down my code to a bare minimum and share it? I'm not new to using NRF91, but this seems like a strange problem and I don't think it's due to my code.

Children
Related