You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix-bcm43xx.sh installs broadcom-wl for BCM4331, which hard-freezes a 2011 MacBook Air where in-kernel b43 works #7593
install/hardware/fix-bcm43xx.sh installs broadcom-wl whenever it detects a BCM4360 (14e4:43a0) or BCM4331 (14e4:4331). On a mid-2011 MacBook Air (MacBookAir4,1, BCM4331), the wl driver hard-froze the machine in the live/install environment. The in-kernel b43 driver (firmware from linux-firmware-broadcom) drives the same chip without issue — the installed system has been running wifi on b43 (interface wlp2s0b1) stably since 2026-08-19.
Note also that broadcom-wl ships a modprobe blacklist for b43/ssb/bcma, so installing it doesn't just add an alternative driver — it disables the working in-kernel path.
What I expected
The installer's Broadcom handling not to install a driver that locks up the hardware it detected, when a working in-kernel driver exists for that chip.
Suggestion
The two chips the script matches are in different situations:
BCM4360 (14e4:43a0): no open in-kernel driver — broadcom-wl is genuinely the only option, keep as-is.
BCM4331 (14e4:4331): supported by in-kernel b43 with linux-firmware-broadcom. Preferring that (or at least not blacklisting it) would avoid the freeze.
I only have one BCM4331 machine (the 2011 Air), so I can't say whether wl misbehaves on the 2012 MacBooks the comment mentions — if wl is known-needed there, gating on DMI rather than PCI ID alone might be the safer shape.
Related fix in #10910 — adds BCM43224 (14e4:4353) detection and blacklists conflicting open-source drivers (b43/brcmsmac/bcma) so broadcom-wl-dkms attaches cleanly.
Verified on physical MacBook Air 5,2 (2012) with BCM43224:
Driver: brcmsmac → wl (broadcom-wl-dkms)
Link speed: 144.4 Mbps → 1170 Mbit/s
No freeze, clean boot
Note: #7593 reports freeze on BCM4331 with broadcom-wl. BCM43224 is a different chip — the blacklist approach works here but may not be the right answer for 4331.
Checked against quattro at b83d3df. The mechanism you describe is real: install/hardware/fix-bcm43xx.sh (lines 5–10) installs broadcom-wl-dkms for any BCM4331 (14e4:4331), on every model. It has done that since #1766 added BCM4331 to fix missing Wi-Fi on a MacBook Pro 9,2 (#1816). Nothing on quattro has changed that since.
This is a hardware freeze, so it can't be reproduced on a worker without the MacBookAir4,1. What can be checked, the script's choice of driver, matches your report.
#13532 is the open fix for this issue and is already linked to close it. It skips broadcom-wl-dkms only when the machine is a MacBookAir4,1 with BCM4331. Other BCM4331 Macs and BCM4360 keep wl. This is the DMI gate you suggested. It was tested on a worker with stubbed hardware and is waiting on you to confirm it on the Air, as asked on that pull request. One thing to know before testing: Arch's linux-firmware-broadcom ships no b43 firmware, so with wl skipped, a fresh install still needs b43 firmware supplied separately (the AUR b43-firmware package). The manual change in #13532 says so. If your b43 setup got its firmware some other way, that would be worth adding on #13532.
No duplicate of this report was found. #10910 (BCM43224) and #11311 (BCM4322) touch the same script but don't change how BCM4331 is handled.
Reviewed by Claude Opus 5.5 and, as a second opinion, Codex Medium. Codex agreed on the mechanism and on #13532 being the fix (independence is not guaranteed), and it pointed out the firmware detail above. This now waits on the maintainer, and on your hardware confirmation on #13532.
Activity
andyholst commentedon Sep 12, 2026
Related fix in #10910 — adds BCM43224 (14e4:4353) detection and blacklists conflicting open-source drivers (b43/brcmsmac/bcma) so broadcom-wl-dkms attaches cleanly.
Verified on physical MacBook Air 5,2 (2012) with BCM43224:
Note: #7593 reports freeze on BCM4331 with broadcom-wl. BCM43224 is a different chip — the blacklist approach works here but may not be the right answer for 4331.
omarchybot commentedon Oct 8, 2026
Checked against
quattroat b83d3df. The mechanism you describe is real:install/hardware/fix-bcm43xx.sh(lines 5–10) installsbroadcom-wl-dkmsfor any BCM4331 (14e4:4331), on every model. It has done that since #1766 added BCM4331 to fix missing Wi-Fi on a MacBook Pro 9,2 (#1816). Nothing onquattrohas changed that since.This is a hardware freeze, so it can't be reproduced on a worker without the MacBookAir4,1. What can be checked, the script's choice of driver, matches your report.
#13532 is the open fix for this issue and is already linked to close it. It skips
broadcom-wl-dkmsonly when the machine is aMacBookAir4,1with BCM4331. Other BCM4331 Macs and BCM4360 keepwl. This is the DMI gate you suggested. It was tested on a worker with stubbed hardware and is waiting on you to confirm it on the Air, as asked on that pull request. One thing to know before testing: Arch'slinux-firmware-broadcomships nob43firmware, so withwlskipped, a fresh install still needs b43 firmware supplied separately (the AURb43-firmwarepackage). The manual change in #13532 says so. If your b43 setup got its firmware some other way, that would be worth adding on #13532.No duplicate of this report was found. #10910 (BCM43224) and #11311 (BCM4322) touch the same script but don't change how BCM4331 is handled.
Reviewed by Claude Opus 5.5 and, as a second opinion, Codex Medium. Codex agreed on the mechanism and on #13532 being the fix (independence is not guaranteed), and it pointed out the firmware detail above. This now waits on the maintainer, and on your hardware confirmation on #13532.