driver
driver copied to clipboard
Failed to bring up WILC3000
Hi everybody,
I have a problem with the ATWILC3000 development shield and my beaglebone black. I use the SDIO Interface to connect the beaglebone and the WILC3000 via Jumpe wires (I know that this is not the best solution but just for testing the module). I also built my own small embedded linux with Yocto used the dunfell branche with the Kernel-Version 5.4.58-yocto-standard. I built the sdio modul as an external modul so I can start it from an USB stick. I have stored the firmware in /lib/firmware/mchp. And I used the device driver files from here https://github.com/linux4sam/linux-at91/tree/linux4sam-2020.10/drivers/staging/wilc1000
When I load the wilc-sdio.ko with insmod I get no errors. But if I want to bring it up with ifconfig I get some errors I do not know. I looked in the sdio.c file and I suspect that my host can not read the Device ID from the chip but I'm not sure. A few weeks ago I used the module with SPI and it worked fine. But now I am a bit lost.
Here is the terminal output. Maybe anyone can help me to solve the problem.
root@beaglebone-yocto:/media# insmod wilc-sdio.ko wilc_sdio: loading out-of-tree module taints kernel. Registering wifi device Max scan ids= 10,Max scan IE len= 1000,Signal Type= 1,Interface Modes= 844 Initializing Locks ... wilc_sdio mmc2:0001:1: Driver Initializing success root@beaglebone-yocto:/media# ifconfig wlan0 up wilc_sdio mmc2:0001:1 wlan0: INFO [wilc_mac_open]MAC OPEN[e0e852a7] wlan0 WILC POWER UP wilc_sdio mmc2:0001:1 wlan0: INFO [wilc_init_host_int]Host[e0e852a7][709c79b3] wilc_sdio mmc2:0001:1 wlan0: INFO [wilc_mac_open]*** re-init *** wilc_sdio mmc2:0001:1 wlan0: INFO [wilc_wlan_init]Initializing WILC_Wlan wilc_sdio mmc2:0001:1: SDIO speed: 25000000 wilc_sdio mmc2:0001:1: wilc_sdio_cmd53..failed, err(-84) wilc_sdio mmc2:0001:1: Failed cmd53, read reg (003b0000)... [wilc start]: fail read reg 0x3b0000 wilc_sdio mmc2:0001:1: wilc_sdio_cmd53..failed, err(-84) wilc_sdio mmc2:0001:1: Failed cmd53, read reg (00001000)... wilc_sdio mmc2:0001:1: Unsupported chipid: 0 Failed to wakup the chip wilc_sdio mmc2:0001:1: wilc_sdio_cmd53..failed, err(-84) wilc_sdio mmc2:0001:1: Failed cmd53, read reg (003b0000)... [wilc start]: fail read reg 0x3b0000 wilc_sdio mmc2:0001:1: wilc_sdio_cmd53..failed, err(-84) wilc_sdio mmc2:0001:1: Failed cmd53, read reg (00001000)... wilc_sdio mmc2:0001:1: wilc_sdio_cmd53..failed, err(-84) wilc_sdio mmc2:0001:1: Failed cmd53, read reg (00001118)... wilc_sdio mmc2:0001:1 wlan0: ERR [init_chip:1812] fail read reg 0x1118 wilc_sdio mmc2:0001:1 wlan0: ERR [wilc_wlan_initialize:836] Initializing WILC_Wlan FAILED wilc_sdio mmc2:0001:1 wlan0: ERR [wilc_mac_open:955] Failed to initialize wilc ifconfig: SIOCSIFFLAGS: Invalid or incomplete multibyte or wide character
Thanks for any advice about this problem.
Regards,
Marcel
Hi Marcel, Since you are trying with jumper wires(as you mentioned), you can try by reducing the SDIO clock speed to < 10 MHz.
It's worth a try. 30 MHz over simple wires is not very useful, I know.
I will report if anything changes.
I noticed while measuring that the CMD and CLK signals look good, but on the data lines only a ripple is visible without level change. I don't know what else it could be. In almost the same way I also got it with SPI. Thanks for the advice.
Hi,
I reduced the clock speed down to 1 MHz and got the same errors. Do not know but I suspect that anythings is wrong with the MMC interface on the beaglebone. The whole module worked with SPI.
Hi, I have the same error, did you find the problem?