wifi and speaker don't work after installing archlinux on MBP2015
WIFI
I have an old MBP(2015, 15’) and I installed Archlinux on it recently. My main purpose is to use the Omarchy linux. I didn’t install the Omarchy by the quick way since I want to maintain the old MacOS. Unfortunately, I didn’t successfully install the dual-boot system on my laptop. I erased the whole disk and used it to install Archlinux.
Before this installation I have already installed Linux Mint. When I try to allocated a new partition, I damaged the booter accidentally. I can not get into the MacOS anymore.
After the installation, I can not use the built-in WIFI. Here is how I fix this problem.
First, check the wifi device:
~ ❯ lspci -vnn -d 14e4:
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 01)
Subsystem: Apple Inc. Device [106b:0133]
Flags: bus master, fast devsel, latency 0, IRQ 82
Memory at c1400000 (64-bit, non-prefetchable) [size=32K]
Memory at c1000000 (64-bit, non-prefetchable) [size=4M]
Capabilities: <access denied>
Kernel driver in use: brcmfmac
Kernel modules: brcmfmac
Pay attention to brcmfmac , this is the module which is need for the wifi to work.
Second, check if this module exists:
~ ❯ lsmod | grep brcmfmac
brcmfmac_wcc 12288 0
brcmfmac 610304 1 brcmfmac_wcc
brcmutil 20480 1 brcmfmac
mmc_core 303104 1 brcmfmac
cfg80211 1470464 1 brcmfmac
If nothing output, then you need to add this module:
~ ❯ modprobe brcmfmac
By doing so we temporarily added this module but after reboot this setting will not persistent. We need to add this module permanently by doing:
vim /etc/modprobe.d/brcmfmac.conf
add one line: brcmfmac
Until now, we haven’t done yet. We need to add a kernel parameter: brcmfmac.feature_disable=0x82000.
In order to add this kernel parameter, you need to know the bootloader of your OS. In my case it’s systemd-boot.
~ ❯ bootctl status
System:
Firmware: UEFI 1.10 (Apple 1.10)
Firmware Arch: x64
Secure Boot: disabled (unsupported)
TPM2 Support: no
Measured UKI: no
Boot into FW: not supported
Current Boot Loader:
Product: systemd-boot 259.1-1-arch
Features: ✓ Boot counting
✓ Menu timeout control
✓ One-shot menu timeout control
✓ Default entry control
...
Before you change the kernel parameter you can check what’s current used parameters:
~ ❯ cat /proc/cmdline
In my case, I changed this file: /boot/loader/entries/2026-02-10_16-43-14_linux.conf, the file name doesn’t matter, maybe you have a different file name. You need to append this kernel parameter by append it to options. Don’t forget add one space before this new parameter.
If you are using a different bootloader, please check this
Reboot your MPB, then it should work.
Sound and Speaker
In my case, the sound and speaker also don’t work. After some try and research, I found I need software pipewire to get things work.
Here is how to install it and required dependencies:
sudo pacman -S pipewire pipewire-pulse pipewire-alsa pipewire-jack wireplumber
and the setup:
systemctl --user enable --now pipewire.service pipewire-pulse.service wireplumber.service
Reference
- Broadcom wireless
- kernal parameters
- Google Gemini