Hi NXP,
I have a Wi-Fi module that supports SDIO3.0 (802.11ac mode) mode. The module is installed at SD1 slot, and the board is configured to boot from SD3 (eMMC). The BSP version is L3.14.52_1.1.0-ga.
On board startup, I was able to see the SDHC driver successfully enabled ultra high speed mode for the Wi-Fi module. I used insmod to load the driver for my Wi-Fi module. The driver and radio firmware loaded okay without any error. iw wlan0 scan worked okay.
The problem began when I used either "iw wlan0 connect" or "wpa_supplicant" to connect my Wi-Fi module to an AP. After issuing the connect command, the console started reporting the following errors.
mmc0: Timeout waiting for hardware interrupt.
AR6000: SDIO bus operation failed! MMC stack returned : -110
__HIFReadWrite, addr:0X000868, len:00000004, Write, Sync
mmc0: Timeout waiting for hardware interrupt.
AR6000: SDIO bus operation failed! MMC stack returned : -110
__HIFReadWrite, addr:0X000868, len:00000004, Write, Sync
mmc0: Timeout waiting for hardware interrupt.
AR6000: SDIO bus operation failed! MMC stack returned : -110
__HIFReadWrite, addr:0X01C7EC, len:00000256, Write, Async
mmc0: Timeout waiting for hardware interrupt.
AR6000: SDIO bus operation failed! MMC stack returned : -110
__HIFReadWrite, addr:0X01C7E0, len:00000256, Write, Async
This problem appears to happen in SDIO3.0 mode only. I'll run a test with the applicable DTS files modified to restrict operations to SDIO2.0 only.
The issue also occurred with BSP L4.1.15.
I had not seen this problem when I tested the same Wi-Fi module and the same version of the driver
on an i.MX6SX SABRE SDB. Also the same BSP version L3.14.52.
At the moment, I suspect the problem may be associated with the SDHC driver or the SDIO I/F.
I was wondering if anyone might have suggetions?
Thank you very much,
Dawei
Solved! Go to Solution.
Hi gusarambula,
Thank you very much for checking. I solved the problem. It was due to the power source from MEM_3V3.
This source provides 1 Amp. max. It is shared by the SD1 Slot, the eMCC chip (if populated), and at least one other memory device on the i.MX7 SABRE SDB. (See the standard i.MX7 SABRE SDB).
In my test configuration, I have an eMMC populated on the standard i.MX7 SABRE SDB, and an 802.11ac wireless module installed at SD1 slot.
My wireless modules requires 460 mA for a short duration to establish connection to an AP. It seems the shared 1 Amp. supply was not adequate.
The problem was fixed by removing the VDD_SD1 to the SD1 slot and feeding an external 3.3 V source to the SDIO wireless module.
Best Regards,
Dawei
Hello Dawei Chen,
Were you able to change the dts to limit to SDIO2.0? Did the problem persist or have you found a solution?
Regards,
Hi gusarambula,
Thank you very much for checking. I solved the problem. It was due to the power source from MEM_3V3.
This source provides 1 Amp. max. It is shared by the SD1 Slot, the eMCC chip (if populated), and at least one other memory device on the i.MX7 SABRE SDB. (See the standard i.MX7 SABRE SDB).
In my test configuration, I have an eMMC populated on the standard i.MX7 SABRE SDB, and an 802.11ac wireless module installed at SD1 slot.
My wireless modules requires 460 mA for a short duration to establish connection to an AP. It seems the shared 1 Amp. supply was not adequate.
The problem was fixed by removing the VDD_SD1 to the SD1 slot and feeding an external 3.3 V source to the SDIO wireless module.
Best Regards,
Dawei
Thanks, Dawei, for sharing the solution! I'm sure it will help other Community users!