Built-in BCM4345 on Raspberry Pi CM4 not working on Fedora Server and Workstation 34

I have flashed the latest aarch64 image to the microSD card and booted it. I used a wired connection to install wpa_supplicant and rebooted to find my Wi-Fi is still not appearing. According to dmesg, it is having trouble loading the firmware. I searched the forum and found something similar linking to a slackware forum (https://www.linuxquestions.org/questions/slackware-arm-108/raspberry-pi-3-b-wifi-nic-not-found-4175627137/#post6013500, https://www.linuxquestions.org/questions/slackware-arm-108/raspberry-pi-3-b-wifi-nic-not-found-4175627137/#post6021434). I tried copying /lib/firmware/brcm/brcmfmac43455-sdio.txt from a Raspbian installation to my Fedora installation and this has not resolved the issue. What are my next steps to resolve this issue?

[   25.819690] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[   25.820756] usbcore: registered new interface driver brcmfmac
[   25.992017] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt failed with error -2
[   25.992099] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.txt failed with error -2
[   27.004036] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

Edit: looked up error and checked /sys/firmware/efi/efivars, but that does not apply as it does not use EFI AFAIK

1 Like



On my raspberry Pi 4b I have no problem with the fedora 34 workstation image for aarch64. I did not need to do anything additional beyond writing the image to the sd card using the fedora-arm-image-installer. I then booted to fedora and used the gnome network setup panel to configure the wifi. I then did a ‘sudo dnf update’ over the wifi and it all just worked.

If the wifi does not work I cannot imagine why since for me it was seamless.

This command is what I used to write the image to the sd card.

$ sudo fedora-arm-image-installer --image=Fedora-Workstation-34-1.2.aarch64.raw.xz --media=/dev/sdf --resizefs -y

Obviously the media device would be whatever your system sees it as.