Can't run the SDIO WIFI module - CMD53 with -84 error everytime

Hello everyone,

I’m having difficulties bringing up the SDIO Wi-Fi module – the u-blox Maya-W2. The system crashes only when sending CMD53, and SDIO tuning on SDR104 mode also fails every time. Do you have any tips on how I can resolve this issue?

All commands except CMD53 work fine. However, when CMD53 is sent, it returns error code -84, which appears to be a CRC error. I’ve analyzed the entire communication and it doesn’t seem to be a hardware issue. I suspect the Jetson Orin might be having trouble handling CMD53 during SDIO communication, but I’m not sure why.

I’d really appreciate any advice you can offer.

[   16.559330] mmc1: SDHCI controller on 3400000.mmc [3400000.mmc] using ADMA 64-bit
***[   16.922629] mmc1: Tuning failed, falling back to fixed sampling clock***
[   16.925751] mmc1: new ultra high speed SDR104 SDIO card at address 0001
[   16.926003] vendor=0x0471 device=0x0205 class=0 function=1
[   16.926089] Attach moal handle ops, card interface type: 0x109
[   17.009526] SDIW612: init module param from usr cfg
[   17.009540] card_type: SDIW612, config block: 0
[   17.009546] cfg80211_wext=0xf
[   17.009547] max_vir_bss=1
[   17.009548] ps_mode = 1
[   17.009549] auto_ds = 1
[   17.009551] host_mlme=enable
[   17.009555] fw_name=nxp/sduart_nw61x_v1.bin.se
[   17.009579] SDIO: max_segs=128 max_seg_size=65535
[   17.009581] rx_work=1 cpu_num=12
[   17.009604] Attach mlan adapter operations.card_type is 0x109.
[   17.010072] wlan: Enable TX SG mode
[   17.010077] wlan: Enable RX SG mode
[   17.013009] Request firmware: nxp/sduart_nw61x_v1.bin.se
**[   17.064724] cmd53 write error=-84**
[   17.161472] irq: IRQ280: trimming hierarchy from :bus@0:pmc@c360000
[   17.198640] mmc1: Tuning failed, falling back to fixed sampling clock
[   17.199720] WLAN: FW download, write iomem (0) failed @ 0
[   17.199758] wlan_dnld_fw fail ret=0xffffffff
[   17.199760] wlan_dnld_fw fail ret=0xffffffff
[   17.199763] WLAN: Fail download FW with nowwait: 0
[   17.200056] SDIO Func0 (0x0-0x9): 43 03 02 02 03 00 00 02 03 00
[   17.200263] SDIO Func1 (0x10-0x17): 00 00 00 00 00 00 00 00
[   17.200604] SDIO Func1: (0x8) 00 (0x58) 04 (0x5c) 0d (0x5d) 00 (0x60) 01 (0x61) 00 (0x62) 00 (0x64) 10 (0x65) 01 (0x66) 00 (0x68) 00 (0x69) 00 (0x6a) 00
[   17.200881] SDIO Func1 (0xe8-0xf2): 01 00 00 00 00 00 00 00 24 14 70
[   17.302667] SDIO Func1 (0xe8-0xf2): 01 00 00 00 00 00 00 00 24 14 70
[   17.302709] woal_request_fw failed
[   17.302711] Firmware Init Failed
[   17.303009] Free module params
[   17.303016] woal_add_card failed
[   17.303088] wlan_sdio: probe of mmc1:0001:1 failed with error -1
[   17.303118] mmc_attach_sdio success

This is the result from Logic analyzer, and the CMD53. And it seems to have that long spacing between frames which may cause the problem.

Related problem: uSDHC auto tuning and possible SDIO failures - NXP Community

Hi,
SDIO WIFI is not tested/validated on Orin series, so would see if other users have tried it and can share experience.

We would suggest use WIFI/BT module through PCIe Key-E slot. This is the reference design.

Hello @DaneLLL ,

Isn’t SDIO a standardized protocol? I think it should be working fine.
I also checked the bit signals using an oscilloscope and noticed one irregularity: sometimes the voltage on the DAT[0–3] lines doesn’t drop to 0V, but only to about 0.9V. This suggests that the drive might be too weak, which could be causing signal integrity issues or data errors. I will try to fix it some how.

It turned out that DAT[1–2] was shorted behind some resistance, which made it difficult to detect. Anyway, everything is working fine now after fixing the short.