Linux – Trouble “activating” the SDIO Broadcom BCM43430 Wifi chip on Linux 4.8.0

firmwarekernel-moduleslinuxsdiowifi

I have an Intel Z3735F (Bay Trail) platform running a current 64Bit kernel 4.8. on UEFI32.

From lines in dmesg and hwinfo I found, that on this particular device the on-board "Broadcom BCM43430 WLAN card" is connected to mmc0, which itself is connected to the SDIO bus.

From dmesg I also saw, that the init-system recognizes the card, and attempts to load brcmfmac43430-sdio.bin into the module brcmfmac. I obtained the firmware from Raspberry Github. Now it wanted the "NVRAM". I tried the one from the same repo, no error, but no Wifi-Card. I tried the ones Windows uses (There were 2 slightly different ones, tried both), also no change.

By "no change" I mean no device appearing in "ifconfig -a".

There are some messages in dmesg:

mmc0: queuing unknown CIS tuple 0x80 (2 bytes)
mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
mmc0: queuing unknown CIS tuple 0x80 (3 bytes)
mmc0: queuing unknown CIS tuple 0x80 (7 bytes)
...
brcmfmac mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac43430-sdio.bin
brcmfmac mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac43430-sdio.txt
...
brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
< 2 more like that >

My Google-Fu has not turned up something helpful yet, so where do I go from here?

Side-Question: is there a nice tool to display SDIO bus and device tree information? like lspci, and lsusb, but lssdio?

@Jeremy31 : grep -i nvram /sys/firmware/efi/efivars/* results in no output, and none of the "files" in that folder have "nvram" in their name.

If you need more/specific info, leave a comment, I will edit in the requested info.

Best Answer

If anyone is still having problems with this: Look into this post: https://patchwork.kernel.org/patch/9791523/

Kernelwarrior Hans has collected firmware implementations for the bcm43430 from various sources. You can find them here: http://jwrdegoede.danny.cz/brcm-firmware/ or here (if the link is down): https://wolk.wopwop.cc/s/AmPFsOgJdnK4xMU

I have succesfully used brcmfmac43430-sdio.txt.ap6210 and added it to /lib/firmware/brcm as brcmfmac43430a0-sdio.txt.

Do note that on Debian/Ubuntu you currently (late 2017) need the kernel/firmware from the 'testing' repo, not the stable one, since the patches for the broadcom sdio devices have only been added recently.

Related Question