Large set of edits for Apple WiFi article.

This commit is contained in:
2025-11-19 19:21:32 -07:00
parent 8b039b54d1
commit 54b7f45754

View File

@@ -1,4 +1,5 @@
---
draft: true
title: "Apple Wireless Card Issues on Debian Trixie"
subtitle: ""
author: Hyperling
@@ -27,12 +28,11 @@ series:
categories:
- guides
aliases:
draft: true
---
## Disclaimer
This article assumes that your laptop has had the wireless card working on Debian recently.
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.
@@ -43,9 +43,9 @@ 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 Macbooks, the Debian wiki and forums are your best bet if this article does not apply to you.
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: Macbooks" "url tbd" >}}
{{< external-link "Debian Wiki: Macbook Wireless" "https://wiki.debian.org/MacBook/Wireless" >}}
## Introduction -- Define the Problem
@@ -71,7 +71,7 @@ Ubuntu provides the packages `linux-image-generic` and `linux headers-generic`.
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.
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!
@@ -81,254 +81,70 @@ 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.
```
tbd change this to an unordered list with `` on each command.
uname -a
lspci -vnn | grep -i net
/sbin/iwconfig
lsmod
modprobe
apt list
```
- `uname -a`
- `lspci -vnn | grep -i net`
- `/sbin/iwconfig`
- `lsmod`
- `modprobe`
- `apt list`
### Missing Kernel Headers Example
tbd make these individual code blocks.
### 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 | 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 ~]$ 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 ~]$
---
```
### Working Example
tbd make these individual code blocks.
### 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.
@@ -342,199 +158,59 @@ 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 ~]$
```
---
```
[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 ~]$
```