Hi All,
We were trying to enable the SDIO based wifi on the PDK i.MX25 with L2.6.31_09_12.
We could see the communication with the module and pdk happening. But the wifi was not coming up.
After doing some extensive search on the web, found following links which say that in L2.6.31 SDIO driver of Freescale there are some limitations and wifi module would not work.
http://lists.infradead.org/pipermail/libertas-dev/2011-June/003543.html
Log for WifI Module communication:
insmod /lib/unifi_sdio.ko
UniFi SDIO Driver: v7.0 (build:212) Feb 27 2012 07:08:21
CSR SME with WEXT support
UniFi: Using native Linux MMC driver for SDIO.
sdio bus_id: mmc0:0001:1 - UniFi card 0x0 inserted
root@freescale ~$ unifi mmc0:0001:1: firmware: requesting unifi-sdio-0/sta.xbv
unifi0: Initialising UniFi, attempt 1
unifi0: Chip ID 0x07 Function 1 Block Size 512 Name UniFi-4(UF602x)
unifi0: Chip Version 0x2822
unifi0: Falling back to software hard reset
unifi0: Chip ID 0x07 Function 1 Block Size 512 Name UniFi-4(UF602x)
unifi0: unifi_dl_patch c30ed2dc 0100060e
unifi0: UniFi f/w protocol version 8.0 (driver 8.0)
unifi0: Firmware build 743: 2009-09-08 16:22 cindr0201_core_sta_rom_sdio_gc
Attached log with more debug statements.
Request anybody was successful in enabling SDIO based WiFi on i.MX25 L2.6.31? If so, please share your configurations.
Please recommend how we can solve this issue
Thanks in advance,
Best regards,
Gupta
Solved! Go to Solution.
The problem lies in the kernel 2.6.31 not indicating the real SDIO interrupts to SD Host Controller bus driver. The Unifi host software timeout waiting for response from the Unifi chip. One workaround is to disable the host controller capability MMC_CAP_SDIO_IRQ so that the SDIO bus driver's IRQ thread polls the SDIO card to check on the interrupts.
The problem lies in the kernel 2.6.31 not indicating the real SDIO interrupts to SD Host Controller bus driver. The Unifi host software timeout waiting for response from the Unifi chip. One workaround is to disable the host controller capability MMC_CAP_SDIO_IRQ so that the SDIO bus driver's IRQ thread polls the SDIO card to check on the interrupts.