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!

Popular posts from this blog

Cloning your Mac / Linux hard drive/SSD with dd

How to Keep HomeBrew Clean on a Mac

BBC Radio URL Streams