Hi everyone,
I'm experiencing a persistent firmware loading issue with the NXP 88W9098 Wi‑Fi 6 module on my MCIMX8DXL-WEVK board. The module is set up in a dual MAC configuration (as shown in the output of lspci) and the system attempts to load the firmware file nxp/pcieuart9098_combo_v1.bin from /lib/firmware/nxp/. However, the firmware initialization fails with errors indicating that the firmware did not become active in time.
The image has just been build and flashed from the:
Repo Branch: imx-linux-scarthgap
Repo Manifest: imx-6.6.52-2.2.0.xml
Machine: imx8dxlb0-lpddr4-evk
Distro: fsl-imx-xwayland
- Image version: core-image-base
Commands output:
root@imx8dxlb0-lpddr4-evk:~# lspci
00:00.0 PCI bridge: Freescale Semiconductor Inc Device 0000 (rev 01)
01:00.0 Ethernet controller: Marvell Technology Group Ltd. NXP 88W9098 Wi-Fi 6 (ax) MAC #1 (rev 03)
01:00.1 Ethernet controller: Marvell Technology Group Ltd. NXP 88W9098 Wi-Fi 6 (ax) MAC #2 (rev 03)
root@imx8dxlb0-lpddr4-evk:~# modprobe mlan
[ 246.609709] mlan: loading out-of-tree module taints kernel.
root@imx8dxlb0-lpddr4-evk:~# modprobe moal mod_para=nxp/wifi_mod_para.conf
[ 256.616753] wlan: Loading MWLAN driver
[ 256.621075] wlan: Register to Bus Driver...
[ 256.625803] wlan_pcie 0000:01:00.0: enabling device (0000 -> 0002)
[ 256.634743] PCI memory map Virt0: 00000000194e9329 PCI memory map Virt2: 00000000437baee5
[ 256.648503] Attach moal handle ops, card interface type: 0x206
[ 256.655420] rps set to 0 from module param
[ 256.661818] PCIE9098: init module param from usr cfg
[ 256.666990] card_type: PCIE9098, config block: 0
[ 256.671881] cfg80211_wext=0xf
[ 256.677598] max_vir_bss=1
[ 256.680254] cal_data_cfg=none
[ 256.685668] ps_mode = 0
[ 256.688146] auto_ds = 0
[ 256.692343] host_mlme=enable
[ 256.698043] fw_name=nxp/pcieuart9098_combo_v1.bin
[ 256.705954] rx_work=1 cpu_num=2
[ 256.709128] Enable moal_recv_amsdu_packet
[ 256.714450] Attach mlan adapter operations.card_type is 0x206.
[ 256.726000] Request firmware: nxp/pcieuart9098_combo_v1.bin
[ 257.164725] prog_fw: Failed to get command done interrupt retry count = 10001
[ 263.169563] FW failed to be active in time!
[ 263.173837] wlan_dnld_fw fail ret=0xffffffff
[ 263.178155] WLAN: Fail download FW with nowwait: 0
[ 263.183025] Config Space Registers:
[ 263.186568] reg:0x00 value=0x2b431b4b
[ 263.190280] reg:0x04 value=0x00100406
[ 263.193984] reg:0x10 value=0x7210000c
[ 263.197694] reg:0x18 value=0x7230000c
[ 263.201375] reg:0x2c value=0x2b431b4b
[ 263.205069] reg:0x3c value=0x0000015b
[ 263.208793] reg:0x44 value=0x00000008
[ 263.212490] reg:0x80 value=0x10120040
[ 263.216198] reg:0x98 value=0x00000000
[ 263.219919] reg:0x170 value=0x0001001e
[ 263.223706] FW Scrach Registers:
[ 263.226973] reg:0x1c90 value=0xfedcba00
[ 263.230864] reg:0x1c98 value=0x0
[ 263.234127] reg:0x1c9c value=0x0
[ 263.339445] reg:0x1c98 value=0x0
[ 263.342705] reg:0x1c9c value=0x0
[ 263.447733] Interface registers dump from offset 0x1c98 to 0x1c9f
[ 263.453884] PCIE registers from offset 0x1c20 to 0x1c9c:
[ 263.459233] 00000000 00000002 00000000 00000000 ffffffff 00000002 00000000 00000000
[ 263.467037] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 263.474851] acb420e0 00000000 00000010 00000000 008040e3 c8701424 00036ffc 00000000
[ 263.482645] 00000000 00000000 00000000 00000000 fedcba00 00000000 00000000 00000000
[ 263.490429]
[ 263.491932] ADMA Tx/Rx/Event/Cmd/CmdResp registers:
[ 263.496845] ADMA registers dump from offset 0x10000 to 0x10068
[ 263.502736] 00100000 acb420e0 00000000 c010ad64 00000000 00000000 00000000 00000000
[ 263.510521] 00000000 00000001 00000000 00000000 00000000 00000000 00000000 0000f002
[ 263.518316] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
[ 263.526106] 80000948 00000000 00808c8c
[ 263.529976] ADMA registers dump from offset 0x10800 to 0x10868
[ 263.535890] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 263.543733] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000f000
[ 263.551542] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
[ 263.559339] 80000948 00000000 00808c8c
[ 263.563213] ADMA registers dump from offset 0x10880 to 0x108e8
[ 263.569108] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 263.576905] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 263.584724] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
[ 263.592519] 80000948 00000000 00000000
[ 263.596407] ADMA registers dump from offset 0x11000 to 0x11068
[ 263.602289] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 263.610084] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000f000
[ 263.617876] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
[ 263.625673] 80000948 00000000 00808c8c
[ 263.629553] ADMA registers dump from offset 0x11080 to 0x110e8
[ 263.635444] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 263.643238] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 263.651036] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
[ 263.658840] 80000948 00000000 00000000
[ 263.662818] woal_request_fw failed
[ 263.666276] Firmware Init Failed
[ 263.674525] Free module params
[ 263.677717] woal_pcie_probe: failed
[ 263.681220] wlan_pcie: probe of 0000:01:00.0 failed with error -14
[ 263.687724] wlan_pcie 0000:01:00.1: enabling device (0000 -> 0002)
[ 263.694113] PCI memory map Virt0: 00000000a6a2ddaa PCI memory map Virt2: 0000000048531485
[ 263.702376] Attach moal handle ops, card interface type: 0x206
[ 263.708263] rps set to 0 from module param
[ 263.712594] PCIE9098: init module param from usr cfg
[ 263.717682] card_type: PCIE9098, config block: 0
[ 263.722355] cfg80211_wext=0xf
[ 263.725330] max_vir_bss=1
[ 263.727982] cal_data_cfg=none
[ 263.730991] ps_mode = 0
[ 263.733447] auto_ds = 0
[ 263.735932] host_mlme=enable
[ 263.738866] fw_name=nxp/pcieuart9098_combo_v1.bin
[ 263.743638] rx_work=1 cpu_num=2
[ 263.746847] Enable moal_recv_amsdu_packet
[ 263.750931] Attach mlan adapter operations.card_type is 0x206.
[ 263.761930] Request firmware: nxp/pcieuart9098_combo_v1.bin
[ 264.116546] prog_fw: Failed to get command done interrupt retry count = 10001
[ 270.121561] FW failed to be active in time!
[ 270.125832] wlan_dnld_fw fail ret=0xffffffff
[ 270.130153] WLAN: Fail download FW with nowwait: 0
[ 270.135022] Config Space Registers:
[ 270.138558] reg:0x00 value=0x2b441b4b
[ 270.142278] reg:0x04 value=0x00100406
[ 270.145972] reg:0x10 value=0x7220000c
[ 270.149684] reg:0x18 value=0x72000004
[ 270.153364] reg:0x2c value=0x2b441b4b
[ 270.157051] reg:0x3c value=0x0000025c
[ 270.160771] reg:0x44 value=0x00000008
[ 270.164479] reg:0x80 value=0x10120040
[ 270.168187] reg:0x98 value=0x00000000
[ 270.171905] reg:0x170 value=0x0001001e
[ 270.175699] FW Scrach Registers:
[ 270.179010] reg:0x1c90 value=0xfedcba00
[ 270.182910] reg:0x1c98 value=0x0
[ 270.186193] reg:0x1c9c value=0x0
[ 270.291381] reg:0x1c98 value=0x0
[ 270.294641] reg:0x1c9c value=0x0
[ 270.399925] Interface registers dump from offset 0x1c98 to 0x1c9f
[ 270.406081] PCIE registers from offset 0x1c20 to 0x1c9c:
[ 270.411431] 00000000 00000002 00000000 00000000 ffffffff 00000002 00000000 00000000
[ 270.419232] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 270.427049] ac75d0e0 00000000 00000010 00000000 008040e3 c8701424 00000000 00000000
[ 270.434842] 00000000 00000000 00000000 00000000 fedcba00 00000000 00000000 00000000
[ 270.442628]
[ 270.444130] ADMA Tx/Rx/Event/Cmd/CmdResp registers:
[ 270.449045] ADMA registers dump from offset 0x10000 to 0x10068
[ 270.454936] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 270.462717] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000f000
[ 270.470516] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
[ 270.478298] 80000948 00000000 00808c8c
[ 270.482170] ADMA registers dump from offset 0x10800 to 0x10868
[ 270.488067] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 270.495871] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000f000
[ 270.503675] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
[ 270.511468] 80000948 00000000 00808c8c
[ 270.515343] ADMA registers dump from offset 0x10880 to 0x108e8
[ 270.521237] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 270.529031] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 270.536853] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
[ 270.544647] 80000948 00000000 00000000
[ 270.548545] ADMA registers dump from offset 0x11000 to 0x11068
[ 270.554426] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 270.562221] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000f000
[ 270.570014] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
[ 270.577800] 80000948 00000000 00808c8c
[ 270.581670] ADMA registers dump from offset 0x11080 to 0x110e8
[ 270.587558] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 270.595350] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 270.603147] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000002
[ 270.610935] 80000948 00000000 00000000
[ 270.614932] woal_request_fw failed
[ 270.618375] Firmware Init Failed
[ 270.626475] Free module params
[ 270.629944] woal_pcie_probe: failed
[ 270.633453] wlan_pcie: probe of 0000:01:00.1 failed with error -14
[ 270.641682] wlan: Register to Bus Driver Done
[ 270.647363] wlan: Driver loaded successfully
Driver configuration is default:
SD9098_0 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=1
auto_ds=1
host_mlme=1
fw_name=nxp/sdiouart9098_combo_v1.bin
}
SD9098_1 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=1
auto_ds=1
host_mlme=1
fw_name=nxp/sdiouart9098_combo_v1.bin
}
Please assist.
Thank you!