Skip to content

BCM43602 (MacBookPro11,4): brcmfmac feature_disable=0x82000 quirk removes 802.11ac/VHT, pins Wi-Fi to 2.4 GHz #13164

Open

Description

@akopitsa

Summary

On a MacBookPro11,4 (Mid-2015 15") with BCM43602 (14e4:43ba), the Apple Broadcom quirk options brcmfmac feature_disable=0x82000 (from install/hardware/apple/fix-brcmfmac-supplicant.sh / migration 1786391100.sh) removes 802.11ac (VHT) from the adapter. Wi-Fi stays on 2.4 GHz HT20 and often falls back to 54 Mbit/s legacy rates. Loading brcmfmac with feature_disable=0 restores VHT, and the Mac joins the 5 GHz AP at 80 MHz. On the WPA2/WPA3 transition-mode network that the quirk targets, the handshake still succeeds.

This is not the missing-NVRAM case in #7672. Band 2 (5 GHz) is advertised in both states. Only the VHT capabilities disappear.

System

  • Model: MacBookPro11,4, BCM43602 [14e4:43ba] subsystem [106b:0152]
  • Omarchy 4.0.4-1, kernel 7.2.5-3-omarchy
  • linux-firmware-broadcom 20260810-2, firmware 7.35.177.61 (r598657), no NVRAM/CLM/txcap blob
  • NetworkManager + wpa_supplicant
  • AP: dual-band mesh, one SSID on both bands, WPA2/WPA3 transition (PSK + SAE + FT), CCMP only

Steps to reproduce

  1. Fresh install / migrated system on a MacBookPro11,4 → /etc/modprobe.d/brcmfmac.conf contains feature_disable=0x82000.
  2. iw list | grep -c VHT → 0.
  3. Connect to a dual-band AP → the Mac associates on 2.4 GHz, 20 MHz. Under load iw dev wlp3s0 station dump shows tx bitrate: 54.0 MBit/s.
  4. Pinning 5 GHz in NetworkManager (802-11-wireless.band a, or 802-11-wireless.bssid <5GHz BSSID>) does not help. The firmware still tries the 2.4 GHz BSSID and fails with CTRL-EVENT-ASSOC-REJECT status_code=16.
  5. Reload without the quirk:
    sudo modprobe -r brcmfmac_wcc brcmfmac
    sudo modprobe brcmfmac feature_disable=0
    
    Now iw list shows VHT Capabilities (0x0c025820), and the Mac joins the 5 GHz BSSID on its own.

Before / after

feature_disable=0x82000 feature_disable=0
VHT in iw list absent present
Association 2.4 GHz ch 5, 20 MHz 5 GHz ch 60, 80 MHz
Link rate tx / rx 54–216.6 / 1–54 Mbit/s 1170 / 877–1053 Mbit/s
Real download – ~47.5 MB/s
WPA handshake OK OK

The regulatory state (phy country 99, no clm_blob available) is the same in both runs, so it doesn't explain the difference. iw reg set changed nothing.

Expected

The WPA handshake workaround should not cost BCM43602 Macs 802.11ac/5 GHz. Possible directions:

  • Drop the quirk for BCM43602 (14e4:43ba/43bb/43bc) when the handshake works without it, or
  • Keep only the bit that fixes the handshake, if one of 0x2000 (FWSUP) / 0x80000 (FWAUTH) alone keeps VHT. Note that the brcmf_feat_id bit positions depend on the kernel version, so it's worth checking that 0x82000 still maps to FWSUP|FWAUTH on 7.x kernels. Related: MacBookPro16,1 Broadcom quirk disables WPA3-SAE #9802, where the same quirk disables WPA3-SAE.

Local workaround

# /etc/modprobe.d/zz-brcmfmac-local.conf
options brcmfmac feature_disable=0

modprobe merges both options lines, and the last value wins: modprobe --show-depends brcmfmac shows feature_disable=0x82000 feature_disable=0.

Related: #9802, #9019, #7672

Activity

  1. self-assigned this
    on Sep 25, 2026
  2. rand0mdud3 commented on Sep 29, 2026

    @rand0mdud3

    Counter-datapoint from identical hardware: MacBookPro11,5, BCM43602 14e4:43ba subsystem 106b:0152, kernel 7.2.5-3-omarchy, firmware 7.35.177.61 (r598657), no clm/txcap blob — with options brcmfmac feature_disable=0x82000 active from /etc/modprobe.d/brcmfmac.conf, iw list | grep -c VHT = 6 and the link holds 5 GHz ch 36 at 400/400 Mbit/s, −42 dBm.

    So the quirk alone doesn't remove VHT here. Prime suspect for the divergence is the AP: yours is WPA2/WPA3 transition (PSK+SAE+FT); mine is plain WPA-PSK (key-mgmt: wpa-psk, no SAE). If your mesh can offer a non-transition SSID, testing the quirk against that would isolate whether transition mode is the trigger.

  3. removed their assignment
    on Oct 6, 2026
  4. akopitsa commented on Oct 10, 2026

    @akopitsa
    Author

    Correction: the missing VHT I reported here was most likely not caused by feature_disable=0x82000. The cause was the user regulatory domain, WIRELESS_REGDOM="UA", which the installer derived from my Europe/Kyiv timezone. When brcmfmac loads with UA set, this BCM43602 firmware reports no VHT, whatever feature_disable is. With DE or US it reports VHT, and that includes reloads with 0x82000. My earlier reloads with feature_disable=0 brought VHT back only because an iw reg set test had left the regdomain at something other than UA.

    That matches @rand0mdud3's MacBookPro11,5 datapoint above, where the quirk is active and VHT is present.

    Details, a reload sweep (UA/US/DE/00) and a workaround are in #14828. What's still open here is whether the quirk itself stops 5 GHz association on a WPA2/WPA3 transition network. In one reload with 0x82000 under a non-UA regdomain, the card associated on 2.4 GHz, but I haven't repeated that with a 5 GHz band pin, so it isn't confirmed. I'll report back after testing that, or close this if the quirk turns out to be harmless here.

  5. rand0mdud3 commented on Oct 10, 2026

    @rand0mdud3

    Confirming the corrected model from this 11,5 (same BCM43602, quirk active):

    • Regdomain US, derived from America/Los_Angeles — consistent with your installer-derives-regdomain theory (my timezone hands me a VHT-friendly domain where yours handed you UA).
    • feature_disable=0x82000 active via /etc/modprobe.d/brcmfmac.conf.
    • Associated at 5 GHz (5745 MHz), 400 Mb/s VHT rates symmetric, −32 dBm.

    So: quirk + non-UA + VHT present, exactly as your correction predicts. On the remaining open question (5 GHz association on transition networks with the quirk): 5 GHz association works fine here with the quirk, but my home AP is not a transition network, so that only narrows it — your band-pinned retest is still the deciding datapoint.

  6. omarchybot commented on Oct 12, 2026

    @omarchybot
    Collaborator

    Checked this against quattro, alongside #14828 and both of your follow-ups.

    This was reviewed by Opus 5.5 alone. The second opinion (Codex) didn't run, because today's review budget on this machine was used up, so nobody has checked these findings independently. No fix is proposed until your result is in, so this is waiting on you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcompatibilityMake Omarchy work better on everything!mac

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions