Add article on fixing Apple WiFi issue. Still needs spellchecking and review.

This commit is contained in:
2025-11-19 13:01:46 -07:00
parent 70ccf6d733
commit 427018d2c8

View File

@@ -0,0 +1,528 @@
---
title: "Apple Wireless Card issues on Debian Trixie (13)"
subtitle: ""
author: Hyperling
date: "2025-11-19T13:00:00-07:00"
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 laptop has recently had the wireless card working on Debian recently. I have a Macbook Air (7,2? ~2015) 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
```
## Introduction
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 already went through a few kernel updates since then without issues.
Later versions such as `6.12.48` and `6.12.58` continued to get pulled and I'd try them before rebooting to `6.12.41`. With the newer versions `/sbin/iwconfig` showed no wireless network and GNOME didn't even have a Wi-Fi listing in the Settings app top top menu.
```
$ sudo modprobe wl
modprobe: FATAL: Module wl not found in directory /lib/modules/6.12.57+deb13-amd64
$
```
I then realized that the wl module wasn't being loaded. What was confusing was that it said it was not foud, even though I knew it was installed since it was working on other kernel versions. I saw no error when the new versions were being instaleld, 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!
## Still Not Working?
If you're still having problems then it may be something else.
### Commands to try
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
```
#### Broken Kernel Example
```
[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 | sort
ac 16384 0
acpi_als 16384 1
aesni_intel 122880 0
ahci 49152 3
apple_mfi_fastcharge 16384 0
applesmc 32768 0
applespi 53248 0
async_memcpy 16384 2 raid456,async_raid6_recov
async_pq 16384 2 raid456,async_raid6_recov
async_raid6_recov 20480 1 raid456
async_tx 16384 5 async_pq,async_memcpy,async_xor,raid456,async_raid6_recov
async_xor 16384 3 async_pq,raid456,async_raid6_recov
autofs4 57344 2
bcm5974 28672 0
binfmt_misc 28672 1
blake2b_generic 24576 0
bluetooth 1085440 6 btrtl,btmtk,btintel,btbcm,btusb
bridge 389120 0
btbcm 24576 1 btusb
btintel 69632 1 btusb
btmtk 32768 1 btusb
btrfs 2158592 0
btrtl 32768 1 btusb
btusb 81920 0
button 24576 0
cec 69632 2 drm_display_helper,i915
configfs 69632 1
coretemp 16384 0
crc16 12288 3 bluetooth,ext4,applespi
crc32c_generic 12288 0
crc32c_intel 16384 5
crc32_pclmul 12288 0
crct10dif_pclmul 12288 1
cryptd 28672 2 crypto_simd,ghash_clmulni_intel
crypto_simd 16384 1 aesni_intel
drm 774144 15 drm_kms_helper,drm_display_helper,drm_buddy,i915,ttm
drm_buddy 24576 1 i915
drm_display_helper 274432 1 i915
drm_kms_helper 253952 2 drm_display_helper,i915
dw_dmac 12288 0
dw_dmac_core 40960 2 dw_dmac_pci,dw_dmac
dw_dmac_pci 12288 2
ecdh_generic 16384 1 bluetooth
efi_pstore 12288 0
efivarfs 28672 1
evdev 28672 24
ext4 1142784 2
fat 102400 1 vfat
gf128mul 16384 1 aesni_intel
ghash_clmulni_intel 16384 0
hid 262144 3 usbhid,hid_apple,hid_generic
hid_apple 28672 0
hid_generic 12288 0
i2c_algo_bit 16384 1 i915
i2c_i801 36864 0
i2c_smbus 16384 1 i2c_i801
i915 4382720 21
industrialio 139264 3 industrialio_triggered_buffer,acpi_als,kfifo_buf
industrialio_triggered_buffer 12288 1 acpi_als
intel_cstate 20480 0
intel_pch_thermal 16384 0
intel_pmc_bxt 16384 1 iTCO_wdt
intel_powerclamp 16384 0
intel_rapl_common 53248 1 intel_rapl_msr
intel_rapl_msr 20480 0
intel_uncore 258048 0
ip_set 69632 1 xt_set
ip_tables 28672 0
irqbypass 12288 1 kvm
iTCO_vendor_support 12288 1 iTCO_wdt
iTCO_wdt 16384 0
jbd2 200704 1 ext4
joydev 24576 0
kfifo_buf 12288 1 industrialio_triggered_buffer
kvm 1396736 1 kvm_intel
kvm_intel 413696 0
libahci 61440 1 ahci
libata 462848 2 libahci,ahci
libcrc32c 12288 5 nf_conntrack,nf_nat,btrfs,nf_tables,raid456
llc 16384 2 bridge,stp
lp 20480 0
lpc_ich 28672 0
mbcache 16384 1 ext4
md_mod 229376 4 raid1,raid10,raid0,raid456
mei 188416 5 mei_hdcp,mei_pxp,mei_me
mei_hdcp 28672 0
mei_me 57344 2
mei_pxp 16384 0
Module Size Used by
msr 12288 0
nf_conntrack 204800 5 xt_conntrack,nf_nat,nft_ct,nft_masq,xt_MASQUERADE
nf_defrag_ipv4 12288 1 nf_conntrack
nf_defrag_ipv6 24576 1 nf_conntrack
nf_nat 65536 3 nft_masq,nft_chain_nat,xt_MASQUERADE
nfnetlink 20480 5 nft_compat,nf_tables,ip_set
nf_reject_ipv4 16384 1 nft_reject_inet
nf_reject_ipv6 20480 1 nft_reject_inet
nf_tables 380928 681 nft_ct,nft_compat,nft_reject_inet,nft_masq,nft_chain_nat,nft_reject
nft_chain_nat 12288 6
nft_compat 20480 6
nft_ct 28672 6
nft_masq 12288 1
nft_reject 12288 1 nft_reject_inet
nft_reject_inet 12288 6
nls_ascii 12288 1
nls_cp437 16384 1
overlay 217088 0
parport 81920 3 parport_pc,lp,ppdev
parport_pc 40960 0
pcspkr 12288 0
ppdev 24576 0
qrtr 57344 2
raid0 28672 0
raid10 77824 0
raid1 61440 0
raid456 200704 0
raid6_pq 122880 4 async_pq,btrfs,raid456,async_raid6_recov
rapl 20480 0
rc_core 73728 1 cec
rfkill 40960 4 bluetooth
sbs 20480 0
sbshc 16384 1 sbs
scsi_common 16384 6 scsi_mod,sd_mod,usb_storage,uas,libata,sg
scsi_mod 327680 5 sd_mod,usb_storage,uas,libata,sg
sd_mod 81920 3
sg 45056 0
sha1_ssse3 32768 0
sha256_ssse3 32768 0
sha512_ssse3 53248 0
snd 151552 15 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm
snd_hda_codec 217088 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_cirrus
snd_hda_codec_cirrus 24576 1
snd_hda_codec_generic 114688 1 snd_hda_codec_cirrus
snd_hda_codec_hdmi 98304 1
snd_hda_core 143360 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_cirrus
snd_hda_intel 61440 2
snd_hrtimer 12288 1
snd_hwdep 20480 1 snd_hda_codec
snd_intel_dspcfg 40960 1 snd_hda_intel
snd_intel_sdw_acpi 16384 1 snd_intel_dspcfg
snd_pcm 188416 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_seq 110592 7 snd_seq_dummy
snd_seq_device 16384 1 snd_seq
snd_seq_dummy 12288 0
snd_timer 53248 3 snd_seq,snd_hrtimer,snd_pcm
soundcore 16384 1 snd
spi_pxa2xx_core 32768 2 spi_pxa2xx_pci,spi_pxa2xx_platform
spi_pxa2xx_pci 16384 0
spi_pxa2xx_platform 12288 0
stp 12288 1 bridge
sunrpc 872448 1
thunderbolt 540672 0
ttm 106496 1 i915
uas 32768 0
usb_common 16384 2 xhci_hcd,usbcore
usbcore 409600 9 xhci_hcd,usbhid,btmtk,bcm5974,apple_mfi_fastcharge,usb_storage,btusb,xhci_pci,uas
usbhid 77824 0
usb_storage 94208 1 uas
vfat 24576 1
video 81920 1 i915
watchdog 49152 1 iTCO_wdt
wmi 28672 1 video
x86_pkg_temp_thermal 16384 0
xfrm_algo 16384 1 xfrm_user
xfrm_user 69632 1
xhci_hcd 364544 1 xhci_pci
xhci_pci 24576 0
xor 20480 2 async_xor,btrfs
x_tables 53248 6 xt_conntrack,nft_compat,xt_addrtype,xt_set,ip_tables,xt_MASQUERADE
xt_addrtype 12288 4
xt_conntrack 12288 1
xt_MASQUERADE 16384 1
xt_set 20480 0
[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 ~]$
---
```
#### Working Kernel Example
```
---
[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 | sort
ac 16384 0
acpi_als 16384 1
aesni_intel 122880 0
ahci 49152 3
apple_mfi_fastcharge 16384 0
applesmc 32768 0
applespi 53248 0
async_memcpy 16384 2 raid456,async_raid6_recov
async_pq 16384 2 raid456,async_raid6_recov
async_raid6_recov 20480 1 raid456
async_tx 16384 5 async_pq,async_memcpy,async_xor,raid456,async_raid6_recov
async_xor 16384 3 async_pq,raid456,async_raid6_recov
autofs4 57344 2
bcm5974 28672 0
binfmt_misc 28672 1
blake2b_generic 24576 0
bluetooth 1081344 6 btrtl,btmtk,btintel,btbcm,btusb
bridge 389120 0
btbcm 24576 1 btusb
btintel 69632 1 btusb
btmtk 32768 1 btusb
btrfs 2150400 0
btrtl 32768 1 btusb
btusb 81920 0
button 24576 0
cec 69632 2 drm_display_helper,i915
cfg80211 1392640 1 wl
chacha_x86_64 28672 1 libchacha20poly1305
configfs 69632 1
coretemp 16384 0
crc16 12288 3 bluetooth,ext4,applespi
crc32c_generic 12288 0
crc32c_intel 16384 5
crc32_pclmul 12288 0
crct10dif_pclmul 12288 1
cryptd 28672 2 crypto_simd,ghash_clmulni_intel
crypto_simd 16384 1 aesni_intel
curve25519_x86_64 36864 1 wireguard
drm 774144 15 drm_kms_helper,drm_display_helper,drm_buddy,i915,ttm
drm_buddy 24576 1 i915
drm_display_helper 274432 1 i915
drm_kms_helper 253952 2 drm_display_helper,i915
dw_dmac 12288 0
dw_dmac_core 40960 2 dw_dmac_pci,dw_dmac
dw_dmac_pci 12288 0
efi_pstore 12288 0
efivarfs 28672 1
evdev 28672 24
ext4 1142784 2
fat 102400 1 vfat
gf128mul 16384 1 aesni_intel
ghash_clmulni_intel 16384 0
hid 262144 3 usbhid,hid_apple,hid_generic
hid_apple 28672 0
hid_generic 12288 0
i2c_algo_bit 16384 1 i915
i2c_i801 36864 0
i2c_smbus 16384 1 i2c_i801
i915 4386816 22
industrialio 139264 3 industrialio_triggered_buffer,acpi_als,kfifo_buf
industrialio_triggered_buffer 12288 1 acpi_als
intel_cstate 20480 0
intel_pch_thermal 16384 0
intel_pmc_bxt 16384 1 iTCO_wdt
intel_powerclamp 16384 0
intel_rapl_common 53248 1 intel_rapl_msr
intel_rapl_msr 20480 0
intel_uncore 258048 0
ip6_udp_tunnel 16384 1 wireguard
ip_set 69632 1 xt_set
ip_tables 28672 0
irqbypass 12288 1 kvm
iTCO_vendor_support 12288 1 iTCO_wdt
iTCO_wdt 16384 0
jbd2 200704 1 ext4
joydev 24576 0
kfifo_buf 12288 1 industrialio_triggered_buffer
kvm 1396736 1 kvm_intel
kvm_intel 413696 0
libahci 61440 1 ahci
libata 462848 2 libahci,ahci
libchacha 12288 1 chacha_x86_64
libchacha20poly1305 16384 1 wireguard
libcrc32c 12288 5 nf_conntrack,nf_nat,btrfs,nf_tables,raid456
libcurve25519_generic 45056 2 curve25519_x86_64,wireguard
llc 16384 2 bridge,stp
lp 20480 0
lpc_ich 28672 0
mbcache 16384 1 ext4
md_mod 229376 4 raid1,raid10,raid0,raid456
mei 188416 5 mei_hdcp,mei_pxp,mei_me
mei_hdcp 28672 0
mei_me 57344 2
mei_pxp 16384 0
Module Size Used by
msr 12288 0
nf_conntrack 204800 5 xt_conntrack,nf_nat,nft_ct,nft_masq,xt_MASQUERADE
nf_defrag_ipv4 12288 1 nf_conntrack
nf_defrag_ipv6 24576 1 nf_conntrack
nf_nat 65536 3 nft_masq,nft_chain_nat,xt_MASQUERADE
nfnetlink 20480 5 nft_compat,nf_tables,ip_set
nf_reject_ipv4 16384 1 nft_reject_inet
nf_reject_ipv6 20480 1 nft_reject_inet
nf_tables 380928 783 nft_ct,nft_compat,nft_reject_inet,nft_masq,nft_chain_nat,nft_reject
nft_chain_nat 12288 6
nft_compat 20480 6
nft_ct 28672 9
nft_masq 12288 1
nft_reject 12288 1 nft_reject_inet
nft_reject_inet 12288 6
nls_ascii 12288 1
nls_cp437 16384 1
overlay 217088 0
parport 81920 3 parport_pc,lp,ppdev
parport_pc 40960 0
pcspkr 12288 0
poly1305_x86_64 28672 1 libchacha20poly1305
ppdev 24576 0
qrtr 57344 2
raid0 28672 0
raid10 77824 0
raid1 61440 0
raid456 200704 0
raid6_pq 122880 4 async_pq,btrfs,raid456,async_raid6_recov
rapl 20480 0
rc_core 73728 1 cec
rfkill 40960 6 bluetooth,cfg80211
sbs 20480 0
sbshc 16384 1 sbs
scsi_common 16384 6 scsi_mod,sd_mod,usb_storage,uas,libata,sg
scsi_mod 327680 5 sd_mod,usb_storage,uas,libata,sg
sd_mod 81920 3
sg 45056 0
sha1_ssse3 32768 0
sha256_ssse3 32768 0
sha512_ssse3 53248 0
snd 151552 15 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm
snd_hda_codec 217088 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_cirrus
snd_hda_codec_cirrus 24576 1
snd_hda_codec_generic 114688 1 snd_hda_codec_cirrus
snd_hda_codec_hdmi 98304 1
snd_hda_core 143360 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_cirrus
snd_hda_intel 61440 2
snd_hrtimer 12288 1
snd_hwdep 20480 1 snd_hda_codec
snd_intel_dspcfg 40960 1 snd_hda_intel
snd_intel_sdw_acpi 16384 1 snd_intel_dspcfg
snd_pcm 188416 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_seq 110592 7 snd_seq_dummy
snd_seq_device 16384 1 snd_seq
snd_seq_dummy 12288 0
snd_timer 53248 3 snd_seq,snd_hrtimer,snd_pcm
soundcore 16384 1 snd
spi_pxa2xx_core 32768 2 spi_pxa2xx_pci,spi_pxa2xx_platform
spi_pxa2xx_pci 16384 0
spi_pxa2xx_platform 12288 0
stp 12288 1 bridge
sunrpc 872448 1
thunderbolt 540672 0
ttm 106496 1 i915
uas 32768 0
udp_tunnel 32768 1 wireguard
usb_common 16384 2 xhci_hcd,usbcore
usbcore 409600 9 xhci_hcd,usbhid,btmtk,bcm5974,apple_mfi_fastcharge,usb_storage,btusb,xhci_pci,uas
usbhid 77824 0
usb_storage 94208 1 uas
vfat 24576 1
video 81920 1 i915
watchdog 49152 1 iTCO_wdt
wireguard 118784 0
wl 6459392 0
wmi 28672 1 video
x86_pkg_temp_thermal 16384 0
xfrm_algo 16384 1 xfrm_user
xfrm_user 69632 1
xhci_hcd 364544 1 xhci_pci
xhci_pci 24576 0
xor 20480 2 async_xor,btrfs
x_tables 53248 6 xt_conntrack,nft_compat,xt_addrtype,xt_set,ip_tables,xt_MASQUERADE
xt_addrtype 12288 4
xt_conntrack 12288 1
xt_MASQUERADE 16384 1
xt_set 20480 0
[user@hostname ~]$
---
[user@hostname ~]$ sudo modprobe wl
[user@hostname ~]$
---
```