0

I am running a custom buildroot + uboot software with a 5.15.78-v8 linux kernel for a Raspberry Pi CM4 and am finding that the Wi-Fi driver by default isn't being loaded.

In dmesg, I am seeing these errors that look related to the driver not being loaded:

[21.2122] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin failed with error -2
[21.2123] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.txt failed with error -2
[21.2124] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

modinfo also shows no usage of the brcmfmac module. and ifconfig -a doesn't show the wlan0 interface.

Does anyone know why my driver may not be loading correctly and timing out instead? Cheers

1 Answer 1

1

The trick with this is that one error message is meant to exist, and one isn't.

Comparing the above dmesg to the dmesg of a stock os pi, we see that Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin failed with error -2 is there when it's working. So, we only have to resolve the second issue with brcm/brcmfmac43455-sdio.txt.

My buildroot package was bringing in wifi drivers but not the right ones. The solution was to change the defconfig like so:

BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI=y
# BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_BT is not set
BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI=y
# BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX is not set

This brings in the right libraries from this repo which worked for me: https://github.com/LibreELEC/brcmfmac_sdio-firmware-rpi/tree/master/firmware/brcm

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.