DRAFT: Fix Broadcom wifi on mid-2010s MacBooks (#1022) -- untested
Based on pointers from @bcorcoran
This patch:
- detects Broadcom BCM4360 which fail with "Operation failed" in iwctl
- applies kernel param
brcmfmac.feature_disable=0x82000 - only when affected hardware should be detected (14e4:43a0, 14e4:43ba)
Needs to be tested. Untested (but attempting to test)
Notes:
- Issue exists in current Arch (which makes sense ofc)
- Omarchy ISO doesn't allow access to Arch's pre-load (afaict?) so need to test in Arch
- Additional suggestions from @bcorcoran here not incorporated
Could we extend the scope of this PR to also cover early 2010s macbooks? I have a 2012 MacBook Pro which requires the broadcom-wl firmware to enable WiFi. Will be happy to help out testing, if we include this in the scope.
I have requested it as part of the iso as well, but maybe it's better to deliver it here.
https://github.com/omacom-io/omarchy-iso/issues/22
Yes please. Let's solve all the vintage MacBook wifi issues in this one.
Gathering comments from the discord server so we can gain an overview over, which models work out of the box and which doesn't.
Older MacBook Air working out of the box as well. Specs below
Just to report on my progress here.
I spent a couple hours yesterday testing with the iso
- first only adding the broadcom driver
- then with the
brcmfmac.feature_disable=0x82000added
Have not gotten my wifi working yet in either iteration. Will test a bit more with some more variations and approaches based on what I've picked up so far; trying to approach scientifically rather than throwing everything at once.
If someone else has a clear fix, don't let me block you at all.
I have had better luck with broadcom-wl-dkms and a modprobe "ban" file:
blacklist b43
blacklist b43legacy
blacklist bcm43xx
blacklist bcma
blacklist brcm80211
blacklist brcmfmac
blacklist brcmsmac
blacklist ssb
# this might not be necessary but won't cause any errors.
# if you see a message about allhwsupport not existing in dmesg output, you can remove it
options b43 allhwsupport=1
FYI^ the blacklist entries above vary with hardware. The above is for BCM43602.
@adamavenir I think adding the flag to the actual kernel boot params may be necessary (as opposed to putting it as an options entry in a modprobe file like above)- this is the way it's listed in the Arch wiki and what has worked for me. From my time working with Hackintosh on another machine- I recall it has something to do with when the firmware is able to be written to the hardware. I could be totally wrong about this though (it was years ago now).
Additionally, I'm using NetworkManager and nmtui to manage wifi- iwctl never worked for me!
Yeah I've actually been trying with the dkms version.
I intend to try the blacklist next! Thank you!
I had a conversation with ChatGPT recently. In a nutshell it said that many of these macbooks would need the broadcom-wl firmware, while some even older models requires the opensource b43. So blacklisting b43 for everyone will maybe create issues for some older models?
(all this of course assumes that chatGPT is correct)
I had a conversation with ChatGPT recently. In a nutshell it said that many of these macbooks would need the broadcom-wl firmware, while some even older models requires the opensource b43. So blacklisting b43 for everyone will maybe create issues for some older models?
(all this of course assumes that chatGPT is correct)
This is why I listed the FYI above (I edited it, so you may not have seen it via email). We will have to detect and include the appropriate blacklist entries based on the adapter device ids.
Just to report on my progress here.
I spent a couple hours yesterday testing with the iso
first only adding the broadcom driver
then with the
brcmfmac.feature_disable=0x82000addedHave not gotten my wifi working yet in either iteration. Will test a bit more with some more variations and approaches based on what I've picked up so far; trying to approach scientifically rather than throwing everything at once.
If someone else has a clear fix, don't let me block you at all.
I tried this fix as well and it didn't fix the issue on my MacBook Pro 13,3. I'll keep poking around to see if I can find something that might be helpful.
Someone on the Discord suggested the fix of:
EDITED:
sudo iw dev wlan0 set txpower fixed 1000
This worked for me on my MBP 2016 (13,3).
It also worked with different values in place of '1000'
@joelgaff Please provide the device id from lspci -vnn -d 14e4: Thanks!
14e4:43ba
It appears I'm using the brcmfmac driver,too, fwiw.
I'm sure you all have checked out this page, but I'll add it here as a reference just in case:
https://wiki.archlinux.org/title/Broadcom_wireless#BCM43602_802.11ac_Wireless_LAN_SoC
A user with BCM4360 also had to install broadcom-wl manually.
and here's Philip's details:
lspci -vnn -d 14e4:
02:00.0 Multimedia controller [0480]: Broadcom Inc. and subsidiaries 720p FaceTime HD Camera [14e4:1570]
Subsystem: Broadcom Inc. and subsidiaries 720p FaceTime HD Camera [14e4:1570]
Flags: bus master, fast devsel, latency 0
Memory at c1500000 (64-bit, non-prefetchable) [size=64K]
Memory at a0000000 (64-bit, prefetchable) [size=256M]
Memory at c1400000 (64-bit, non-prefetchable) [size=1M]
Capabilities:
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03)
Subsystem: Apple Inc. Device [106b:0117]
Flags: bus master, fast devsel, latency 0, IRQ 18
Memory at c1200000 (64-bit, non-prefetchable) [size=32K]
Memory at c1000000 (64-bit, non-prefetchable) [size=2M]
Capabilities:
Someone on the Discord suggested the fix of:
sudo iw dev wlan0 set txpower 1000This worked for me on my MBP 2016 (13,3).
It also worked with different values in place of '1000'
This generally worked for me as well. One change is that the command is missing one argument. Note the inclusion of fixed below.
sudo iw dev wlan0 set txpower fixed 1000
14e4:43ba
Macbook Pro model A1707
Edit: This worked during install for me, but wifi still fails to connect after install.
iw fails with command not found.
Network is "known" in TUI, but fails to connect with operation failed.
Edit 2: Update after experimenting a bit this weekend. Installing iw and fixing or limiting power (..txpower fixed 1000 or txpower limit 1000 reliably works, however speeds are much slower than expected. (~25Mbps vs 460Mbps on a 1Gbps connection)
Good catch, @spencern ! I'll edit my comment above.
@ryanrhughes has done a full round of all the T1 and T2 fixes we needed and this is included. Thanks for working on it!