Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 2256222 - brcmfmac-firmware brcmfmac43455-sdio driver fails to load on RPi CM4
Summary: brcmfmac-firmware brcmfmac43455-sdio driver fails to load on RPi CM4
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: linux-firmware
Version: 39
Hardware: aarch64
OS: Linux
unspecified
low
Target Milestone: ---
Assignee: David Woodhouse
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-12-29 18:16 UTC by daegara
Modified: 2024-04-24 01:36 UTC (History)
6 users (show)

Fixed In Version: linux-firmware-20240410-1.fc39 linux-firmware-20240410-1.fc40 linux-firmware-20240410-1.fc38
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2024-04-14 01:36:08 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description daegara 2023-12-29 18:16:33 UTC
Description of problem:
A default Fedora 39 install on a RPi CM4 that uses brcmfmac-firmware v20231211 currently fails to correctly load the brcmfmac43455-sdio driver due to a missing/incorrect symlink for the CM4 platform. Below is a trivial symlink fix for this, but hopefully a helpful one.

Version-Release number of selected component (if applicable):
brcmfmac-firmware v20231211

How reproducible:
Trivially and consistently.

Steps to Reproduce:
1. Write (any) fedora aarch64 to an SD card, or the CM4 eMMC.
2. Boot.
3. Update to latest brcmfmac-firmware release (v20231211, at time of writing) via "sudo dnf up -y --refresh"
4. Note despite the correct firmware packages being installed, the output of "sudo lshw" indicates no driver is loaded for mmc@1:0001:1, where the wireless interface is located on the BCM2711.
5. Note the output of "dmesg | grep brcmfmac" (see below) further suggests the SDIO driver .txt could not be found.
6. Create a symlink named "brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt.xz" to "brcmfmac43455-sdio.raspberrypi,4-model-b.txt.xz"
7. Reload the brcmfmac kernel module via "sudo modprobe -r brcmfmac && sudo modprobe brcmfmac"
8. Note as evident from dmesg, lshw output, that the brcmfmac43455-sdio is now correctly loaded and the wlan0 interface is now available.

Actual results:

With brcmfmac-firmware v20231211,running "dmesg | grep brcmfmac" returns:
[   21.935652] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[   21.936705] usbcore: registered new interface driver brcmfmac
[   21.946819] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin failed with error -2
[   22.043741] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.txt failed with error -2
[   23.044697] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

Expected results:
"dmesg | grep brcmfmac" output, as below, noting the driver loads as expected, and the subsequent creation of a wlan0 network interface:

[10018.250485] usbcore: deregistering interface driver brcmfmac
[10018.526421] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[10018.526574] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.bin failed with error -2
[10018.530345] usbcore: registered new interface driver brcmfmac
[10018.776624] brcmfmac: brcmf_c_process_txcap_blob: no txcap_blob available (err=-2)
[10018.777005] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Apr 15 2021 03:03:20 version 7.45.234 (4ca95bb CY) FWID 01-996384e2

Additional info:
I note there are symlinks for some platform targets provided in /lib/firmware/brcm including:

brcmfmac43455-sdio.raspberrypi,4-model-b.txt.xz
brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi Compute Module 4.txt.xz

The second is a symlink to the first, but doesn't reflect what is dmesg actually shows the OS attempt to load. Loading this SDIO driver works as expected for (any) near-identical RPi 4B installs with the same driver, which was curious.

By simply copying the 4-model-b.txt.xz, or creating a further symlink to this, for the target noted in dmesg, as below, resolves this issue, and the device driver then loads as expected:

brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt.xz

On reloading the brcmfmac kernel module via "sudo modprobe -r brcmfmac && sudo modprobe brcmfmac" the output of "dmesg | grep brcmfmac" then returns as expected, and notes the driver now loads successfully.

Comment 1 Peter Robinson 2024-03-18 17:39:17 UTC
> By simply copying the 4-model-b.txt.xz, or creating a further symlink to
> this, for the target noted in dmesg, as below, resolves this issue, and the
> device driver then loads as expected:

Yes, the RPi confirms that it uses the same modules as the 4B.

Comment 2 Peter Robinson 2024-03-18 17:46:57 UTC
I've sent this upstream and it'll be in the next Fedora build, sorry for the delay in response.

Comment 3 daegara 2024-03-19 12:19:55 UTC
Much appreciated - thanks! :)

Comment 4 Fedora Update System 2024-04-11 13:26:45 UTC
FEDORA-2024-5829ba652c (linux-firmware-20240410-1.fc38) has been submitted as an update to Fedora 38.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-5829ba652c

Comment 5 Fedora Update System 2024-04-11 13:26:47 UTC
FEDORA-2024-8390e97bf1 (linux-firmware-20240410-1.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-8390e97bf1

Comment 6 Fedora Update System 2024-04-11 13:26:49 UTC
FEDORA-2024-3cb8093bdf (linux-firmware-20240410-1.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-3cb8093bdf

Comment 7 Fedora Update System 2024-04-12 02:05:09 UTC
FEDORA-2024-3cb8093bdf has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-3cb8093bdf`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-3cb8093bdf

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2024-04-12 02:33:57 UTC
FEDORA-2024-8390e97bf1 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-8390e97bf1`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-8390e97bf1

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2024-04-12 02:41:36 UTC
FEDORA-2024-5829ba652c has been pushed to the Fedora 38 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-5829ba652c`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-5829ba652c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Fedora Update System 2024-04-14 01:36:08 UTC
FEDORA-2024-8390e97bf1 (linux-firmware-20240410-1.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 11 Fedora Update System 2024-04-19 21:35:04 UTC
FEDORA-2024-3cb8093bdf (linux-firmware-20240410-1.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 12 Fedora Update System 2024-04-24 01:36:27 UTC
FEDORA-2024-5829ba652c (linux-firmware-20240410-1.fc38) has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.


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