SD8978 firmware load fail

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SD8978 firmware load fail

1,693 Views
vmbtech
Contributor I

Hi all,

The driver and fw version is lf-5.15.71_2.2.0

After firmware load the driver reports with

[   94.244794] Fail to poll firmware status: firmwarestat=0x5f5f

I did some modification to the driver and found that the firmwarestat initially comes back 0xf00a before settling on 0x5f5f

I'd like to know exactly what this means so I can diagnose why my driver is failing to get past the firmware load.

What I need is register definitions for the status_reg_0 and status_reg_1, or at least the meaning of 5f5f and f00a

 

0 Kudos
Reply
11 Replies

1,203 Views
masateesh
Contributor I

Hi Team,

I am also facing same challenge in my board. I am waiting for response Daniel.Could you please provide any quick response on this problem. Is this firmware loading timing issue? 

/home/root# modprobe moal mod_para=nxp/wifi_mod_para.conf
[ 89.683485] mlan: loading out-of-tree module taints kernel.
[ 89.797838] wlan: Loading MWLAN driver
[ 89.800832] wlan: Register to Bus Driver...
[ 89.805006] vendor=0x02DF device=0x9159 class=0 function=1
[ 89.813834] Attach moal handle ops, card interface type: 0x108
[ 89.825702] SDIW416: init module param from usr cfg
[ 89.830948] card_type: SDIW416, config block: 0
[ 89.834215] cfg80211_wext=0xf
[ 89.839777] max_vir_bss=1
[ 89.841135] cal_data_cfg=none
[ 89.844028] ps_mode = 1
[ 89.849993] auto_ds = 1
[ 89.851130] host_mlme=enable
[ 89.853928] fw_name=nxp/sdiouartiw416_combo_v0.bin
[ 89.862488] SDIO: max_segs=341 max_seg_size=131040
[ 89.865949] rx_work=0 cpu_num=1
[ 89.872003] Attach mlan adapter operations.card_type is 0x108.
[ 89.878881] wlan: Enable TX SG mode
[ 89.880956] wlan: Enable RX SG mode
[ 89.890215] Request firmware: nxp/sdiouartiw416_combo_v0.bin
[ 90.194082] Wlan: FW download over, firmwarelen=534196 downloaded 534196
[ 93.196164] Fail to poll firmware status: firmwarestat=0x5f5f
[ 93.200611] FW failed to be active in time!
[ 93.204700] wlan_dnld_fw fail ret=0xffffffff
[ 93.213292] WLAN: Fail download FW with nowwait: 0
[ 93.221083] SDIO Func0 (0x0-0x9): 43 03 02 02 03 00 00 02 03 00
[ 93.225921] SDIO Func1 (0x10-0x17): 00 00 00 00 ff ff ff ff
[ 93.234897] SDIO Func1: (0x8) 00 (0x58) 00 (0x5c) 08 (0x5d) 00 (0x60) 07 (0x61) 0c (0x62) 00 (0x64) 10 (0x65) 00 (0x66) 00 (0x68) 00 (0x69) 00 (0x6a) 00
[ 93.249649] SDIO Func1 (0xe8-0xf2): 5f 5f 0c 00 06 02 08 00 24 14 70
[ 93.356334] SDIO Func1 (0xe8-0xf2): 5f 5f 0c 00 06 02 08 00 24 14 70
[ 93.361690] woal_request_fw failed
[ 93.364795] Firmware Init Failed
[ 93.373538] Free module params
[ 93.375337] woal_add_card failed
[ 93.381436] wlan_sdio: probe of mmc0:0001:1 failed with error -1
[ 93.391612] wlan: Register to Bus Driver Done
[ 93.396755] wlan: Driver loaded successfully

 

0 Kudos
Reply

1,670 Views
DanielRuvalcaba
NXP TechSupport
NXP TechSupport

Hi,

Could you please help me with the following information?

- What host are you using?

- Are you using a module?

- Please share with me the FW (i.e. 17.92.1.p149.131) and Driver (i.e. MM6X17437.p3-GPL) version

- Please share with me the whole terminal output of your test

 

Regards,

Daniel.

0 Kudos
Reply

1,658 Views
vmbtech
Contributor I

host is an stm32mp133 soc

yes the module is a u-blox maya-w166

firmware and driver version are both lf-5.15.71_2.2.0

I have tried lf-6.6.23_2.0.0 but no difference

Full output is

 

# modprobe moal mod_para=nxp/wifi_mod_para.conf
[   70.725070] mlan: loading out-of-tree module taints kernel.

[   70.859894] wlan: Loading MWLAN driver
[   70.862830] wlan: Register to Bus Driver...
[   70.869680] vendor=0x02DF device=0x9159 class=0 function=1
[   70.873902] Attach moal handle ops, card interface type: 0x108
[   70.887336] SDIW416: init module param from usr cfg
[   70.890831] card_type: SDIW416, config block: 0
[   70.895396] cfg80211_wext=0xf
[   70.902521] max_vir_bss=1
[   70.903992] cal_data_cfg=none
[   70.911343] ps_mode = 1
[   70.912607] auto_ds = 1
[   70.915041] host_mlme=enable
[   70.921864] fw_name=nxp/sdiouartiw416_combo_v0.bin
[   70.925568] SDIO: max_segs=341 max_seg_size=131040
[   70.933368] rx_work=0 cpu_num=1
[   70.935197] Attach mlan adapter operations.card_type is 0x108.
[   70.944556] wlan: Enable TX SG mode
[   70.948777] wlan: Enable RX SG mode
[   70.958168] Request firmware: nxp/sdiouartiw416_combo_v0.bin
[   71.259021] Wlan: FW download over, firmwarelen=534196 downloaded 534196
[   74.256252] Fail to poll firmware status: firmwarestat=0x5f5f
[   74.260646] FW failed to be active in time!
[   74.264819] wlan_dnld_fw fail ret=0xffffffff
[   74.274195] WLAN: Fail download FW with nowwait: 0
[   74.279665] SDIO Func0 (0x0-0x9): 43 03 02 02 03 00 00 02 03 00
[   74.284455] SDIO Func1 (0x10-0x17): 00 00 00 00 ff ff ff ff
[   74.293079] SDIO Func1: (0x8) 00 (0x58) 00 (0x5c) 08 (0x5d) 00 (0x60) 07 (0x61) 0c (0x62) 00 (0x64) 10 (0x65) 00 (0x66) 00 (0x68) 00 (0x69) 00 (0x6a) 00
[   74.316762] SDIO Func1 (0xe8-0xf2): 5f 5f 08 00 05 02 08 00 24 14 70
[   74.424442] SDIO Func1 (0xe8-0xf2): 5f 5f 08 00 05 02 08 00 24 14 70
[   74.429803] woal_request_fw failed
[   74.432856] Firmware Init Failed
[   74.440741] Free module params
[   74.442422] woal_add_card failed
[   74.446103] wlan_sdio: probe of mmc0:0001:1 failed with error -1
[   74.458360] wlan: Register to Bus Driver Done
[   74.461345] wlan: Driver loaded successfully
0 Kudos
Reply

1,645 Views
DanielRuvalcaba
NXP TechSupport
NXP TechSupport

Thanks for the information.

I just did a test on my side using 1XK module with an iMX8MP EVK and it is working on my side in Linux 5.15.71.

imx8mpevk login: root
root@imx8mpevk:~# clear

root@imx8mpevk:~# modprobe moal mod_para=nxp/wifi_mod_para.conf
[   29.265837] mlan: loading out-of-tree module taints kernel.
[   29.291622] wlan: Loading MWLAN driver
[   29.295727] wlan: Register to Bus Driver...
[   29.300097] vendor=0x02DF device=0x9159 class=0 function=1
[   29.305668] Attach moal handle ops, card interface type: 0x108
[   29.312528] SDIW416: init module param from usr cfg
[   29.317469] card_type: SDIW416, config block: 0
[   29.322081] cfg80211_wext=0xf
[   29.325051] max_vir_bss=1
[   29.327684] cal_data_cfg=none
[   29.330664] ps_mode = 1
[   29.333111] auto_ds = 1
[   29.335568] host_mlme=enable
[   29.338460] fw_name=nxp/sdiouartiw416_combo_v0.bin
[   29.343276] SDIO: max_segs=128 max_seg_size=65535
[   29.347989] rx_work=1 cpu_num=4
[   29.351159] Attach mlan adapter operations.card_type is 0x108.
[   29.357334] wlan: Enable TX SG mode
[   29.360845] wlan: Enable RX SG mode
[   29.365836] Request firmware: nxp/sdiouartiw416_combo_v0.bin
[   29.612519] Wlan: FW download over, firmwarelen=534196 downloaded 534196
[   30.882123] WLAN FW is active
[   30.885105] on_time is 30883373750
[   30.910641] fw_cap_info=0x187c4f03, dev_cap_mask=0xffffffff
[   30.916264] max_p2p_conn = 8, max_sta_conn = 8
[   30.932033] Register NXP 802.11 Adapter mlan0
[   30.937986] Register NXP 802.11 Adapter uap0
[   30.945449] Register NXP 802.11 Adapter wfd0
[   30.953892] wlan: version = SDIW416---16.92.21.p55.3-MM5X16366.p5-GPL-(FP92)
[   30.962991] wlan: Register to Bus Driver Done
[   30.967473] wlan: Driver loaded successfully
root@imx8mpevk:~# uname -r
5.15.71+g95448dd0dc9b
root@imx8mpevk:~#

Are you using a custom board for the Host? Have you double checked if a HW rework is needed on your board?

Regards,

Daniel.

0 Kudos
Reply

1,606 Views
vmbtech
Contributor I

Yes this is a custom board, and it may be true that some power up conditions are not 100% true to the datasheet.

But...

It would be really helpful to get the meanings of those firmwarestat values though, if at all possible.

"firmwarestat=0x5f5f" and f00a

After all, they must have a specific meaning within the module/chipset itself

0 Kudos
Reply

1,592 Views
DanielRuvalcaba
NXP TechSupport
NXP TechSupport

Could you please take a look this thread? Seems like a similar issue.
Please share with me your wifi_mod_para.conf

Regards,

Daniel.

0 Kudos
Reply

1,523 Views
vmbtech
Contributor I

This is the config file

I know it works because the firmware load works on some prototype boards but fail on some others

SDIW416 = {
       cfg80211_wext=0xf
       max_vir_bss=1
       cal_data_cfg=none
       ps_mode=1
       auto_ds=1
       host_mlme=1
       fw_name=nxp/sdiouartiw416_combo_v0.bin
}

 

Would still love to know what those firmwarestat values mean

0 Kudos
Reply

1,157 Views
DanielRuvalcaba
NXP TechSupport
NXP TechSupport

Hi,

The values 0x5f5f and 0xf00a indicates the FW is stuck during Init time. More details about these values are for internal use only, this is why we don't have any user manual or guide available.

Regards,

Daniel.

0 Kudos
Reply

1,441 Views
DanielRuvalcaba
NXP TechSupport
NXP TechSupport

Hi @vmbtech,

Please confirm the following.

1. The log you attached is with 5.15.71 driver (SDIW416---16.92.21.p55.3-MM5X16366.p5-GPL-(FP92)) in Linux 5.15.71.

2. If you do not modify the driver, you only get 0x5f5f. But if you modify the driver, you get the same 0x5f5f value, but you notice that 0xf00a appears first, am I right?

Regards,
Daniel.

0 Kudos
Reply

1,422 Views
vmbtech
Contributor I
Yes that is all correct, 5.15.71, and the modification to the driver was to print out the value of the register for all the retries before retry limit is reached, which shows the register changing
0 Kudos
Reply

1,503 Views
DanielRuvalcaba
NXP TechSupport
NXP TechSupport

I will need to check this internally.

Give me some time to get an update.
Regards,

Daniel.

0 Kudos
Reply