Raspberry Pi CM4 wifi not working


Raspberry pi CM4 wifi ain't working. Rpi4 uses a brcmfmac43455 and CM4 a brcmfmac43456.
How to fix this ?

Best regards

( CM4 4GB RAM 32GB emmc Wifi, Intel Pci-express gigalan. )

Hello, did you find any solutions to this problem? I have the same behavior.

I've also run into this while testing with the DFRobot CM4 Routerboard and Seeed Studio CM4 Carrier Board, both of which run OpenWRT well otherwise. See my current debugging steps here.

Here's dmesg output on boot from the latest snapshot:

root@OpenWrt:~# dmesg | grep brcmfmac
[    6.865501] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    6.889369] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt failed with error -2
[    6.901659] brcmfmac mmc1:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
[    6.917922] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.txt failed with error -2
[    6.927674] brcmfmac mmc1:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43455-sdio.txt
[   11.913882] usbcore: registered new interface driver brcmfmac
[   12.933667] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

Nothing shows up for wireless:

root@OpenWrt:~# iw dev
root@OpenWrt:~# wifi status
1 Like

Try this fix:

cd /lib/firmware/brcm
cp brcmfmac43455-sdio.raspberrypi,4-model-b.txt brcmfmac43455-sdio.raspberrypi,4-comput

The question is (and I'm just getting my feet wet with OpenWRT this week... so may be naive)—does this section of the code need to also add in support for the compute-module-4 and/or pi 400? https://github.com/openwrt/openwrt/blob/1903233f2b312caf87aa369cd325d9689c45a1c6/package/firmware/cypress-nvram/Makefile#L89-L103

This worked for me.

This was fixed for OpenWrt master branch:

I proposed it to have it also in OpenWrt 21.02:

1 Like

Okay so the fix works. I'm trying to figure out how to repackage the cypres-nvram-43455-sdio-rpi-4b_*.ipk to include this. I see the new makefile but I'm not sure how to get that compiled to an .ipk.

Anyone have any thoughts on that? I've tried to compile with the makefile but it's missing the dependent rules.mk and package.mk. I'm new to pulling apart the image but wanting to create and image that is just good to go so that I don't have to run that shell command after flashing.