nRF7002 Wi-Fi Random Disconnect After Long Runtime - Unable to Reconnect Until Power Cycle (Zephyr NCS v2.6.2)

Hardware Configuration

  • Wi-Fi Module: Fanstel module based on Nordic nRF7002
  • MCU: Nordic nRF5340
  • SDK: Nordic Connect SDK (NCS) v2.6.2
  • RTOS: Zephyr
  • Wi-Fi Security: WPA2 Personal
  • Cloud Communication:
    • TLS + HTTP
    • Secure WebSocket (WSS)

Software Architecture

Our application follows the workflow below:

  1. Connect to configured Wi-Fi network.
  2. Obtain Internet connectivity.
  3. Resolve server DNS.
  4. Establish a TLS connection.
  5. Perform required HTTP API calls.
  6. Close the TLS connection.
  7. Establish a secure WebSocket connection.
  8. Subscribe/register with the cloud.
  9. Wait for server commands.

HubStatus Cycle

Every 10 minutes (currently reduced to 2 minutes for stress testing), the following sequence is executed:

  1. Close WebSocket connection.
  2. Open TLS connection.
  3. Execute HubStatus HTTP APIs.
  4. Close TLS connection.
  5. Reconnect WebSocket.
  6. Continue waiting for commands.

A similar sequence is also executed whenever a command is received through the WebSocket, where the WebSocket is temporarily closed, HTTP APIs are executed over TLS, and then the WebSocket connection is re-established.

Test Duration

One of our production-like test devices was installed and connected to Wi-Fi.

Timeline:

  • Friday (~3:00 PM): Controller installed and connected successfully.
  • Friday (~8:00 PM): Cloud reported that the controller disconnected from Wi-Fi.
  • Entire weekend: Device never reconnected automatically.
  • Saturday: Nearby BLE functionality continued to work correctly, indicating that the firmware was still running.
  • Monday: Multiple attempts were made to reconnect the controller using the application.

Observed Behaviour

The controller goes through the normal Wi-Fi connection sequence as if it is connecting successfully, but eventually fails every time.

The device remains unable to reconnect.

However, after simply removing power for approximately 10 seconds and powering the controller back on:

  • Wi-Fi reconnects automatically within approximately 30 seconds.
  • Cloud connectivity resumes normally.

This behavior has been observed multiple times.

Additional Observations

  • BLE functionality continues working while Wi-Fi remains disconnected.
  • The firmware does not appear to crash.
  • Power cycling immediately restores Wi-Fi connectivity.
  • The issue only affects the Wi-Fi subsystem until reboot.
  • We suspect that the Wi-Fi driver, network stack, or internal socket state is getting stuck after long runtime.

Questions

  1. Are there any known issues in NCS v2.6.2 related to:
    • nRF7002 Wi-Fi reconnection
    • Long-running Wi-Fi sessions
    • TLS socket cleanup
    • DNS resolution
    • Socket exhaustion
    • Network interface state transitions
  2. Could this indicate that the Wi-Fi driver or network interface enters an unrecoverable state that only a reboot clears?
  3. Are there recommended APIs to completely reset the Wi-Fi interface or network stack without rebooting the MCU?
  4. Are there known fixes or patches in newer NCS releases for similar long-term Wi-Fi reconnection issues?

Any suggestions on debugging or identifying the root cause would be greatly appreciated.

Thank you.

Parents
  • Hi,

    The symptoms you describe are consistent with the nRF70 RPI (radio processing unit) entering a hung/unrecoverable state after extended runtime.

    The v2.6.2 release notes specifically include the following Wi-Fi driver additions that address related problems:

    • RPU watchdog recovery: "A new recovery feature through a watchdog timer with Kconfig-based timeout configuration to recover the nRF70 Series chip in case of any lockups."
    • Interface de-init stabilization: "Wi-Fi interface de-initialization path clean-up and stabilization."

    So this is a known issue.

    The watchdog can be enabled by setting CONFIG_NRF_WIFI_RPU_RECOVERY=y.

    If this does not solve your issue, you can try resetting the Wi-Fi interface without rebooting:

    net_if_down(iface);   // puts nRF70 into Shutdown state
    // optionally k_sleep a short delay
    net_if_up(iface);     // triggers RPU cold boot + re-init

    There are many improvements to the Wi-Fi stack in later versions of the SDK, including further fixes to interface state transitions and connection reliability. I recommend upgrading if possible.

    Best regards,
    Marte

Reply
  • Hi,

    The symptoms you describe are consistent with the nRF70 RPI (radio processing unit) entering a hung/unrecoverable state after extended runtime.

    The v2.6.2 release notes specifically include the following Wi-Fi driver additions that address related problems:

    • RPU watchdog recovery: "A new recovery feature through a watchdog timer with Kconfig-based timeout configuration to recover the nRF70 Series chip in case of any lockups."
    • Interface de-init stabilization: "Wi-Fi interface de-initialization path clean-up and stabilization."

    So this is a known issue.

    The watchdog can be enabled by setting CONFIG_NRF_WIFI_RPU_RECOVERY=y.

    If this does not solve your issue, you can try resetting the Wi-Fi interface without rebooting:

    net_if_down(iface);   // puts nRF70 into Shutdown state
    // optionally k_sleep a short delay
    net_if_up(iface);     // triggers RPU cold boot + re-init

    There are many improvements to the Wi-Fi stack in later versions of the SDK, including further fixes to interface state transitions and connection reliability. I recommend upgrading if possible.

    Best regards,
    Marte

Children
No Data
Related