2016 MacBook Pro bizarre WiFi behavior
I attempted to install arch on an old MBP and ran into some interesting challenges.
This is relevant here now because I just attempted to install the iso and had similarly strange issues.
Arch
What I did:
station wlan0 scan-> found my networksstation wlan0 connect <SSID>-> entered correct password -> got “Operation failed”- same result for two different physical access points
Found:
- NetworkConfigurationEnabled was initially disabled (saw error in iwctl)
- After enabling it with
NetworkConfigurationEnabled=truein /etc/iwd/main.conf, error went away, but still got “Operation failed” and status shows “disconnected” - Also confirmed it was actually not working via pings
- Made several attempts with reboots and different incantations
Omarchy
Had similar results in Omarchy's WiFi UI:
- scan shows my networks
- enter password correctly
- fails to connect with error
But then...
I was about to reattempt it in order to document the error message for this issue, but after the couple minutes I spent writing the above, I came back to the installer (still open at network select screen) and attempted to connect and it worked (without asking my password) as it went to the next step and I'm now downloading packages!
On second attempt at install, I got this same issue.
Waiting and retrying multiple times worked again.
I attempted to install arch on an old MBP and ran into some interesting challenges.
This is relevant here now because I just attempted to install the iso and had similarly strange issues.
Arch
What I did:
station wlan0 scan-> found my networksstation wlan0 connect <SSID>-> entered correct password -> got “Operation failed”- same result for two different physical access points
Found:
- NetworkConfigurationEnabled was initially disabled (saw error in iwctl)
- After enabling it with
NetworkConfigurationEnabled=truein /etc/iwd/main.conf, error went away, but still got “Operation failed” and status shows “disconnected”- Also confirmed it was actually not working via pings
- Made several attempts with reboots and different incantations
Omarchy
Had similar results in Omarchy's WiFi UI:
- scan shows my networks
- enter password correctly
- fails to connect with error
But then...
I was about to reattempt it in order to document the error message for this issue, but after the couple minutes I spent writing the above, I came back to the installer (still open at network select screen) and attempted to connect and it worked (without asking my password) as it went to the next step and I'm now downloading packages!
What does journalctl -xe show?
from arch install prompt, it shows:
When you scan shows my networks, does it list your networks?
yes!
the strangest thing is that I was able to get it to work that one time after trying to connect about 10 times.
here's journalctl -xe after exiting out of the omarchy configurator. you can see it's attempting to connect and then just getting 'connect-failed, status 16' but I'm absolutely certain I'm typing the passwords correctly each time, as I've verified letter by letter and confirmed the password is correct. (also had no such problems installing on an old Dell laptop that also needed the same passwd)
@adamavenir Do you happen to have a 802.11ac from broadcom?
Check with lspci -vnn -d 14e4:
If you have 14e4:43a0 you can try adding brcmfmac.feature_disable=0x82000 to your kernel options. This should fix the issues with connecting.
For those of us who are noobs in linux, how do you do this?
(I have the following controller: Network controller [0280]: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 02))
@adamavenir Do you happen to have a 802.11ac from broadcom?
Check with
lspci -vnn -d 14e4:If you have
14e4:43a0you can try addingbrcmfmac.feature_disable=0x82000to your kernel options. This should fix the issues with connecting.
For those of us who are noobs in linux, how do you do this?
(I have the following controller: Network controller [0280]: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 02))
@adamavenir Do you happen to have a 802.11ac from broadcom? Check with
lspci -vnn -d 14e4:If you have14e4:43a0you can try addingbrcmfmac.feature_disable=0x82000to your kernel options. This should fix the issues with connecting.
It depends on which bootloader you use, but if it's Limine, see https://github.com/limine-bootloader/limine/blob/v9.x/CONFIG.md it may also be helpful to look at https://wiki.archlinux.org/title/Limine
Essentially you will just add brcmfmac.feature_disable=0x82000 to your list of kernel options. How exactly you do that depends on what bootloader you're using.
For example, if using systemd-boot, you will likely have a conf file located in /boot/loader/entries/ with a line that says "options". you would add that string to the end of that line.
It's also possible you will need to create a blacklist for modprobe (you can look that up for your specific wifi card) but if it's a broadcom bcm43602, this is what worked for me:
Create a file /etc/modprobe.d/broadcom-wifi.conf (filename doesnt matter) and give it the following contents:
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
It may go without saying but after either of these changes, you need to reboot.
@bcorcoran thanks a million.
@pettersj fyi working on testing a fix for this, if it works will submit a PR here.
@bcorcoran thanks a million.
@pettersj fyi working on testing a fix for this, if it works will submit a PR here.
Let me know if you'd like to collaborate on the PR! I was going to work on one myself.
@bcorcoran Absolutely by all means, go for it! You're the one who pointed in the right direction with the Broadcom fw.
I wrote a presumptive fix in the branch linked in the issue thread, but I still haven't been able to demonstrate the fix yet.
Omarchy ISO doesn't have a pre-load (afaict?), but just the one-liner added in Arch at boot after hitting "e" didnt work for me.
I tried modifying the actual Omarchy ISO but hit some friction with not getting the EFI setup right.
@adamavenir I'm going to try to gather up all my 2012 mbp fixes (this one amongst them) and try to make a PR for an initial macbook.sh PR. I'll tag you when I do. Likely within the next week!
@bcorcoran Awesome. Thank you for doing that!
I created draft PR #1143 in the event I can get this tested successfully when I have time next.
@adamavenir @bcorcoran
I can also help test this fix on my 2012 MacBook Pro, if you want help :)
I also raised this topic as an issue on the Omarchy iso GitHub
https://github.com/omacom-io/omarchy-iso/issues/22
@brink-lab What does lspci -vnn -d 14e4: (don't forget the colon at the end) say your wifi card is?
@bcorcoran
To clarify: I have no wifi issues, I just have to install the driver myself with sudo pacman -S broadcom-wl to enable wifi. Would be cool to have it automated as part of the installation process.
@brink-lab this is great information, thank you!
@bcorcoran I'm sure we will find a way to make this happen. I have installed other distros, where wifi worked out of the box. E.g. Ubuntu and PopOS (Ubuntu based). Let me know, if I can help out in any other way.
update:
Based on testing brcmfmac.feature_disable=0x82000 in loader is not sufficient.
Seems the broadcom-wl driver is going to be required.
Are you guys dual booting or fully installing omarchy? I'm having a lot of issues with wifi, touchbar, audio, camera.. (keyboard and trackpad is fine). From what I can find, it might just be because I am not dual booting (I wiped the drive an went full Linux), due to firmware not loading. I'll probably try to reinstall macos and set up dual booting. I'll report back when I find the time to do this.
Interesting. Do you have a link?
I'm not dual booting either.
I don't have any links on this. I'm deep into troubleshooting with Grok and Claude, and this is where they both end up. We'll see..
@adamavenir
update:
Based on testing
brcmfmac.feature_disable=0x82000in loader is not sufficient.Seems the
broadcom-wldriver is going to be required.
There's some confounding things happening here though because Im trying this too, but this kernel option/cmd doesnt seem to persist after reboot. And I cant seem to get broadcom-wl to work yet, its possible my device id 14e4:43ba doesnt work with broadcom-wl. I feel that'll be the case for a lot of us here.
@longsman yeah, I did some more rounds of testing earlier in the week and I've still not worked this out. I'm heavily committed for the next stretch so it'll be a bit before I can dig in and look at other strategies.
It sounds like there's probably some mbp wifi related discussion in the discord that I've not searched through. I think @pettersj has an interesting thread that I haven't pulled on.
Adding my experience here (macbook pro 13,3 w/ touchbar).
- I can get wifi working by reducing
txpowerfor the wireless chip. Runningsudo iw dev wlan0 set txpower fixed 1000makes it possible to connect wifi. Also working was usinglimitin place offixed. Setting power below this level also works. I've seen success setting power up to1101, but have not found the exact threshold. 1200 and above failed every time. The chip defaults to 3100 (31 dBm) (viaiw wlan0 info).- Reducing
txpoweris not an ideal solution, as the speed of the connection drops substantially. Seeing speeds of ~25-30Mbps on a 1Gbps connection. My other mac laptop on OSX sees 460Mbps in the same location.
- Reducing
- Installing either
broadcom-wlorbroadcom-wl-dkmsresults in the interface disappearing - doesn't show up oniwctldevice list
@spencern are you dual booting or is your macos drive completely wiped?
Perhaps it was lost in a previous comment, but can you all please try the following?:
sudo pacman -S networkmanager
sudo systemctl disable iwd
sudo systemctl enable --now NetworkManager.service
The networkmanager package should contain the NetworkManager service, nmcli commandline tool and nmtui terminal app. nmtui is very straightforward to use.
I never had luck with iwd and by extensioniw.
I believe NetworkManager + kernel boot arg + broadcom-wl-dkms is the solution for us here, at least in the case of the BCM4360 cards. Something about iwd just doesn't work well with certain broadcom cards.
@adamavenir Wiped macos drive.
@bcorcoran are you using wpa_supplicant as a backend for Networkmanager?
@bcorcoran are you using wpa_supplicant as a backend for Networkmanager?
Yes, but it was installed via NetworkManager as a dependency. I do not have iwd installed. NetworkManager, by default, wraps wpa_supplicant as far as I understand it.
I have not configured wpa_supplicant manually but I can confirm from systemctl that the wpa_supplicant service is running.