Files
hugo-recipes/content/posts/tech/apple-debian-wireless-issues.md

20 KiB

title, subtitle, author, date, toc, tags, series, categories, aliases, draft
title subtitle author date toc tags series categories aliases draft
Apple Wireless Card Issues on Debian Trixie Hyperling 2025-11-19T13:00:00-07:00 true
tech
networking
linux
wireless
apple
macbook air
kernel
broadcom
bcm4360
wl
dkms
wireless-tools
iwconfig
uname
modprobe
lsmod
lspci
sysadmin
guides
true

Disclaimer

This article assumes that your laptop 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 Macbooks, the Debian wiki and forums are your best bet if this article does not apply to you.

{{< external-link "Debian Wiki: Macbooks" "url tbd" >}}

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.

tbd change this to an unordered list with `` on each command.
uname -a
lspci -vnn | grep -i net
/sbin/iwconfig
lsmod
modprobe
apt list

Missing Kernel Headers Example

tbd make these individual code blocks.

[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 Example

tbd make these individual code blocks.

---

[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 ~]$

---