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
  • 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.

Children
  • 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

  • Hello again,

    I apologize for any confusion in my previous message. What I meant to convey is that the shutdown sample does indeed work, but it does not reduce the voltage of the nRF7002 component, which ultimately does not conserve battery power. The error message I mentioned appears when I add the rpu_disable and rpu_enable to the code. While this does lower the voltage of the component, the system is unable to reconnect to the Wi-Fi once enabled again. The code with the rpu_enable and rpu_disable appears as follows (more or less):

    net_if_down -> rpu_disable -> Wait for a few seconds -> rpu_enable -> net_if_up

    I hope this clarifies the situation for you. Thank you for your time and assistance. Have a great day.

  • Hi,

     

    Here's the current after running a scan, then a shutdown:

      

    BENBF said:
    The error message I mentioned appears when I add the rpu_disable and rpu_enable to the code. While this does lower the voltage of the component, the system is unable to reconnect to the Wi-Fi once enabled again. The code with the rpu_enable and rpu_disable appears as follows (more or less):

    Could you try to use the routines that I linked to earlier? 

    Håkon Alseth said:

     

    Kind regards,

    Håkon

  • Thank you for your quick response. Initially, we were only able to measure the voltage and not the current, which left us unable to differentiate between the scanning and shutdown phases. Your clarification has been extremely helpful.

    Nevertheless, I still have a question. Is there a way to completely shut down the component, reducing it to 0V? The "rpu_disable" function does indeed bring the component to 0V, but it previously resulted in error messages and prevented the use of Wi-Fi after calling "rpu_enable."

  • Hi,

     

    BENBF said:
    Is there a way to completely shut down the component, reducing it to 0V?

    The shutdown procedure will set pins IOVDD and BUCKEN inactive. it will not remove the VBAT from the nRF7002.

     

    Kind regards,

    Håkon

Related