linux icon indicating copy to clipboard operation
linux copied to clipboard

Pi 4 mod. B / BCM4345/6 / not set regulatory country code

Open rseleven opened this issue 11 months ago • 5 comments

Describe the bug

$ raspinfo
System Information
------------------

Raspberry Pi 4 Model B Rev 1.5
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"

Raspberry Pi reference 2024-11-19
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 891df1e21ed2b6099a2e6a13e26c91dea44b34d4, stage4

Linux raspberrypi 6.6.74+rpt-rpi-v8 raspberrypi/bookworm-feedback#1 SMP PREEMPT Debian 1:6.6.74-1+rpt1 (2025-01-27) aarch64 GNU/Linux
Revision	: d03115
Serial		:
Model		: Raspberry Pi 4 Model B Rev 1.5
Throttled flag  : throttled=0x0
Camera          : supported=0 detected=0, libcamera interfaces=0



$ dmesg
...
[    0.076283] raspberrypi-firmware soc:firmware: Attached to firmware from 2024-11-26T12:52:28, variant start
[    0.080287] raspberrypi-firmware soc:firmware: Firmware hash is 2ae30f53898ae2f1ba77ff570a92991bedfb0398
...
[   18.738682] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b
[   18.748360] ieee80211 phy0: brcmf_cfg80211_reg_notifier: Firmware rejected country setting
...
[   46.086090] ieee80211 phy0: brcmf_cfg80211_reg_notifier: Firmware rejected country setting
...
[ 1898.255613] ieee80211 phy0: brcmf_cfg80211_reg_notifier: Firmware rejected country setting
[ 1902.355723] brcmfmac: brcmf_set_channel: set chanspec 0x100c fail, reason -52
[ 1902.356167] brcmfmac: brcmf_set_channel: set chanspec 0x100d fail, reason -52
[ 1902.356576] brcmfmac: brcmf_set_channel: set chanspec 0xd022 fail, reason -52
[ 1902.467742] brcmfmac: brcmf_set_channel: set chanspec 0xd026 fail, reason -52
[ 1902.575619] brcmfmac: brcmf_set_channel: set chanspec 0xd02a fail, reason -52
...
[ 1954.246037] ieee80211 phy0: brcmf_cfg80211_reg_notifier: Firmware rejected country setting
...

Details to fix this yourself

  1. From the repository https://github.com/Infineon/ifx-linux-firmware downloaded the new firmware:
  • https://github.com/Infineon/ifx-linux-firmware/raw/refs/heads/master/firmware/cyfmac43455-sdio.bin
  • https://github.com/Infineon/ifx-linux-firmware/raw/refs/heads/master/firmware/cyfmac43455-sdio.clm_blob
  1. Replaced the files in the directory /usr/lib/firmware/cypress/:
  • cyfmac43455-sdio.clm_blob
  • cyfmac43455-sdio-standard.bin
$ dmesg
...
[   12.948059] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Oct 28 2024 23:27:00 version 7.45.286 (be70ab3 CY) FWID 01-95efe7fa
...

rseleven avatar Feb 12 '25 19:02 rseleven

ping @pelwell and @XECDesign - should we be including a newer wifi firmware in the APT repos?

lurch avatar Feb 13 '25 09:02 lurch

  1. This is not a universal problem - I don't see those error messages with the current firmware. Which country code are you trying to use?
  2. The rejection of a country code is much more likely to be due to the CLM blob file. We've been working on updated blobs for quite a while now, the aim being to support all the necessary CCs with the correct power value. Using a generic clm_blob such as you've found on the Infineon site may either be too conservative (poor performance at a distance) or too loud (not complying to local regulations). You could try using our shipping firmware with the new Infineon clm_blob to see how it affects your system.

pelwell avatar Feb 13 '25 13:02 pelwell

  1. For example: BY, KZ, RU, UA.

As I understand it, the clm blob file is part of Raspberry Pi OS from 2021-11-15.

rseleven avatar Feb 13 '25 18:02 rseleven

Raspberry Pi OS from 2021-11-15

Yes, and it needs updating.

pelwell avatar Feb 14 '25 16:02 pelwell

https://github.com/RPi-Distro/raspi-config/issues/283#issuecomment-3246565197

jvonau avatar Sep 04 '25 08:09 jvonau