---
title: "Apple Wireless Issues on Debian 13 (Trixie)"
subtitle: ""
author: Hyperling
date: "2025-11-19T13:00:00-07:00"
toc: true
images:
tags:
   - tech
   - networking
   - linux
   - wireless
   - apple
   - macbook air
   - kernel
   - broadcom
   - bcm4360
   - wl
   - dkms
   - wireless-tools
   - iwconfig
   - uname
   - modprobe
   - lsmod
   - lspci
   - debian
   - trixie
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 kernel 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, but wasn't sure.

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 booted 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 or deny that claim.

I'm just glad they work to now keep the headers installed automatically! I've since added the packages to my provisioning setup.

## 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 ~]$
```
