AlmaLinux/raspberry-pi

Workaround for Raspberry Pi 400 Wi-Fi not working

metalefty opened this issue · 7 comments

Let me leave here a workaround for the record. It is similar to #18 but a little bit different issue.

Wi-Fi doesn't work on Raspberry Pi 400 fresh AlmaLinux 9 image (20221116). Unfortunately, linux-firmware package doesn't contain any firmware for BCM43456 so it fails to load proper firmware.

# dmesg | grep brcmfmac
[   19.848452] brcmfmac: F1 signature read @0x18000000=0x15294345
[   19.859149] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
[   19.886424] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.raspberrypi,400.bin failed with error -2
[   19.902527] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.bin failed with error -2
[   19.968835] usbcore: registered new interface driver brcmfmac
[   20.926139] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

Download the following 3 files from here: https://github.com/bsdkurt/brcm-supplemental

  • brcmfmac43456-sdio.raspberrypi,400.bin
  • brcmfmac43456-sdio.raspberrypi,400.clm_blob
  • brcmfmac43456-sdio.raspberrypi,400.txt

Then put them in /lib/firemware/brcm and reboot. Other firmware files are xz compressed but compression is not necessary.

After reboot, Wi-Fi firmware will be loaded successfully and you'll get Wi-Fi working. Try nmcli device wifi list.

[    8.911175] brcmfmac: F1 signature read @0x18000000=0x15294345
[    8.963376] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
[    9.065806] usbcore: registered new interface driver brcmfmac
[    9.226089] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
[    9.256216] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/9 wl0: May 14 2020 17:26:08 version 7.84.17.1 (r871554) FWID 01-3d9e1d87
[   13.425989] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[   13.986762] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[   17.410402] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled

I think we can package this and include in our image.
Is it also necessary for AlmaLinux 8?

I haven't checked AlmaLinux 8 but maybe yes. I'll have a look tomorrow.

@andrewlukoshko
It was the same on AlmaLinux 8. The same workaround worked with 8. I'll help with anything making the package.

Ubuntu packages such files as linux-firmware-raspi2.
https://packages.ubuntu.com/jammy/arm64/linux-firmware-raspi/filelist

openSUSE packages such files as bcm43xx-firmware:
https://software.opensuse.org/package/bcm43xx-firmware

I had a talk with Andrew, we'll create a new package named linux-firmware-raspberrypi for this.

Addressed in #27.

I am facing this exact issue as I've just updated from Ubuntu 2022 to 2024.