nRF7002 disconnecting when power save is disabled.

Hi!

We're testing nRF7002 with the nRF7002-DK and NCS v3.0.2.

CONFIG_NET_ZPERF=y has been added to the nrf/samples/wifi/shell/prj.conf, the rest is untouched.

Running that sample, we connect the board to a dedicated Ubiquity Unifi 6 LR AP running the latest OpenWrt. We connect it with the "wifi connect" command. This works fine.

We also want to turn off power saving mode, so we run "wifi ps off". After that it takes about one minute then the connection goes down:

uart:~$ wifi ps off
Power save disabled
[00:34:03.625,946] <inf> wifi_nrf: RPU recovery: 1
[00:34:03.640,716] <inf> wifi_supplicant: Network interface 1 (0x20001508) down
[00:34:05.683,410] <inf> wifi_nrf: Configuring SLEEP CTRL GPIO control register

[00:34:05.813,720] <inf> wifi_supplicant: Network interface 1 (0x20001508) up

After this the interface is down and power save is turned on:
uart:~$ wifi status
Status: successful
==================
State: DISCONNECTED
uart:~$ wifi ps
PS status: Power save enabled
...


We have to run wifi connect again to get it to reconnect to the AP.

We don't care about power usage, we want maximum performance in the network, that's why we turn off ps.

Are we doing something incorrectly?

Parents
  • Hi,

    This looks to be caused by RPU recovery timeout 

      

    This log aboveis triggered if RPU is unresponsive or can't enter low-power state as expected. 

    "> CONFIG_NRF_WIFI_RPU_RECOVERY_PS_ACTIVE_TIMEOUT_MS: This sets a timeout in milliseconds after which the RPU recovery mechanism will be triggered if the device remains in an active (non-power-save) state. This is used to ensure the RPU attempts to enter power save mode in case of inactivity. If power save is disabled, the device stays in active mode, and after the configured timeout (often around 60 seconds), the recovery mechanism may be triggered, causing the interface to go down and up, resulting in a disconnect from the network Wi-Fi driver Kconfig configuration. When the RPU recovery is triggered, the interface is reset (down and up), and the application is responsible for reestablishing the network connection Wi-Fi STA sample: RPU recovery.

    >RPU recovery is triggered in this case because the nRF7002 remains in the active (non-power-save) state for longer than the configured timeout. According to the driver documentation, the CONFIG_NRF_WIFI_RPU_RECOVERY_PS_ACTIVE_TIMEOUT_MS Kconfig option sets a timeout (in milliseconds) after which the RPU recovery mechanism will be triggered if the RPU does not enter power save mode. This is designed to ensure the RPU attempts to enter power save mode in case of inactivity. When you disable power save, the device stays active, and after the timeout expires, the recovery mechanism is activated, causing the interface to go down and up, resulting in a disconnect Wi-Fi driver Kconfig configuration. So, in summary: RPU recovery is triggered because the RPU stays in active mode (with power save disabled) longer than the allowed timeout, as defined by the driver's configuration."

    CONFIG_NRF_WIFI_RPU_RECOVERY_PS_ACTIVE_TIMEOUT_MS is set to 50s by default so this matches the window you're describing.

    Disabling RPU recovery through CONFIG_NRF_WIFI_RPU_RECOVERY=n should fix the timeout.

    Kind regards,
    Andreas

Reply
  • Hi,

    This looks to be caused by RPU recovery timeout 

      

    This log aboveis triggered if RPU is unresponsive or can't enter low-power state as expected. 

    "> CONFIG_NRF_WIFI_RPU_RECOVERY_PS_ACTIVE_TIMEOUT_MS: This sets a timeout in milliseconds after which the RPU recovery mechanism will be triggered if the device remains in an active (non-power-save) state. This is used to ensure the RPU attempts to enter power save mode in case of inactivity. If power save is disabled, the device stays in active mode, and after the configured timeout (often around 60 seconds), the recovery mechanism may be triggered, causing the interface to go down and up, resulting in a disconnect from the network Wi-Fi driver Kconfig configuration. When the RPU recovery is triggered, the interface is reset (down and up), and the application is responsible for reestablishing the network connection Wi-Fi STA sample: RPU recovery.

    >RPU recovery is triggered in this case because the nRF7002 remains in the active (non-power-save) state for longer than the configured timeout. According to the driver documentation, the CONFIG_NRF_WIFI_RPU_RECOVERY_PS_ACTIVE_TIMEOUT_MS Kconfig option sets a timeout (in milliseconds) after which the RPU recovery mechanism will be triggered if the RPU does not enter power save mode. This is designed to ensure the RPU attempts to enter power save mode in case of inactivity. When you disable power save, the device stays active, and after the timeout expires, the recovery mechanism is activated, causing the interface to go down and up, resulting in a disconnect Wi-Fi driver Kconfig configuration. So, in summary: RPU recovery is triggered because the RPU stays in active mode (with power save disabled) longer than the allowed timeout, as defined by the driver's configuration."

    CONFIG_NRF_WIFI_RPU_RECOVERY_PS_ACTIVE_TIMEOUT_MS is set to 50s by default so this matches the window you're describing.

    Disabling RPU recovery through CONFIG_NRF_WIFI_RPU_RECOVERY=n should fix the timeout.

    Kind regards,
    Andreas

Children
No Data
Related