Hello, I am trying to run the 88W8801 on an Nvidia AGX Orin, but unfortunately, I'm experiencing issues with a lack of response after fw_download. Any idea why this might be happening?
[ 392.618241] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 392.618541] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 392.619180] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[ 392.629162] wlan: Loading MWLAN driver
[ 392.631120] wlan: Register to Bus Driver...
[ 392.632317] vendor=0x02DF device=0x9139 class=0 function=1
[ 392.632408] Attach moal handle ops, card interface type: 0x10a
[ 392.632582] SD8801: init module param from usr cfg
[ 392.632605] card_type: SD8801, config block: 0
[ 392.632608] cfg80211_wext=0xf
[ 392.632611] cal_data_cfg=none
[ 392.632612] ps_mode = 1
[ 392.632614] fw_name=nxp/new.bin
[ 392.632622] SDIO: max_segs=128 max_seg_size=65535
[ 392.632625] rx_work=1 cpu_num=12
[ 392.632640] Attach mlan adapter operations.card_type is 0x10a.
[ 392.633036] wlan: Enable TX SG mode
[ 392.633038] wlan: Enable RX SG mode
[ 392.637804] Request firmware: nxp/new.bin
[ 392.638422] WLAN FW already running! Skip FW download
[ 392.638470] WLAN FW is active
[ 392.638472] on_time is 392636776160
[ 397.790492] Timeout cmd id (397.788783) = 0xa9, act = 0x0
...
...
...
[ 397.795899] mp_wr_bitmap: 0x0 mp_wr_ports=0x0 len=0 curr_wr_port=0x0
..
..
..
[ 397.796170] mp_wr_bitmap: 0x0 mp_wr_ports=0x0 len=0 curr_wr_port=0x0
[ 397.796196] 0x00
[ 397.796228] 0x00
[ 397.796248] 0x00
[ 397.796280] 0x00
[ 397.796298] 0x00
[ 397.796316] 0x00
[ 397.796345] 0x00
[ 397.796363] 0x00
[ 397.796428] bss_index = 0, tx_pkts_queued = 0
[ 397.796468] -------- Dump info End---------
[ 397.799854] SDIO Func0 (0x0-0x9): 32 02 02 02 03 00 00 02 03 00
[ 397.800053] SDIO Func1 (0x10-0x17): 00 00 00 00 00 00 00 00
[ 397.800165] SDIO Func1: (0x28) 00 (0x30) 08 (0x34) 07 (0x38) 10 (0x3c) 00
[ 397.800415] SDIO Func1 (0x60-0x6a): dc fe 1c 00 67 01 03 01 03 00 30
[ 397.902354] SDIO Func1 (0x60-0x6a): dc fe 26 00 71 01 03 01 03 00 30
[ 397.902442] woal_request_fw failed
[ 397.902446] Firmware Init Failed
[ 397.907748] Free module params
[ 397.907760] woal_add_card failed
[ 397.907825] wlan_sdio: probe of mmc1:0001:1 failed with error -1
[ 397.908292] wlan: Register to Bus Driver Done
[ 397.908297] wlan: Driver loaded successfully
已解决! 转到解答。
I'm not entirely sure why, but removing the no-sd property and changing the bus-width from 4 to 1 in the device tree seems to have resolved the issue. I’ll investigate this further and will post updates here on what I find.
Interestingly, after the first firmware download, it started working even with the original device tree configuration. Really strange behavior.
[ 121.555042] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 121.555414] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 121.556033] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[ 121.567292] wlan: Loading MWLAN driver
[ 121.568170] wlan: Register to Bus Driver...
[ 121.569339] vendor=0x02DF device=0x9139 class=0 function=1
[ 121.569450] Attach moal handle ops, card interface type: 0x10a
[ 121.569454] No module param cfg file specified
[ 121.569457] SDIO: max_segs=128 max_seg_size=65535
[ 121.569459] rx_work=1 cpu_num=12
[ 121.569476] Attach mlan adapter operations.card_type is 0x10a.
[ 121.569896] wlan: Enable TX SG mode
[ 121.569898] wlan: Enable RX SG mode
[ 121.571461] Request firmware: nxp/sd8801_uapsta.bin
[ 121.572044] WLAN FW already running! Skip FW download
[ 121.572113] WLAN FW is active
[ 121.572116] on_time is 121568811104
[ 121.572640] get fw info failed! status=-1, error_code=0x0
[ 121.572644] woal_init_priv: get_fw_info failed
[ 121.573011] Register NXP 802.11 Adapter mlan0
[ 121.573015] get fw info failed! status=-1, error_code=0x0
[ 121.573017] woal_add_interface: get_fw_info failed
[ 121.619528] Failed to add interface
[ 121.651405] woal_request_fw failed
[ 121.651412] Firmware Init Failed
[ 121.660746] Free module params
[ 121.660769] woal_add_card failed
[ 121.660867] wlan_sdio: probe of mmc1:0001:1 failed with error -1
[ 121.661267] wlan: Register to Bus Driver Done
[ 121.661275] wlan: Driver loaded successfully
When i remove the module with "modprobe -r moal" and probe it again. I am getting also logs like this.
modprobe moal req_fw_nowait=1
..
..
[ 474.021924] wlan: Enable RX SG mode
[ 474.023468] Request firmware: nxp/sd8801_uapsta.bin
[ 474.023650] wlan: Register to Bus Driver Done
[ 474.023652] wlan: Driver loaded successfully
[ 474.025714] WLAN FW already running! Skip FW download
[ 474.025780] WLAN FW is active
[ 474.025782] on_time is 474022476992
[ 479.199409] Timeout cmd id (479.196095) = 0xa9, act = 0x0
[ 479.199623] a9
[ 479.199652] 00
[ 479.199673] 08
[ 479.199691] 00
[ 479.199710] 01
[ 479.199729] 00
[ 479.199747] 00
[ 479.199767] 00
[ 479.199786] 00
[ 479.199805] 00
[ 479.199823] 00
[ 479.199842] 00
[ 479.199860] 00
[ 479.199879] 00
[ 479.199898] 00
[ 479.199916] 00
[ 479.199957] BSS type = 0 BSS role= 0
[ 479.199988] ------------Dump info-----------
[ 479.200017] Commmand Timeout
[ 479.200050] pending command id: 0x242 ioctl_buf=0000000000000000
[ 479.200081] pending command id: 0x3 ioctl_buf=0000000000000000
[ 479.200099] No pending scan command
[ 479.200122] mlan_processing =0
[ 479.200147] main_lock_flag =0
[ 479.200171] main_process_cnt =1
[ 479.200195] delay_task_flag =0
[ 479.200216] mlan_rx_processing =0
[ 479.200239] rx_pkts_queued=0
[ 479.200261] more_task_flag = 0
[ 479.200286] num_cmd_timeout = 1
[ 479.200307] last_cmd_index = 1
[ 479.200327] last_cmd_id =
[ 479.200349] 0x0
.
.
[ 479.201631] num_data_h2c_failure = 0
[ 479.201651] num_cmd_h2c_failure = 0
[ 479.201677] num_data_c2h_failure = 0
[ 479.201707] num_cmdevt_c2h_failure = 0
[ 479.201728] num_int_read_failure = 0
[ 479.201752] last_int_status = 0
[ 479.201783] num_alloc_buffer_failure = 0
[ 479.201814] num_pkt_dropped = 0
[ 479.201833] num_no_cmd_node = 0
[ 479.201854] num_event_deauth = 0
[ 479.201872] num_event_disassoc = 0
[ 479.201911] num_event_link_lost = 0
[ 479.201933] num_cmd_deauth = 0
[ 479.201950] num_cmd_assoc_success = 0
[ 479.201974] num_cmd_assoc_failure = 0
[ 479.202005] num_cons_assoc_failure = 0
[ 479.202026] cmd_resp_received=0
[ 479.202044] event_received=0
[ 479.202065] max_tx_buf_size=2048
[ 479.202097] tx_buf_size=2048
[ 479.202118] curr_tx_buf_size=2048
[ 479.202142] data_sent=1 cmd_sent=1
[ 479.202164] ps_mode=1 ps_state=0
[ 479.202193] wakeup_dev_req=0 wakeup_tries=0 wakeup_timeout=0
[ 479.202217] hs_configured=0 hs_activated=0
[ 479.202240] pps_uapsd_mode=0 sleep_pd=0
[ 479.202279] tx_lock_flag = 0
[ 479.202299] scan_processing = 0
[ 479.202318] scan_state = 0x0
[ 479.202339] bypass_pkt_count=0
[ 479.202371] mp_rd_bitmap=0x0 curr_rd_port=0x1
[ 479.202395] mp_wr_bitmap=0x0 curr_wr_port=0x1
[ 479.202414] mp_data_port_mask = 0xfffe
[ 479.202441] last_recv_rd_bitmap=0x0 mp_invalid_update=0
[ 479.202475] last_recv_wr_bitmap=0x0 last_mp_index=0
[ 479.202501] mp_wr_bitmap: 0x0 mp_wr_ports=0x0 len=0 curr_wr_port=0x0
.
.
.
[ 479.204759] 0x00
[ 479.204776] 0x00
[ 479.204798] 0x00
[ 479.204857] mp_wr_bitmap: 0x0 mp_wr_ports=0x0 len=0 curr_wr_port=0x0
[ 479.204892] 0x00
[ 479.204910] 0x00
[ 479.204928] 0x00
[ 479.204959] 0x00
[ 479.204991] 0x00
[ 479.205010] 0x00
[ 479.205027] 0x00
[ 479.205045] 0x00
[ 479.205108] bss_index = 0, tx_pkts_queued = 0
[ 479.205134] -------- Dump info End---------
[ 479.211648] SDIO Func0 (0x0-0x9): 32 02 02 02 03 00 00 02 03 00
[ 479.212488] SDIO Func1 (0x10-0x17): 00 00 00 00 00 00 00 00
[ 479.213010] SDIO Func1: (0x28) 00 (0x30) 08 (0x34) 07 (0x38) 10 (0x3c) 00
[ 479.214100] SDIO Func1 (0x60-0x6a): dc fe 19 00 2e 01 03 01 06 00 30
[ 479.319160] SDIO Func1 (0x60-0x6a): dc fe 24 00 38 01 03 01 06 00 30
[ 479.319185] woal_request_fw_dpc failed
Hi,
I just did a test using an iMX8MP running Linux 5.15.71 and a 2DS wireless module and seems to be working on my side.
root@imx8mpevk:~# uname -r
5.15.71+g50912be38601
root@imx8mpevk:~# modprobe moal mod_para=nxp/wifi_mod_para.conf
[ 29.718678] mlan: loading out-of-tree module taints kernel.
[ 29.743284] wlan: Loading MWLAN driver
[ 29.747330] wlan: Register to Bus Driver...
[ 29.758102] vendor=0x02DF device=0x9139 class=0 function=1
[ 29.763683] Attach moal handle ops, card interface type: 0x10a
[ 29.770597] SD8801: init module param from usr cfg
[ 29.775450] card_type: SD8801, config block: 0
[ 29.779910] cfg80211_wext=0xf
[ 29.782888] max_vir_bss=1
[ 29.785511] cal_data_cfg=none
[ 29.788488] ps_mode = 1
[ 29.790945] auto_ds = 1
[ 29.793396] host_mlme=enable
[ 29.796305] fw_name=nxp/sd8801_uapsta.bin
[ 29.800344] SDIO: max_segs=128 max_seg_size=65535
[ 29.805061] rx_work=1 cpu_num=4
[ 29.808227] Attach mlan adapter operations.card_type is 0x10a.
[ 29.815228] wlan: Enable TX SG mode
[ 29.818755] wlan: Enable RX SG mode
[ 29.829669] Request firmware: nxp/sd8801_uapsta.bin
[ 30.114525] Wlan: FW download over, firmwarelen=256744 downloaded 256744
[ 30.317972] WLAN FW is active
[ 30.320953] on_time is 30319390625
[ 30.353278] fw_cap_info=0xba3, dev_cap_mask=0xffffffff
[ 30.483665] Register NXP 802.11 Adapter mlan0
[ 30.489778] Register NXP 802.11 Adapter uap0
[ 30.499256] Register NXP 802.11 Adapter wfd0
[ 30.505382] wlan: version = SD8801----14.92.36.p178-MM5X14366.p5-GPL-(FP92)
[ 30.514305] wlan: Register to Bus Driver Done
[ 30.518750] wlan: Driver loaded successfully
root@imx8mpevk:~# ifconfig mlan0 up
This is the configuration for 8801:
SD8801 = {
cfg80211_wext=0xf
max_vir_bss=1
cal_data_cfg=none
ps_mode=1
auto_ds=1
host_mlme=1
fw_name=nxp/sd8801_uapsta.bin
}
Please let me know if you notice any difference.
Regards,
Daniel.
Hi,
I'm not entirely sure.
Nevertheless, I notice the fw is not being downloaded to the SoC since you get a "WLAN FW already running! Skip FW download". Is there any step you execute before the logs you sent me?
Regards,
Daniel.
I'm not entirely sure why, but removing the no-sd property and changing the bus-width from 4 to 1 in the device tree seems to have resolved the issue. I’ll investigate this further and will post updates here on what I find.
Interestingly, after the first firmware download, it started working even with the original device tree configuration. Really strange behavior.
I think the main difference is that I’m using Nvidia’s board with a relatively newer kernel.
I’ve noticed that my Nvidia’s board uses Clock Gating. Do you think that could be causing the issue?
I am using a Linux OS based on Nvidia-Jetpack(v36.3) with kernel 5.15.136-l4t. I also tried it on kernel 5.10, but the result was the same.
Driver: github.com/nxp-imx/mwifiex.git - branch: lf-5.15.71_2.2.0
Firmware: github.com/NXP/imx-firmware.git - branch: lf-5.15.71_2.2.0
The command i use:
modprobe moal
I also tried but the result was the same
modprobe moal mfg_mode=1 cal_data_cfg=none drv_mode=1 fw_name=nxp/sd8801.bin
Thanks in advance for help!