BCM43602 WiFi chip on a Macbook Pro 13,2 working fine on 5.14 kernel, but not 5.15 LTS or 5.16

I’ve recently installed Fedora 35 KDE on my Mac alongside macOS for a good cutting edge Linux experience, and during setup, I was blown away by the fact that Fedora could actually connect to WiFi networks with my broadcom chip, which is notorious for being unusable on linux as it would usually just time out, one thing to note is that I still can use internet as previously on KDE neon/Ubuntu, I’d use a janky setup that’d involve tethering an android phone to my network for internet which still obviously works on Fedora. Although my KDE install image was somewhat outdated (getting the kernel 5.14 installed), after updating, I got Kernel 5.16, which boots up and works fine, but the chip goes back to acting like how it usually does on other linux distros, aka just timing out and getting stuck on “Configuring”, I’ve tried 5.15 as that’s an LTS kernel, and even then, I have no luck with my WiFi chip either, so I’d like to know, is there a way I could somehow, take the part of the 5.14 kernel that makes my chip work and move that to 5.15/5.16?
a networkmanager log that may be usefuul

● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enable>
     Active: active (running) since Thu 2022-03-10 01:35:12 +03; 1min 58s ago
       Docs: man:NetworkManager(8)
   Main PID: 836 (NetworkManager)
      Tasks: 3 (limit: 9316)
     Memory: 8.1M
        CPU: 500ms
     CGroup: /system.slice/NetworkManager.service
             └─836 /usr/sbin/NetworkManager --no-daemon

Mar 10 01:36:37 OldMateMaccy NetworkManager[836]: <info>  [1646865397.0280] device (wlp2s0): suppli>
Mar 10 01:36:37 OldMateMaccy NetworkManager[836]: <info>  [1646865397.0281] device (p2p-dev-wlp2s0)>
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <warn>  [1646865400.2396] device (wlp2s0): Activa>
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.2397] device (wlp2s0): state >
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.2414] manager: NetworkManager>
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.7581] device (wlp2s0): set-hw>
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <warn>  [1646865400.7618] device (wlp2s0): Activa>
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.7653] device (wlp2s0): state >
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.8097] device (wlp2s0): suppli>
lines 1-20...skipping...
● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-03-10 01:35:12 +03; 1min 58s ago
       Docs: man:NetworkManager(8)
   Main PID: 836 (NetworkManager)
      Tasks: 3 (limit: 9316)
     Memory: 8.1M
        CPU: 500ms
     CGroup: /system.slice/NetworkManager.service
             └─836 /usr/sbin/NetworkManager --no-daemon

Mar 10 01:36:37 OldMateMaccy NetworkManager[836]: <info>  [1646865397.0280] device (wlp2s0): supplicant interface state: disconnected -> scanning
Mar 10 01:36:37 OldMateMaccy NetworkManager[836]: <info>  [1646865397.0281] device (p2p-dev-wlp2s0): supplicant management interface state: disconnected -> scanning
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <warn>  [1646865400.2396] device (wlp2s0): Activation: (wifi) association took too long
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.2397] device (wlp2s0): state change: config -> failed (reason 'no-secrets', sys-iface-state: 'managed')
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.2414] manager: NetworkManager state is now DISCONNECTED
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.7581] device (wlp2s0): set-hw-addr: set MAC address to 26:7B:C5:96:77:70 (scanning)
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <warn>  [1646865400.7618] device (wlp2s0): Activation: failed for connection 'Radiinet'
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.7653] device (wlp2s0): state change: failed -> disconnected (reason 'none', sys-iface-state: 'managed')
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.8097] device (wlp2s0): supplicant interface state: scanning -> inactive
Mar 10 01:36:40 OldMateMaccy NetworkManager[836]: <info>  [1646865400.8099] device (p2p-dev-wlp2s0): supplicant management interface state: scanning -> inactive
~

dmesg | grep -i brcmfmac output on 5.14

[    6.091554] usbcore: registered new interface driver brcmfmac
[    6.204069] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43602-pcie for chip BCM43602/2
[    6.240657] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.Apple Inc.-MacBookPro13,2.txt failed with error -2
[    6.240675] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.txt failed with error -2
[    6.545164] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43602-pcie for chip BCM43602/2
[    6.545342] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[    6.545730] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43602/2 wl0: Nov 10 2015 06:38:10 version 7.35.177.61 (r598657) FWID 01-ea662a8c
[    6.614476] brcmfmac 0000:02:00.0 wlp2s0: renamed from wlan0

dmesg | grep -i brcmfmac output on 5.15

[    5.801011] usbcore: registered new interface driver brcmfmac
[    5.910628] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43602-pcie for chip BCM43602/2
[    5.911185] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.Apple Inc.-MacBookPro13,2.bin failed with error -2
[    5.963625] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.Apple Inc.-MacBookPro13,2.txt failed with error -2
[    5.963655] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.txt failed with error -2
[    6.279975] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43602-pcie for chip BCM43602/2
[    6.280004] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[    6.280306] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43602/2 wl0: Nov 10 2015 06:38:10 version 7.35.177.61 (r598657) FWID 01-ea662a8c
[    6.310904] brcmfmac 0000:02:00.0 wlp2s0: renamed from wlan0

Things I’ve tried so far:
sudo dnf in iwdsudo systemctl enable iwd.servicesudo nano /etc/NetworkManager/NetworkManager.conf → adding [Devices] and adding wifi.backend=iwd
sudo dn in kmod-wl, which by extension, installs broadcom-wl, which further breaks the wifi chip as the BCM43602 isn’t supported by the driver, and makes the chip refuse to even scan networks now, uninstalling and rebooting brings it back to how it was before however.

Any more ideas? I’d really love to actually have to only deal with audio issues rather than having to work with carrying a janky setup with an old android phone aswell.

Additional info:
exact 5.14 kernel version is 5.14.10-300.fc35.x86_64
exact 5.15 kernel version is 5.15.18-200.fc35.x86_64
exact 5.16 kernel version is 5.16.12-200.fc35.x86_64

Edit: added dmesg outputs

If the kernel is still available on your system you can select this to boot from.
Redirect Notice

There are also tipps in the forum where you can make that the 5.14 not get overwritten by an update. Just have a look in kernel related topics.

Make a separate topic for that so that we can help to find a solution.

1 Like

I do still have 5.14 working and I will look into this, but would 5.14 being EOL not be a security concern? or does Fedora keep delivering security updates to kernel versions considered EOL?

Thank you, I definitely will.

I don’ think so that you get updates delivered. Alternative you have is test fedora 36 and check if your hardware works for that.

Here are the nightly images:
Fedora nightly compose finder

1 Like

I have booted the fedora 36 workstation image with no luck, unfortunately I will fall back to just running 5.16/up to date kernel with 5.14 as backup if I need to use my WiFi chip :[

UPDATE: after fully forgetting the network while on 5.16, and connecting again to it, it just… works??? weird but I guess that did the trick, fedora workstation 36 and 35 also had working WiFi but now that I’ve got it figured out on KDE, I’m sticking to my install, thanks for your help! @ilikelinux