Linux on MacBook Air 2011 – Fixing WiFi Freezes
This guide was tested on a fresh Debian KDE installation on a 2011 MacBook Air and may work for other Linux systems (Debian derivatives in particular). It resolves the common Broadcom WiFi freezing issue using the proprietary wl driver.
1. Update the System
sudo apt update && sudo apt full-upgrade -y
sudo reboot
Explanation: This command refreshes the package lists and installs all available updates, including the latest kernel. Updating first is important because driver compilation depends on matching kernel headers.
2. Install Required Packages
sudo apt install linux-headers-$(uname -r) dkms build-essential -y
Explanation: These packages provide the tools needed to compile the driver (linux-headers and dkms) and the basic compilation environment (build-essential).
3. Install the Proprietary Broadcom wl Driver
sudo apt install broadcom-sta-dkms -y
Explanation: This installs the official Broadcom proprietary driver package. DKMS will automatically build the wl kernel module for your system.
4. Blacklist Conflicting Modules + Load wl Driver Persistently
(This step is critical to stop the freezes.)
sudo modprobe -r b43 bcma ssb 2>/dev/null
sudo modprobe wl
# Blacklist open-source drivers
echo -e "blacklist b43\nblacklist bcma\nblacklist ssb" | sudo tee /etc/modprobe.d/blacklist-broadcom.conf
# Enable wl driver
echo "wl" | sudo tee /etc/modules-load.d/wl.conf
sudo update-initramfs -u
Explanation:
- modprobe -r unloads the open-source drivers that can conflict.
- modprobe wl loads the new driver immediately.
- The blacklist file prevents the unstable open-source modules from loading on boot.
- The wl.conf file enables the wl driver.
- update-initramfs updates the boot image so the changes apply on every start.
5. Reboot and Verify
sudo reboot
After reboot, check the driver and hardware:
lsmod | grep wl
lspci -nnk | grep -A3 Network
Explanation: lsmod | grep wl confirms the proprietary driver is loaded. lspci shows your WiFi card details and which driver is in use.
6. Extra Optimizations
sudo apt install tlp tlp-rdw -y
sudo tlp start
Explanation: TLP improves overall power management. The NetworkManager setting further disables WiFi power saving for better stability.
6. Bonus
mbpfan (Recommended for 2011 Air)
Controls fan speed based on temperature (better than default).
sudo apt install mbpfan -y
sudo systemctl enable --now mbpfan
Troubleshooting
- If the driver fails to build: Check the log with
cat /var/lib/dkms/broadcom-sta/*/build/make.log | tail -20 - Still freezing? Try a USB WiFi adapter with a Realtek chipset.
This configuration has been stable on my 2011 MacBook Air. Enjoy Linux on older Apple hardware!