omarchy icon indicating copy to clipboard operation
omarchy copied to clipboard

2016 MacBook Pro bizarre WiFi behavior

Open adamavenir opened this issue 4 months ago • 24 comments

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 networks
  • station 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=true in /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!

adamavenir avatar Aug 24 '25 04:08 adamavenir

On second attempt at install, I got this same issue.

Waiting and retrying multiple times worked again.

adamavenir avatar Aug 24 '25 04:08 adamavenir

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 networks
  • station 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=true in /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?

keanehatescoding avatar Aug 24 '25 10:08 keanehatescoding

from arch install prompt, it shows:

Image

adamavenir avatar Aug 24 '25 18:08 adamavenir

When you scan shows my networks, does it list your networks?

hyprhex avatar Aug 24 '25 20:08 hyprhex

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)

Image

adamavenir avatar Aug 24 '25 20:08 adamavenir

@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.

bcorcoran avatar Aug 25 '25 19:08 bcorcoran

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:43a0 you can try adding brcmfmac.feature_disable=0x82000 to your kernel options. This should fix the issues with connecting.

pettersj avatar Aug 26 '25 09:08 pettersj

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:43a0 you can try adding brcmfmac.feature_disable=0x82000 to 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 avatar Aug 26 '25 14:08 bcorcoran

@bcorcoran thanks a million.

@pettersj fyi working on testing a fix for this, if it works will submit a PR here.

adamavenir avatar Aug 26 '25 16:08 adamavenir

@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 avatar Aug 26 '25 17:08 bcorcoran

@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 avatar Aug 26 '25 21:08 adamavenir

@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 avatar Aug 26 '25 21:08 bcorcoran

@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 avatar Aug 26 '25 21:08 adamavenir

@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 avatar Aug 28 '25 09:08 brink-lab

@brink-lab What does lspci -vnn -d 14e4: (don't forget the colon at the end) say your wifi card is?

bcorcoran avatar Aug 28 '25 13:08 bcorcoran

@bcorcoran

Image Image

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 avatar Aug 28 '25 16:08 brink-lab

@brink-lab this is great information, thank you!

bcorcoran avatar Aug 28 '25 16:08 bcorcoran

@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.

brink-lab avatar Aug 28 '25 17:08 brink-lab

update:

Based on testing brcmfmac.feature_disable=0x82000 in loader is not sufficient.

Seems the broadcom-wl driver is going to be required.

adamavenir avatar Aug 31 '25 19:08 adamavenir

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.

pettersj avatar Sep 03 '25 10:09 pettersj

Interesting. Do you have a link?

I'm not dual booting either.

adamavenir avatar Sep 03 '25 13:09 adamavenir

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..

pettersj avatar Sep 03 '25 14:09 pettersj

@adamavenir

update:

Based on testing brcmfmac.feature_disable=0x82000 in loader is not sufficient.

Seems the broadcom-wl driver 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 avatar Sep 05 '25 02:09 longsman

@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.

adamavenir avatar Sep 05 '25 04:09 adamavenir

Adding my experience here (macbook pro 13,3 w/ touchbar).

  • I can get wifi working by reducing txpower for the wireless chip. Running sudo iw dev wlan0 set txpower fixed 1000 makes it possible to connect wifi. Also working was using limit in place of fixed. Setting power below this level also works. I've seen success setting power up to 1101, but have not found the exact threshold. 1200 and above failed every time. The chip defaults to 3100 (31 dBm) (via iw wlan0 info).
    • Reducing txpower is 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.
  • Installing either broadcom-wl or broadcom-wl-dkms results in the interface disappearing - doesn't show up on iwctl device list

spencern avatar Sep 08 '25 14:09 spencern

@spencern are you dual booting or is your macos drive completely wiped?

adamavenir avatar Sep 08 '25 15:09 adamavenir

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.

bcorcoran avatar Sep 08 '25 16:09 bcorcoran

@adamavenir Wiped macos drive.

spencern avatar Sep 09 '25 23:09 spencern

@bcorcoran are you using wpa_supplicant as a backend for Networkmanager?

spencern avatar Sep 10 '25 00:09 spencern

@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.

bcorcoran avatar Sep 10 '25 00:09 bcorcoran