nRF7002-DK Powering-off WiFi companion

Hello,

As working on the nRF7002-DK, I wanted to power off the nRF7002 in order to reduce power consumption.
What I wanted to do was : Start application -> Connect to WiFi -> Send data using TCP -> power off nRF7002 -> Wait -> power on nRF7002 -> Connect to WiFi .....

For this, I wanted to disable BUCK_EN and nRF7002_IOVDD_EN unfortunately i can't add those pins to my .overlay file in my project as they don't seem to have a compatible properties in the nordic,nrf7002.yaml in  nrf/dts/binding/wifi hence I can't find a way to define an alias for those pin.

Do anyone have an idea of how I could achieve controlling those pins or have another way to perform the sequence I'm trying to implement ?

Thanks,
Best regards

Parents Reply Children
  • Hello Håkon,

    Thank you for your reply.

    I guess I'll try to put the nRF7002 in sleep mode for now.

    Best regards

  • I just wanted to let you know;

    I have inputted this as a feature request internally, so hopefully placing the nRF7002 in the deepest sleep mode will be more seamless and user-friendly in the future.

     

    Kind regards,

    Håkon

  • IIUC, this behavior is now partially demonstrated in nRF Connect SDK "Wi-Fi Shutdown" sample https://github.com/nrfconnect/sdk-nrf/tree/main/samples/wifi/shutdown

  • Hello again, I have been experimenting with what you advised.

    Using the shutdown example (github.com/.../shutdown), I did not succeed in saving power as it does not change the nRF7002 voltage.

    I then used rpu_disable() and rpu_enable() thanks to the link you provided me with. It did turn off and turn on the nRF7002, but when turning off the nRF7002, I am presented with the following messages:

    [00:00:11.630,096] <err> wifi_nrf: hal_rpu_mem_write: Invalid memory address 0x88888888
    [00:00:11.630,157] <err> wifi_nrf: hal_rpu_msg_write: Copying information to RPU failed
    [00:00:11.630,187] <err> wifi_nrf: hal_rpu_cmd_process_queue: Writing command to RPU failed
    [00:00:11.630,615] <err> wifi_nrf: hal_rpu_mem_write: Invalid memory address 0x88888888
    [00:00:11.630,645] <err> wifi_nrf: hal_rpu_msg_write: Copying information to RPU failed
    [00:00:11.630,676] <err> wifi_nrf: hal_rpu_cmd_process_queue: Writing command to RPU failed
    [00:00:11.631,103] <err> wifi_nrf: hal_rpu_mem_write: Invalid memory address 0x88888888
    [00:00:11.631,164] <err> wifi_nrf: hal_rpu_msg_write: Copying information to RPU failed
    [00:00:11.631,195] <err> wifi_nrf: hal_rpu_cmd_process_queue: Writing command to RPU failed
    [00:00:11.631,225] <err> wifi_nrf: wifi_nrf_wpa_set_supp_port: wifi_nrf_fmac_chg_sta failed

    And when turned on, I cannot interact with the nRF7002 again. Do you have any idea about how to re-enable the nRF7002 connection without resetting both the nRF7002 and nRF5340?

    Thank you for your help, and have a good day.

  • Hi,

     

    I am not able to recreate the issue that you're seeing with the shutdown sample:

    *** Booting nRF Connect SDK v2.4.99-dev2 ***
    [00:00:00.597,076] <inf> shutdown: Starting nrf7002dk_nrf5340_cpuapp with CPU frequency: 64 MHz
    
    [00:00:00.602,966] <inf> shutdown: Scan requested
    
    Num  | SSID                             (len) | Chan | RSSI | Security | BSSID
    list of ssids
    [00:00:05.361,694] <inf> shutdown: Scan request done
    
    [00:00:05.372,467] <inf> shutdown: Interface down
    [00:00:08.077,758] <inf> shutdown: Interface up
    [00:00:08.079,864] <inf> shutdown: Scan requested
    
    Num  | SSID                             (len) | Chan | RSSI | Security | BSSID
    list of ssids
    [00:00:12.829,925] <inf> shutdown: Scan request done
    
    [00:00:15.221,466] <inf> shutdown: Interface down
    [00:00:17.746,673] <inf> shutdown: Interface up
    [00:00:17.748,779] <inf> shutdown: Scan requested
    
    Num  | SSID                             (len) | Chan | RSSI | Security | BSSID
    list of ssids
    [00:00:22.497,558] <inf> shutdown: Scan request done
    
    [00:00:23.271,697] <inf> shutdown: Scan requested
    
    Num  | SSID                             (len) | Chan | RSSI | Security | BSSID
    list of ssids
    [00:00:27.860,382] <inf> shutdown: Scan request done
    
    [00:00:29.705,474] <inf> shutdown: Interface down
    [00:00:31.161,346] <inf> shutdown: Interface up
    [00:00:31.163,452] <inf> shutdown: Scan requested
    
    Num  | SSID                             (len) | Chan | RSSI | Security | BSSID
    list of ssids
    [00:00:35.921,081] <inf> shutdown: Scan request done
    

    Could you elaborate on how you take down the IF and start it up again?

     

    The functions for it in the shutdown sample is provided here:

    https://github.com/nrfconnect/sdk-nrf/blob/v2.4.99-dev2/samples/wifi/shutdown/src/main.c#L151-L187

     

    Kind regards,

    Håkon

Related