Their actual solution for disabling AWDL is running this script in the background: while true; do if ifconfig awdl0 |grep -q " That just checks the awld0 interface every second and turns it off if it's on. Apple really doesn't offer any other way to disable awdl? Note that setting AirDrop to "No One" doesn't fully disable awdl. It's used for other things like screen sharing, AirPlay, bonjour device/service discovery,…
You might also try something like: sudo /usr/libexec/airportd en0 prefs AWDLEnabled=YES (Edit: see varenc's reply below) Or you could create a kext (using deprecated KPIs) that continuously blocks the interface from coming up: errno_t awdlblock_ioctl_handler(void *cookie, ifnet_t interface, protocol_family_t protocol, unsigned long ioctl_cmd, void *ioctl_arg) { if (SIOCSIFFLAGS == ioctl_cmd) { struct ifreq *ifr = (st…
I was able to somewhat disable AWDL by doing this like you suggest:
sudo /usr/libexec/airportd en0 prefs AWDLEnabled=YES
And then restarting airportd so that it picks up the change: sudo launchctl kickstart -k system/com.apple.airportd
This worked without having to disable SIP and modify com.apple.airportd.plistIt doesn't take the awdl0 interface down, and I still see some traffic on it, but I can confirm that it disables some awdl features like "Unlock with Watch" and Screen Sharing over awdl. (Screen Sharing will work over your wifi network instead, but normally it'll prefer a direct awdl link)