Wi-Fi Firmware Automatic Recovery for Linux OS

AN14213

Wi-Fi, firmware, automatic recovery, driver, independent reset, firmware command timeout, firmware wake-up timeout, TX watchdog timeout, firmware trigger dump, station (STA), mobile access point (Mobile AP), Linux OS

NXP B.V.

PDF

2.4/5 GHz Dual-Band 1x1 Wi-Fi 5 (802.11ac) Bluetooth 5.2 Solution | NXP Semiconductors

PDF Viewing Options

Not Your Device? Search For Manuals or Datasheets below:


File Info : application/pdf, 19 Pages, 268.34KB

Document DEVICE REPORTAN14213
AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS
Rev. 1 -- 12 September 2024

Application note

Document information

Information

Content

Keywords

Wi-Fi, firmware, automatic recovery, driver, independent reset, firmware command timeout, firmware wake-up timeout, TX watchdog timeout, firmware trigger dump, station (STA), mobile access point (Mobile AP), Linux OS

Abstract

Explains the Wi-Fi Firmware Automatic Recovery feature for Linux OS and provides examples for STA and Mobile AP mode.

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

1 About this document
This document describes the Wi-Fi Firmware Automatic Recovery feature for Linux OS. The feature is triggered when the Wi-Fi driver detects firmware exceptions or firmware timeouts.
1.1 Prerequisites
The following is required for Wi-Fi Firmware Automatic Recovery:
· Device operating in STA or Mobile AP mode · PCIe and/or SDIO Wi-Fi host interface · Wi-Fi Automatic Recovery included in the software release
Note: Check the release notes. · Linux OS
1.2 Supported devices
Refer to the section Feature list and/or the Release notes of the device software release package to check if WiFi Firmware Automatic Recovery is supported. Devices that support Wi-Fi Firmware Automatic Recovery are:
· 88Q9098 [1] · 88W8987 [2] · 88W8997 [3] · 88W9098 [4] · IW416 [5] · IW611 [6] · IW612 [7] · AW611 [8] · AW690 [9]

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 2 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

2 What is Wi-Fi Firmware Automatic Recovery?
Wi-Fi Firmware Automatic Recovery is an NXP proprietary feature that uses Independent Reset (IR) for automatic Wi-Fi firmware re-download and Wi-Fi interfaces re-initialization. The following events trigger the feature:
· Firmware command timeout · Firmware wake-up timeout · TX watchdog timeout · Firmware trigger dump
Wi-Fi Firmware Automatic Recovery triggers Independent Reset (IR) via SDIO or PCIe. The firmware is redownloaded without affecting Bluetooth/802.15.4 activity. The Wi-Fi driver sends a recovery event to an application controlling wpa_supplicant and/or hostapd, WLAN Middleware (MW), to reinitialize the Wi-Fi interfaces (mlan0, uap0, p2p0). If wpa_supplicant and/or hostapd is not required, the Wi-Fi driver skips this step.
Figure 1 shows the software architecture.

Figure 1.NXP Wi-Fi Automatic Recovery Software Architecture

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 3 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

2.1 Flow
Figure 2 shows the Wi-Fi Firmware Automatic Recovery flow.

Figure 2.Firmware Automatic Recovery Flow-Diagram
· The Wi-Fi driver detects one of the trigger events: ­ Firmware command timeout: After command timeout, the driver does not get a command response from the firmware. ­ Firmware wake-up timeout: After wake-up timeout, the driver does not get a wake-up response from the firmware. ­ TX watchdog timeout: The Wi-Fi driver receives 5 times continuous TX watchdog timeout from the kernel. ­ Firmware trigger dump: When FW detects an exception/crash, causing a firmware dump.
· The driver triggers: ­ in-band reset on SDIO devices, or ­ FLR on PCIe devices.
· After reset, the driver reloads the Wi-Fi-only firmware binary and waits for the firmware to activate. Bluetooth/802.15.4 remain unchanged.
· The driver sends an event to notify the application, mlanevent, that firmware recovery is completed.

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 4 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

3 Configuration
By default, the Wi-Fi Automatic Recovery feature is enabled. This feature can also be enabled by the driver load parameter (auto_fw_reload=3 for PCIe, auto_fw_reload=1 for SDIO).
When Wi-Fi automatic recovery is triggered, the driver automatically reloads the default standalone Wi-Fi firmware in the host system's firmware directory, /lib/firmware/nxp. The firmware binary (fw_name = nxp/ <fw_name>) does not need to be specified.
Ensure that both combo and standalone firmware files with the default name are placed under /lib/firmware/nxp. For instance, on IW612, the default combo FW name is sduart_nw61x_v1.bin.se and the default standalone WiFi FW name is sd_w61x_v1.bin.se. Refer to the software release package for the default firmware names.
Note: Refer to the README in the SW release package for more information.
Note: Users must use Wi-Fi-only firmware for this feature to work properly.

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 5 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

4 Examples
This section provides examples for Wi-Fi Firmware Automatic Recovery in STA and Mobile AP mode using the 88W9098 PCIe interface. Any device with a host interface ­ SDIO and/or PCIe ­ mentioned in Section 1.2 "Supported devices" can follow the examples.
4.1 STA mode
The following steps demonstrate Wi-Fi Firmware Automatic Recovery in STA mode:
Step 1 ­ Copy both combo firmware and standalone Wi-Fi firmware to the system's firmware (/lib/ firmware/nxp/) folder.
Step 2 ­ Load the DUT with drivers and firmware.
insmod mlan.ko insmod moal.ko drvdbg=0x20037
Note: drvdbg=0x20037 is optional and is used to print debug logs.
Command output example:
mlan: loading out-of-tree module taints kernel. wlan: Loading MWLAN driver wlan: Register to Bus Driver... wlan_pcie 0001:01:00.0: enabling device (0000 -> 0002) Attach moal handle ops, card interface type: 0x206 PCIE9098: init module param from usr cfg card_type: PCIE9098, config block: 0 cfg80211_wext=0xf max_vir_bss=1 wfd_name=p2p cntry_txpwr = 1 drv_mode = 1 cal_data_cfg=none ps_mode = 2 auto_ds = 2 auto_fw_reload 3 host_mlme=enable rx_work=1 cpu_num=4 Attach mlan adapter operations.card_type is 0x206. Request firmware: nxp/pcieuart9098_combo_v1.bin FW download over, size 702324 bytes WLAN FW is active on_time is 72955005249 fw hotfix ver=13 fw ver=15.1 uap fw ver=2.0 max_p2p_conn = 8, max_sta_conn = 64 fw_cap_info=0xc8fcefa3 fw_cap_ext=0x280 wlan: version = PCIE9098--17.92.1.p136.13-MM5X17366.p5-GPL-(FP92) wlan: Register to Bus Driver Done wlan: Driver loaded successfully
Firmware was loaded successfully and Wi-Fi Firmware Automatic Recovery is enabled (auto_fw_reload = 3).

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 6 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

Step 3 ­ Bring up DUT in STA mode using wpa_supplicant.
Example wpa_supplicant content:
network={ SSID="SSID" psk="Password" key_mgmt=WPA-PSK
}
Step 4 ­ Run wpa_supplicant.
wpa_supplicant -i mlan0 -D nl80211 -c <path_to_file>/wpa_supplicant.conf -B
Command output example:
rfkill: Cannot open RFKILL control device mlan0: SME: Trying to authenticate with 7c:10:c9:02:da:48 (SSID='ASUS_2G' freq=2462 MHz) mlan0: Trying to associate with 7c:10:c9:02:da:48 (SSID='ASUS_2G' freq=2462 MHz) mlan0: WPA: Key negotiation completed with 7c:10:c9:02:da:48 [PTK=CCMP GTK=CCMP] mlan0: CTRL-EVENT-CONNECTED - Connection to 7c:10:c9:02:da:48 completed [id=0 id_str=] mlan0: Associated with 7c:10:c9:02:da:48 mlan0: CTRL-EVENT-SSID-REENABLED id=0 ssid="ASUS_2G" mlan0: SME: Trying to authenticate with 7c:10:c9:02:da:48 (SSID='ASUS_2G' freq=2437 MHz) mlan0: Trying to associate with 7c:10:c9:02:da:48 (SSID='ASUS_2G' freq=2437 MHz) mlan0: Associated with 7c:10:c9:02:da:48 mlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0 mlan0: CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=US mlan0: WPA: Key negotiation completed with 7c:10:c9:02:da:48 [PTK=CCMP GTK=CCMP] mlan0: CTRL-EVENT-CONNECTED - Connection to 7c:10:c9:02:da:48 completed [id=0 id_str=]
Step 5 ­ The driver detects any firmware condition including command timeout, wake-up timeout, TX watchdog timeout, and firmware trigger dump. The user can see the following output on the dmesg:
Note: "Bad address" in the output shows that the device entered into a bad state.
mlanutl: Bad address mlanutl: host cmd fails FW trigger fw dump =====FW trigger dump==== ==== Start Receive FW dump event ==== ==== FW DUMP END: 2497616 bytes ==== fw dump total length is 2497628 wlan: Notify FW dump complete event Vendor event :0x1 Start to process hanging Cancel all pending cmd!

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 7 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

Step 6 ­ DUT firmware automatically recovers, restarts in STA mode, and reconnects to the external AP.
Note: The ongoing Wi-Fi data transmission is impacted and might be lost.
Command output example:
WIFI auto_fw_reload: fw_reload=4 woal_pcie_reset_done: vendor=0x1B4B device=0x2B43 rev=2 Post-FLR rx_work=1 cpu_num=4 Attach mlan adapter operations.card_type is 0x206. Request firmware: nxp/pcie9098_wlan_v1.bin FW download over, size 514000 bytes WLAN FW is active on_time is 150619556173 wlan: version = PCIE9098--17.92.1.p136.13-MM5X17366.p5-GPL-(FP92) mlan0: CTRL-EVENT-DISCONNECTED bssid=7c:10:c9:02:da:48 reason=3 locally_generated=1 Could not read interface mlan0 flags: No such device rfkill: Cannot open RFKILL control device mlan0: CTRL-EVENT-SSID-REENABLED id=0 ssid="ASUS_2G" mlan0: SME: Trying to authenticate with 7c:10:c9:02:da:48 (SSID='ASUS_2G' freq=2437 MHz) mlan0: Trying to associate with 7c:10:c9:02:da:48 (SSID='ASUS_2G' freq=2437 MHz) mlan0: Associated with 7c:10:c9:02:da:48 mlan0: CTRL-EVENT-REGDOM-CHANGE init=COUNTRY_IE type=COUNTRY alpha2=US mlan0: WPA: Key negotiation completed with 7c:10:c9:02:da:48 [PTK=CCMP GTK=CCMP] mlan0: CTRL-EVENT-CONNECTED - Connection to 7c:10:c9:02:da:48 completed [id=0 id_str=]

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 8 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

4.2 Mobile AP mode
The following steps demonstrate Wi-Fi Firmware Automatic Recovery in Mobile AP mode:
Step 1 ­ Copy both combo firmware and standalone Wi-Fi firmware to the system's firmware (/lib/ firmware/nxp/) folder.
Step 2 ­ Load the DUT with drivers and firmware.
insmod mlan.ko insmod moal.ko drvdbg=0x20037
Note: drvdbg=0x20037 is optional and is used to print debug logs.
Command output example:
mlan: loading out-of-tree module taints kernel. wlan: Loading MWLAN driver wlan: Register to Bus Driver... wlan_pcie 0001:01:00.0: enabling device (0000 -> 0002) Attach moal handle ops, card interface type: 0x206 PCIE9098: init module param from usr cfg card_type: PCIE9098, config block: 0 cfg80211_wext=0xf max_vir_bss=1 wfd_name=p2p cntry_txpwr = 1 drv_mode = 1 cal_data_cfg=none ps_mode = 2 auto_ds = 2 auto_fw_reload 3 host_mlme=enable rx_work=1 cpu_num=4 Attach mlan adapter operations.card_type is 0x206. Request firmware: nxp/pcieuart9098_combo_v1.bin FW download over, size 702324 bytes WLAN FW is active on_time is 72955005249 fw hotfix ver=13 fw ver=15.1 uap fw ver=2.0 max_p2p_conn = 8, max_sta_conn = 64 fw_cap_info=0xc8fcefa3 fw_cap_ext=0x280 wlan: version = PCIE9098--17.92.1.p136.13-MM5X17366.p5-GPL-(FP92) wlan: Register to Bus Driver Done wlan: Driver loaded successfully
Firmware was loaded successfully and Wi-Fi Firmware Automatic Recovery is enabled (auto_fw_reload = 3).
Step 3 ­Bring up DUT in Mobile AP mode using hostapd.
Example hostapd content:
interface=uap0 hw_mode=g channel=6 country_code=US ssid=NXP_Demo ieee80211n=1

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 9 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

Step 4 ­ Start hostapd.
./hostapd hostapd.conf &
Command output example:
uap0: interface state UNINITIALIZED->COUNTRY_UPDATE wlan: Starting AP wlan: AP started wlan: HostMlme uap0 send deauth/disassoc Set AC=3, txop=47 cwmin=3, cwmax=7 aifs=1 Set AC=2, txop=94 cwmin=7, cwmax=15 aifs=1 Set AC=0, txop=0 cwmin=15, cwmax=63 aifs=3 Set AC=1, txop=0 cwmin=15, cwmax=1023 aifs=7 uap0: interface state COUNTRY_UPDATE->ENABLED uap0: AP-ENABLED
Step 5 ­ Connect to a peer STA device.
Command output example:
wlan: HostMlme Auth received from 9a:XX:XX:XX:a2:3f wlan: HostMlme uap0 send Auth uap0: STA 9a:61:79:5f:a2:3f IEEE [ 72.282948] uap0: wlan: HostMlme MICRO_AP_STA_ASSOC 9a:XX:XX:XX:a2:3f 802.11: authenticated wlan: UAP/GO add peer station, address =9a:XX:XX:XX:a2:3f wlan: HostMlme uap0 send assoc/reassoc resp uap0: STA 9a:61:79:5f:a2:3f IEEE 802.11: associated (aid 1) uap0: AP-STA-CONNECTED 9a:61:79:5f:a2:3f uap0: STA 9a:61:79:5f:a2:3f RADIUS: starting accounting session AAF447DAEC59CB0F
Step 6 ­ The driver detects any firmware condition including command timeout, wake-up timeout, TX watchdog timeout, and firmware trigger dump. The user can see the following output on the dmesg:
Note: "Bad address" in the output shows that the device entered into a bad state.
mlanutl: Bad address mlanutl: host cmd fails FW trigger fw dump =====FW trigger dump==== ==== Start Receive FW dump event ==== ==== FW DUMP END: 2497616 bytes ==== fw dump total length is 2497628 wlan: Notify FW dump complete event Vendor event :0x1 Start to process hanging Cancel all pending cmd!

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 10 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

Step 7 ­ DUT firmware automatically recovers, restarts Mobile AP mode, and reconnects to the external STA.
Note: The ongoing Wi-Fi data transmission is impacted and might be lost.
Command output example:
Request firmware: nxp/pcie9098_wlan_v1.bin FW download over, size 504512 bytes WLAN FW is active on_time is 107543528961 PCIE FW Reload successfully. WLAN FW already running! Skip FW download FW Reload successfully. fw_cap_info=0xc8fcefa3, dev_cap_mask=0xffffffff max_p2p_conn = 8, max_sta_conn = 64 wlan: warm reset complete wlan: version = PCIE9098--17.92.1.p136.131-MM5X17391.p3-GPL-(FP92) wlan: post_reset remove/add interface wlan: Stoping AP woal_cfg80211_del_beacon: stop uap failed woal_close: woal_disconnect failed uap0: INTERFACE-DISABLED Fail to get ap channel uap0: AP-DISABLED uap0: AP-STA-DISCONNECTED 9a:61:79:5f:a2:3f get fw info failed! status=-1, error_code=0x0 11D: Error setting domain info in FW Set country code failed! Failed to set beacon parameters nl80211: deinit ifname=uap0 disabled_11b_rates=0 uap0: interface state ENABLED->DISABLED Register NXP 802.11 Adapter mlan0 wlan: uap%d set max_mtu 2000 Register NXP 802.11 Adapter uap0 Auto recovery: enable iface rfkill: Cannot open RFKILL contro[ 107.857596] wlan: Starting AP l device uap0: interface state DISABLED->COUNTRY_UPDATE wlan: AP started Register NXP 802.11 Adapter wfd0 wlan: post_reset remove/add interface done wlan: HostMlme uap0 send deauth/disassoc Set AC=3, txop=47 cwmin=3, cwmax=7 aifs=1 VDLL image: len=140760 fw_cap_info=0x48fcefa3, dev_cap_mask=0xffffffff max_p2p_conn = 8, max_sta_conn = 64 Set AC=2, txop=94 cwmin=7, cwmax=15 aifs=1 Set AC=0, txop=0 cwmin=15, cwmax=63 aifs=3 wlan: warm reset complete Set AC=1, txop=0 cwmin=15, cwmax=1023 aifs=7 wlan: version = PCIE9098--17.92.1.p136.131-MM5X17391.p3-GPL-(FP92) wlan: post_reset remove/add interface uap0: interface state COUNTRY_UPDATE->ENABLED uap0: AP-ENABLED Register NXP 802.11 Adapter mmlan0 wlan: muap%d set max_mtu 2000 Register NXP 802.11 Adapter muap0 Register NXP 802.11 Adapter mwfd0 wlan: post_reset remove/add interface done uap0: wlan: HostMlme Auth received from 9a:XX:XX:XX:a2:3f wlan: HostMlme uap0 send Auth uap0: STA 9a:61:79:5f:a2:3f IEEE 802.11: authenticated uap0: wlan: HostMlme MICRO_AP_STA_ASSOC 9a:XX:XX:XX:a2:3f wlan: UAP/GO add peer station, address =9a:XX:XX:XX:a2:3f wlan: HostMlme uap0 send assoc/reassoc resp uap0: STA 9a:61:79:5f:a2:3f IEEE 802.11: associated (aid 1) uap0: AP-STA-CONNECTED 9a:61:79:5f:a2:3f uap0: STA 9a:61:79:5f:a2:3f RADIUS: starting accounting session 885F1C86E49EEDB6

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 11 / 19

NXP Semiconductors

5 Abbreviations

Table 1.Abbreviations

Acronym

Description

AP

Access point

DUT

Device under test

STA

Station

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 12 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

6 References
[1] Webpage - 88W9098: 2.4/5 GHz Dual-Band 2x2 Wi-Fi® 6 (802.11ax) + Bluetooth® 5.3 (link) [2] Webpage - 88W8987: 2.4/5 GHz Dual-Band 1x1 Wi-Fi® 5 (802.11ac) + Bluetooth® 5.2 Solution (link) [3] Webpage - 88W8997: 2.4/5 GHz Dual-Band 2x2 Wi-Fi® 5 (802.11ac) + Bluetooth® 5.3 Solution (link) [4] Webpage - 88Q9098/88Q9098S: 2.4/5 GHz Dual-Band 2x2 Wi-Fi® 6 (802.11ax) + Bluetooth® 5.3
Automotive Solution (link) [5] Webpage - IW416: 2.4/5 GHz Dual-Band 1x1 Wi-Fi® 4 (802.11n) + Bluetooth® 5.2 Solution (link) [6] Webpage - IW611: 2.4/5 GHz Dual-Band 1x1 Wi-Fi® 6 (802.11ax) + Bluetooth® 5.2 Solution (link) [7] Webpage - IW612: 2.4/5 GHz Dual-Band 1x1 Wi-Fi® 6 (802.11ax) + Bluetooth® 5.2 + 802.15.4 Tri-radio
Solution (link) [8] Webpage - AW611: 2.4/5 GHz Dual-Band 1x1 Wi-Fi® 6 (802.11ax) + Bluetooth® 5.2 Automotive Solution
(link) [9] Webpage - AW690: Wi-Fi® 6 1x1 Concurrent Dual Wi-Fi (CDW) and Bluetooth® 5.3 Combo SoC (link)

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 13 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

7 Note about the source code in the document
The example code shown in this document has the following copyright and BSD-3-Clause license:
Copyright 2024 NXP Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials must be provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 14 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

8 Revision history

Table 2.Revision history Document ID
AN14213 v.1

Release date

Description

12 September 2024 · Initial version

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 15 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

Legal information
Definitions
Draft -- A draft status on a document indicates that the content is still under internal review and subject to formal approval, which may result in modifications or additions. NXP Semiconductors does not give any representations or warranties as to the accuracy or completeness of information included in a draft version of a document and shall have no liability for the consequences of use of such information.
Disclaimers
Limited warranty and liability -- Information in this document is believed to be accurate and reliable. However, NXP Semiconductors does not give any representations or warranties, expressed or implied, as to the accuracy or completeness of such information and shall have no liability for the consequences of use of such information. NXP Semiconductors takes no responsibility for the content in this document if provided by an information source outside of NXP Semiconductors. In no event shall NXP Semiconductors be liable for any indirect, incidental, punitive, special or consequential damages (including - without limitation lost profits, lost savings, business interruption, costs related to the removal or replacement of any products or rework charges) whether or not such damages are based on tort (including negligence), warranty, breach of contract or any other legal theory. Notwithstanding any damages that customer might incur for any reason whatsoever, NXP Semiconductors' aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms and conditions of commercial sale of NXP Semiconductors.
Right to make changes -- NXP Semiconductors reserves the right to make changes to information published in this document, including without limitation specifications and product descriptions, at any time and without notice. This document supersedes and replaces all information supplied prior to the publication hereof.
Suitability for use -- NXP Semiconductors products are not designed, authorized or warranted to be suitable for use in life support, life-critical or safety-critical systems or equipment, nor in applications where failure or malfunction of an NXP Semiconductors product can reasonably be expected to result in personal injury, death or severe property or environmental damage. NXP Semiconductors and its suppliers accept no liability for inclusion and/or use of NXP Semiconductors products in such equipment or applications and therefore such inclusion and/or use is at the customer's own risk.
Applications -- Applications that are described herein for any of these products are for illustrative purposes only. NXP Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Customers are responsible for the design and operation of their applications and products using NXP Semiconductors products, and NXP Semiconductors accepts no liability for any assistance with applications or customer product design. It is customer's sole responsibility to determine whether the NXP Semiconductors product is suitable and fit for the customer's applications and products planned, as well as for the planned application and use of customer's third party customer(s). Customers should provide appropriate design and operating safeguards to minimize the risks associated with their applications and products. NXP Semiconductors does not accept any liability related to any default, damage, costs or problem which is based on any weakness or default in the customer's applications or products, or the application or use by customer's third party customer(s). Customer is responsible for doing all necessary testing for the customer's applications and products using NXP Semiconductors products in order to avoid a default of the applications and the products or of the application or use by customer's third party customer(s). NXP does not accept any liability in this respect.

Terms and conditions of commercial sale -- NXP Semiconductors products are sold subject to the general terms and conditions of commercial sale, as published at https://www.nxp.com/profile/terms, unless otherwise agreed in a valid written individual agreement. In case an individual agreement is concluded only the terms and conditions of the respective agreement shall apply. NXP Semiconductors hereby expressly objects to applying the customer's general terms and conditions with regard to the purchase of NXP Semiconductors products by customer.
Export control -- This document as well as the item(s) described herein may be subject to export control regulations. Export might require a prior authorization from competent authorities.
Suitability for use in non-automotive qualified products -- Unless this document expressly states that this specific NXP Semiconductors product is automotive qualified, the product is not suitable for automotive use. It is neither qualified nor tested in accordance with automotive testing or application requirements. NXP Semiconductors accepts no liability for inclusion and/or use of non-automotive qualified products in automotive equipment or applications. In the event that customer uses the product for design-in and use in automotive applications to automotive specifications and standards, customer (a) shall use the product without NXP Semiconductors' warranty of the product for such automotive applications, use and specifications, and (b) whenever customer uses the product for automotive applications beyond NXP Semiconductors' specifications such use shall be solely at customer's own risk, and (c) customer fully indemnifies NXP Semiconductors for any liability, damages or failed product claims resulting from customer design and use of the product for automotive applications beyond NXP Semiconductors' standard warranty and NXP Semiconductors' product specifications.
HTML publications -- An HTML version, if available, of this document is provided as a courtesy. Definitive information is contained in the applicable document in PDF format. If there is a discrepancy between the HTML document and the PDF document, the PDF document has priority.
Translations -- A non-English (translated) version of a document, including the legal information in that document, is for reference only. The English version shall prevail in case of any discrepancy between the translated and English versions.
Security -- Customer understands that all NXP products may be subject to unidentified vulnerabilities or may support established security standards or specifications with known limitations. Customer is responsible for the design and operation of its applications and products throughout their lifecycles to reduce the effect of these vulnerabilities on customer's applications and products. Customer's responsibility also extends to other open and/or proprietary technologies supported by NXP products for use in customer's applications. NXP accepts no liability for any vulnerability. Customer should regularly check security updates from NXP and follow up appropriately. Customer shall select products with security features that best meet rules, regulations, and standards of the intended application and make the ultimate design decisions regarding its products and is solely responsible for compliance with all legal, regulatory, and security related requirements concerning its products, regardless of any information or support that may be provided by NXP. NXP has a Product Security Incident Response Team (PSIRT) (reachable at [email protected]) that manages the investigation, reporting, and solution release to security vulnerabilities of NXP products.
NXP B.V. -- NXP B.V. is not an operating company and it does not distribute or sell products.
Trademarks
Notice: All referenced brands, product names, service names, and trademarks are the property of their respective owners.
NXP -- wordmark and logo are trademarks of NXP B.V.

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 16 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

Tables
Tab. 1. Abbreviations ...................................................12 Tab. 2. Revision history ...............................................15

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 17 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

Figures

Fig. 1.

NXP Wi-Fi Automatic Recovery Software Architecture ....................................................... 3

Fig. 2.

Firmware Automatic Recovery FlowDiagram ............................................................. 4

AN14213
Application note

All information provided in this document is subject to legal disclaimers.
Rev. 1 -- 12 September 2024

© 2024 NXP B.V. All rights reserved.
Document feedback 18 / 19

NXP Semiconductors

AN14213
Wi-Fi Firmware Automatic Recovery for Linux OS

Contents

1

About this document .......................................2

1.1

Prerequisites ...................................................... 2

1.2

Supported devices ............................................. 2

2

What is Wi-Fi Firmware Automatic

Recovery? .........................................................3

2.1

Flow ................................................................... 4

3

Configuration ................................................... 5

4

Examples .......................................................... 6

4.1

STA mode ..........................................................6

4.2

Mobile AP mode ................................................ 9

5

Abbreviations ................................................. 12

6

References ......................................................13

7

Note about the source code in the

document ........................................................14

8

Revision history .............................................15

Legal information ...........................................16

Please be aware that important notices concerning this document and the product(s) described herein, have been included in section 'Legal information'.

© 2024 NXP B.V.

All rights reserved.

For more information, please visit: https://www.nxp.com

Document feedback

Date of release: 12 September 2024 Document identifier: AN14213


Apache FOP Version 2.6

Search Any Device: