--- draft: true title: "Apple Wireless Card Issues on Debian Trixie" subtitle: "" author: Hyperling date: "2025-11-19T13:00:00-07:00" toc: true tags: - tech - networking - linux - wireless - apple - macbook air - kernel - broadcom - bcm4360 - wl - dkms - wireless-tools - iwconfig - uname - modprobe - lsmod - lspci series: - sysadmin categories: - guides aliases: --- ## Disclaimer This article assumes that your system has had the wireless card working on Debian recently. I have a Macbook Air 7,2 (early 2015, i5) with a BCM4360 [14e4:43a0] and use the `wl` driver. ``` $ sudo apt list broadcom* broadcom-sta-common/stable 6.30.223.271-26 amd64 broadcom-sta-dkms/stable,now 6.30.223.271-26 amd64 [installed] broadcom-sta-source/stable 6.30.223.271-26 amd64 ``` I do not have experience with other Mac devices, the Debian wiki and forums are your best bet if this article does not apply to you. {{< external-link "Debian Wiki: Macbook Wireless" "https://wiki.debian.org/MacBook/Wireless" >}} ## Introduction -- Define the Problem If your wireless card is no longer being recognized on a Debian device, ensure the latest version of the Linux kernal came with its headers. I'm not sure why this happened, but it was when the kernel version jumped from `6.12.41` to `6.12.43` that its symptoms showed up. I had already migrated from Bookworm to Trixie and thought I had went through a few kernel updates since then without issues. Later versions such as `6.12.48` and `6.12.57` continued to get pulled and I'd try them before having to reboot back to `6.12.41`. While booten into the newer kernel versions `/sbin/iwconfig` would show no wireless network and GNOME didn't have a Wi-Fi button listed in the Settings app nor its system menu. Then I tried this: ``` $ sudo modprobe wl modprobe: FATAL: Module wl not found in directory /lib/modules/6.12.57+deb13-amd64 $ ``` After realizing that the wl module wasn't being loaded I thought maybe there was a packaging issue. I was confused since it said it was not found, even though I knew it was installed since it was still working if I booted to the older installed kernel versions. I saw no error when the new versions were being installed, either. And thus began my discovery... ## Solution -- Install Headers Automagically Ubuntu provides the packages `linux-image-generic` and `linux headers-generic`. Debian names them slightly different. ``` sudo apt install linux-image-amd64 linux-headers-amd64 --reinstall ``` Some sources say that Debian has no generic/meta package for the kernel and its headers. I can't find any information as to the release date of these to confirm/deny that claim. I'm just glad they work to now keep the headers installed automatically! ## Still Not Working? If you're still having problems then it may be something else. Some good troubleshooting commands are below, as well as examples of when I was running them trying to troubleshoot my system. - `uname -a` - `lspci -vnn | grep -i net` - `/sbin/iwconfig` - `lsmod` - `modprobe` - `apt list` ### Example -- Missing Kernel Headers (6.12.57) ``` [user@hostname ~]$ uname -a Linux debian 6.12.57+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) x86_64 GNU/Linux [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ lspci -vnn | grep -i net 03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03) [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ /sbin/iwconfig lo no wireless extensions. docker0 no wireless extensions. [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ lsmod | grep wl [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ sudo modprobe wl modprobe: FATAL: Module wl not found in directory /lib/modules/6.12.57+deb13-amd64 [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ sudo apt list broadcom* broadcom-sta-common/stable 6.30.223.271-26 amd64 broadcom-sta-dkms/stable,now 6.30.223.271-26 amd64 [installed] broadcom-sta-source/stable 6.30.223.271-26 amd64 [user@hostname ~]$ ``` ### Example -- Wireless Working Correctly (6.12.41) ``` [user@hostname ~]$ uname -a Linux debian 6.12.41+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.41-1 (2025-08-12) x86_64 GNU/Linux [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ lspci -vnn | grep -i net 03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03) [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ /sbin/iwconfig lo no wireless extensions. wlp3s0 IEEE 802.11 ESSID:"Private :)" Mode:Managed Frequency:2.412 GHz Access Point: na:na:na:na:na:na Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off wg0-vpn no wireless extensions. docker0 no wireless extensions. [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ lsmod | grep wl | sort cfg80211 1392640 1 wl wl 6459392 0 [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ sudo modprobe wl [user@hostname ~]$ ``` ### Example -- Wireless Working Correctly (6.12.57) ``` [user@hostname ~]$ uname -a Linux debian 6.12.57+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) x86_64 GNU/Linux [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ lspci -vnn | grep -i net 03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter [14e4:43a0] (rev 03) [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ /sbin/iwconfig lo no wireless extensions. wlp3s0 IEEE 802.11 ESSID:"Private :)" Mode:Managed Frequency:2.412 GHz Access Point: na:na:na:na:na:na Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off wg0-vpn no wireless extensions. docker0 no wireless extensions. [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ lsmod | grep wl | sort cfg80211 1392640 1 wl wl 6459392 0 [user@hostname ~]$ ``` --- ``` [user@hostname ~]$ sudo modprobe wl [user@hostname ~]$ ```