Somewhere around macOS Ventura or Monterey, Apple changed the built-in Wi-Fi kernel driver so that the virtual device for AWDL represented in
It isn't just AirDrop that can spontaneously enable AWDL; simple Bonjour discovery or even Apple TVs can activate it too.
ifconfig
now passes the activation state of AWDL data transfer calls through to the interface state directly. This means that disabling AWDL via ifconfig awdl0 down
no longer works; any services using AWDL will immediately reenable it in less than a second. Previously, disabling the AWDL interface disables it for a long time, usually until the Mac wakes from sleep.
Allowing AWDL discovery when it is unneeded causes significant jitter and overall degraded network performance on Wi-Fi if there are many Bonjour-discoverable devices in the proximity, especially noticeable on latency-sensitive protocols such as remote access (ssh) or remote desktop, and the only known workaround is now broken too.
Is there a way to temporarily (or even permanently) disable the awdl0
virtual interface in Ventura?
Possible ideas:
- Unload the awdl0
interface
- Both ifconfig awdl0 delete
and ifconfig awdl0 unplumb
fails with SIOCIFDESTROY: Invalid argument
- Interface is loaded by the Airport driver (AirportBrcm*
) alongside normal Wi-Fi driver functionality, unloading the driver will remove internet access
- Disable or modify frameworks that applications use to make kernel calls for AWDL functionality
- Requires changes inside the system image, bad for security as this requires bypassing signing
- Disable the interface whenever it goes up by watching ifconfig
- Doesn't solve lag spikes
---
Edit: Latency graph demonstrating AWDL's new behaviour on Ventura and impact on wireless performance, plotted with gping at 20 pings per second to another host. Notice that it is not a flat latency increase, but adds incredibly high amounts of jitter.

Asked by kouwei32
(465 rep)
Dec 8, 2022, 08:19 PM
Last activity: Feb 15, 2023, 05:24 PM
Last activity: Feb 15, 2023, 05:24 PM