linux4wilc / driver

DEPRECATED: Updated Linux drivers for the ATWILC1000/ATWILC3000 products are located at https://github.com/linux4microchip/linux/tree/master/drivers/net/wireless/microchip/wilc1000. To simplify development, the legacy Linux4WILC was merged into the Linux4Microchip repo where driver development continues (Please refer latest ATWILC1000/ATWILC 3000 Wi-Fi Link Controller Linux User Guide) Driver code for Microchip ATWILC Wireless Devices (ATWILC1000 & ATWILC3000)
https://www.microchip.com/wwwproducts/en/ATWILC1000
32 stars 20 forks source link

Failed to bring up WILC3000 #112

Open WorkingEmbedded opened 3 years ago

WorkingEmbedded commented 3 years ago

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

sripadmb commented 3 years ago

Hi Marcel, Since you are trying with jumper wires(as you mentioned), you can try by reducing the SDIO clock speed to < 10 MHz.

WorkingEmbedded commented 3 years ago

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.

WorkingEmbedded commented 3 years ago

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.

oabril commented 7 months ago

Hi, I have the same error, did you find the problem?