Bug 2513587 - brcmfmac-firmware missing BCM43456 firmware - WiFi broken on Raspberry Pi 400
Summary: brcmfmac-firmware missing BCM43456 firmware - WiFi broken on Raspberry Pi 400
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: linux-firmware
Version: 45
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ---
Assignee: David Woodhouse
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-10 18:24 UTC by Petr Sklenar
Modified: 2026-08-11 08:42 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-08-11 08:42:32 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Petr Sklenar 2026-08-10 18:24:36 UTC
Description of problem:
WiFi does not work on Raspberry Pi 400 running Fedora 45 (Rawhide). The brcmfmac driver identifies the WiFi chip as BCM4345/9 and requests firmware brcm/brcmfmac43456-sdio.bin, but this file is not included in the brcmfmac-firmware package. The firmware load fails with error -2 (ENOENT), leaving the system with no wlan interface.

The BCM43456 is a distinct chip from BCM43455 - it requires its own firmware binary (version 7.84.17.1, ~496 KB). Symlinking 43455 firmware does NOT work (results in HT Avail timeout).

The correct firmware files are available from RPi-Distro firmware-nonfree repository and have a proper license (Broadcom/Cypress EULA).

Version-Release number of selected component:
brcmfmac-firmware-20260622-1.fc45.noarch
kernel-7.2.0-0.rc6.260806g0d8395707651.51.fc45.aarch64
linux-firmware-20260622-1.fc45.noarch

How reproducible:
Always (100%)

Steps to Reproduce:
1. Install Fedora 45 (Rawhide) on Raspberry Pi 400
2. Boot the system
3. Check for WiFi interface: ip link show | grep wlan
4. No wlan interface exists
5. Check dmesg: dmesg | grep brcmfmac
6. Observe: 'Direct firmware load for brcm/brcmfmac43456-sdio.bin failed with error -2'
7. Observe: 'brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50'

Actual Results:
No WiFi interface (wlan0) is created. The brcmfmac driver fails to load firmware:

  brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
  brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.bin failed with error -2
  brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

Expected Results:
WiFi interface wlan0 should be created and functional. The brcmfmac-firmware package should include brcmfmac43456-sdio firmware files for the BCM43456 chip used in Raspberry Pi 400.

Additional info:
- Hardware: Raspberry Pi 400 Rev 1.0 (aarch64)
- WiFi chip: BCM4345/9 (BCM43456), SDIO vendor=0x02d0 device=0xa9a6
- Kernel: 7.2.0-0.rc6.260806g0d8395707651.51.fc45.aarch64
- Affected boards: Raspberry Pi 400 (and potentially other boards using BCM43456). Debian filed a similar bug: Bug#999485.
- Impact: All Fedora users with Raspberry Pi 400 have no WiFi out of the box.

Comment 1 Petr Sklenar 2026-08-10 18:26:43 UTC
Workaround: Download the correct BCM43456 firmware from RPi-Distro firmware-nonfree repository and reboot:

sudo curl -sL -o /lib/firmware/brcm/brcmfmac43456-sdio.bin   https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/bookworm/debian/config/brcm80211/brcm/brcmfmac43456-sdio.bin

sudo curl -sL -o /lib/firmware/brcm/brcmfmac43456-sdio.clm_blob   https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/bookworm/debian/config/brcm80211/brcm/brcmfmac43456-sdio.clm_blob

sudo curl -sL -o /lib/firmware/brcm/brcmfmac43456-sdio.txt   https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/bookworm/debian/config/brcm80211/brcm/brcmfmac43456-sdio.txt

sudo reboot

After reboot, WiFi works:
  brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/9 wl0: May 14 2020 17:26:08 version 7.84.17.1
  wlan0 interface created, WiFi networks visible (2.4 GHz + 5 GHz)

Note: Symlinking brcmfmac43455 -> brcmfmac43456 does NOT work (HT Avail timeout).
The BCM43456 requires its own distinct firmware binary.

Comment 2 Petr Sklenar 2026-08-10 18:29:44 UTC
with driver from workaround:

fedora@fedora:~$ ethtool -i wlan0
driver: brcmfmac
version: 7.84.17.1
firmware-version: 01-3d9e1d87
expansion-rom-version: 
bus-info: mmc1:0001:1
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
fedora@fedora:~$ 

fedora@fedora:~$ nmcli dev wifi list
IN-USE  BSSID              SSID                         >
        6E:5A:B0:26:B8:AB  --                           >
        6E:5A:B0:35:B8:AA  --                           >
        B2:22:7A:84:F1:39  DIRECT-39-HP wifi direct prin>
        E0:63:DA:0A:A5:87  Moje4k                     >
        E6:63:DA:0A:A5:87  --

Comment 3 Peter Robinson 2026-08-11 08:42:32 UTC
The WiFi module in the Raspberry Pi 400 is by Synopsis and they refuse to support Linux properly with their fork of the brcmfmac IP, the driver itself doesn't properly support the Synopsis and the vendor refuses to ship firmware in linux-firmware. We can't currently fix this.


Note You need to log in before you can comment on or make changes to this bug.