brcmfmac firmware regression.

Open
#7,186 9 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
38/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
c, linux

Research direction

Reproduce on the Raspberry Pi 3B+ systems described, comparing firmware 7.45.265 with 7.45.234. Start with the brcmfmac driver output and the iw reg get, iw phy phy0 channels, and iw dev wlan0 scan results, focusing on channel 165. Done means the newer firmware path detects access points on channel 165 and adjacent valid 5GHz channels as the older firmware does.

Written by the indexing model from the issue text.

Description

Describe the bug

Hope this is the right forum to report this issue.

There's been a regression in the wifi firmware between these versions

Firmware: BCM4345/6 wl0: Apr 15 2021 03:03:20 version 7.45.234 (4ca95bb CY) FWID 01-996384e2

and

Firmware: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b

Some valid 5GHz wifi channels have become unusable with the newer firmware. (I have tested/confirmed with channel 165 but other adjacent channels are affected too.)

The last set of non-DFS 5Ghz channels are shown in the output of iw reg get and iw phy phy0 channels but iw dev wlan0 scan doesn't show any AP/SSID on channel 165 with the new firmware.

# iw reg get 
global
country IN: DFS-UNSET
	(2402 - 2482 @ 40), (N/A, 30), (N/A)
	(5150 - 5250 @ 80), (N/A, 30), (N/A)
	(5250 - 5350 @ 80), (N/A, 24), (0 ms), DFS
	(5470 - 5725 @ 160), (N/A, 24), (0 ms), DFS
	(5725 - 5875 @ 80), (N/A, 30), (N/A)

phy#0
country 99: DFS-UNSET
	(2402 - 2482 @ 40), (6, 20), (N/A)
	(2474 - 2494 @ 20), (6, 20), (N/A)
	(5140 - 5360 @ 160), (6, 20), (N/A)
	(5460 - 5860 @ 160), (6, 20), (N/A)
# iw phy phy0 channels
 ----snip---
	* 5745 MHz [149] 
	 Maximum TX power: 20.0 dBm
	 Channel widths: 20MHz HT40+ VHT80
	* 5765 MHz [153] 
	 Maximum TX power: 20.0 dBm
	 Channel widths: 20MHz HT40- HT40+ VHT80
	* 5785 MHz [157] 
	 Maximum TX power: 20.0 dBm
	 Channel widths: 20MHz HT40- HT40+ VHT80
	* 5805 MHz [161] 
	 Maximum TX power: 20.0 dBm
	 Channel widths: 20MHz HT40- HT40+ VHT80
	* 5825 MHz [165] 
	 Maximum TX power: 20.0 dBm
	 Channel widths: 20MHz HT40- VHT80

iw dev wlan0 scan |egrep 'primary channel: 165' returns no output with the new firmware.

But after I manually downgraded the firmware to the older version... it started detecting them.

[   20.094035] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b
[  914.033341] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Apr 15 2021 03:03:20 version 7.45.234 (4ca95bb CY) FWID 01-996384e2
#  iw dev wlan0 scan |egrep 'primary channel: 165'
		* primary channel: 165
		* primary channel: 165
Steps to reproduce the behaviour

See above.

Device (s)

Raspberry Pi 3 Mod. B+

System

This behaviour with the new firmware exists in both Libreelec 12.2 (kernel 6.12.56) and Alpine Linux 3.23.2 (kernel 6.12.60-0-rpi) on Raspberry Pi 3B+.

Logs

No response

Additional context

No response

Dominant language
C
Stars
13.2k
Forks
5.5k
Avg merge
2d 21h
Merged PRs (30d)
21

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from raspberrypi/linux

All issues in raspberrypi/linux

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.