Project

General

Profile

Actions

Bug #245

open

Add missing Broadcom firmwares (Solidrun Hummingboard IIOT)

Added by Valentin Geffroy 13 days ago. Updated 11 days ago.

Status:
Submitter feedback needed
Priority:
High
Target version:
Start date:
09/24/2025
Due date:
% Done:

100%

Estimated time:
Hardware platform:
Solidrun (aarch64)
OS Affects Version/s:
batz-2.0
OS Fix Version/s:
batz-2.0
Labels:

Description

Adding these firmwares will fix these issues:

May 31 02:00:01 localhost kernel: cfg80211: Loading compiled-in X.509 certificates for regulatory database
May 31 02:00:01 localhost kernel: cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
Aug 20 08:30:24 localhost kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6

Aug 20 08:30:24 localhost kernel: brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.fsl,imx8mp-sr-som.bin failed with error -2
Aug 20 08:30:24 localhost kernel: brcmfmac mmc0:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43455-sdio.fsl,imx8mp-sr-som.bin

Aug 20 08:31:20 localhost.localdomain kernel: cfg80211: failed to load regulatory.db
Aug 20 08:31:26 localhost.localdomain kernel: brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.fsl,imx8mp-sr-som.txt failed with error -2
Aug 20 08:31:26 localhost.localdomain kernel: brcmfmac mmc0:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43455-sdio.fsl,imx8mp-sr-som.txt

Aug 20 08:32:27 localhost.localdomain kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
Aug 20 08:32:27 localhost.localdomain kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar  3 2019 19:47:25 version 7.45.184 (r712131 CY) FWID 01-b363c0a0
Aug 20 08:32:27 localhost.localdomain NetworkManager[615]: <info>  [1755671547.8610] rfkill0: found Wi-Fi radio killswitch (at /sys/devices/platform/soc@0/30800000.bus/30b40000.mmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:1/ieee80211/phy0/rfkill0) (driver brcmfmac)
Actions #1

Updated by Valentin Geffroy 13 days ago

  • Status changed from New to In Progress
Actions #2

Updated by Valentin Geffroy 12 days ago ยท Edited

  • % Done changed from 0 to 30

For Hummingboard IIOT based on BSP/kernel 5.15 it might use: https://github.com/SolidRun/meta-solidrun-arm-imx8/blob/kirkstone-imx8m/recipes-kernel/linux-firmware/linux-firmware_%25.bbappend
Next step is to package these firmwares + test on the board

Actions #3

Updated by Valentin Geffroy 11 days ago

  • % Done changed from 30 to 80
  • before on redpesk package by default (solidrun-firmware-1.1.0-3.redpesk.bsp.hummingboard.iiot_95a64572.rpbatz.aarch64) :
[root@d0-63-b4-05-d1-23 ~]# dmesg |grep brcm
[    8.125721] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    8.135484] brcmfmac mmc0:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.fsl,imx8mp-sr-som.bin failed with error -2
[    8.149022] brcmfmac mmc0:0001:1: Falling back to sysfs fallback for: brcm/brcmfmac43455-sdio.fsl,imx8mp-sr-som.bin
  • what I have now (solidrun-firmware-2.0.0-1.firmwares.brcm_bb32e33e.rpbatz.aarch64) :
[root@d0-63-b4-05-d1-23 ~]# dmesg |grep brcm
[    7.491295] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    7.836202] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    7.865160] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar  3 2019 19:47:25 version 7.45.184 (r712131 CY) FWID 01-b363c0a0

I have to look to regulatory.db and integrate everything in the R-Cube project
All firmwares come from Yocto SolidRun kirkstone imx8M sources (kernel 5.15) that we must update for kernel 6.6 BSP Scarthgap
https://github.com/SolidRun/meta-solidrun-arm-imx8/blob/kirkstone-imx8m/recipes-kernel/linux-firmware/linux-firmware\_%25.bbappend

Actions #4

Updated by Valentin Geffroy 11 days ago

  • % Done changed from 80 to 100
Actions #5

Updated by Valentin Geffroy 11 days ago

  • Status changed from In Progress to Submitter feedback needed
Actions #6

Updated by Valentin Geffroy 11 days ago

For the following error, I don't know how to manage that because the package which gives the db and its signature is here...

[root@d0-63-b4-05-d1-23 ~]# dmesg |grep regulatory
[    2.884643] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    2.927528] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    2.941858] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[   64.485981] cfg80211: failed to load regulatory.db

However the package is installed:

[root@d0-63-b4-05-d1-23 ~]# dnf provides /usr/lib/firmware/regulatory.db
Last metadata expiration check: 1:04:44 ago on Thu 25 Sep 2025 05:44:56 PM CEST.
wireless-regdb-2020.11.20-6.apps.rpbatz.noarch : Regulatory database for 802.11 wireless networking
Repo        : @System
Matched from:
Filename    : /usr/lib/firmware/regulatory.db

wireless-regdb-2020.11.20-6.apps.rpbatz.noarch : Regulatory database for 802.11 wireless networking
Repo        : redpesk-lts-batz-2.0-update-build
Matched from:
Filename    : /usr/lib/firmware/regulatory.db

wireless-regdb-2020.11.20-6.apps.rpbatz.noarch : Regulatory database for 802.11 wireless networking
Repo        : redpesk-baseos-update
Matched from:
Filename    : /usr/lib/firmware/regulatory.db

[root@d0-63-b4-05-d1-23 ~]# rpm -qi wireless-regdb
Name        : wireless-regdb
Version     : 2020.11.20
Release     : 6.apps.rpbatz
Architecture: noarch
Install Date: Tue 16 Sep 2025 03:47:31 PM CEST
Group       : Unspecified
Size        : 10703
License     : ISC
Signature   : RSA/SHA256, Thu 16 May 2024 11:24:58 AM CEST, Key ID 6848354c19c080cf
Source RPM  : wireless-regdb-2020.11.20-6.apps.rpbatz.src.rpm
Build Date  : Thu 16 May 2024 11:24:58 AM CEST
Build Host  : builder-13.redpesk.onprem
Packager    : IoT.BZH
Vendor      : IoT.BZH
URL         : https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb
Summary     : Regulatory database for 802.11 wireless networking
Description :
The wireless-regdb package provides the regulatory rules database
used by the kernels 802.11 networking stack in order to comply
with radio frequency regulatory rules around the world.

I studied the driver code, here is the error: https://github.com/nxp-imx/linux-imx/blob/lf-5.15.y/net/wireless/reg.c#L1045
So we have not firmware loaded but it exists on the target in both paths:

[root@d0-63-b4-05-d1-23 ~]# ls -l /lib/firmware/ |grep regu
-rw-r--r--  1 root root    3940 May 16  2024 regulatory.db
-rw-r--r--  1 root root    1182 May 16  2024 regulatory.db.p7s
[root@d0-63-b4-05-d1-23 ~]# ls -l /usr/lib/firmware/ |grep regu
-rw-r--r--  1 root root    3940 May 16  2024 regulatory.db
-rw-r--r--  1 root root    1182 May 16  2024 regulatory.db.p7s

So probably it's dealing with the x.509 certificate but disabling the configuration hasn't impact (same issue):

# disable CFG80211 database verification (not needed)
CONFIG_EXPERT=y
CONFIG_CFG80211_CERTIFICATION_ONUS=y
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=n
CONFIG_CFG80211_USE_KERNEL_REGDB_KEY=n

Another try I made is to take the latest wireless-regdb here: https://git.kernel.org/pub/scm/linux/kernel/git/wens/wireless-regdb.git/tree/
But the issue is still present. Since this is not a blocking issue for WiFi operational features, maybe we'll fix that with 6.6 Kernel / redpesk corn 3.0!

Actions

Also available in: Atom PDF