Skip to content

oliverames/ping-warden

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

139 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ping Warden

macOS menu bar app that eliminates AWDL latency spikes for cloud gaming, competitive play, and video calls

sub-millisecond responsekernel-level monitoringmacOS 13+

Download License Buy Me a Coffee

Quick StartWhy This WorksDocumentationBuild


One-click control over Apple Wireless Direct Link (AWDL), the protocol behind AirDrop, AirPlay, and Handoff that causes sudden latency spikes during latency-sensitive activities. Developer ID signed, notarized, with Sparkle auto-updates.

Why Not Just Run sudo ifconfig awdl0 down?

A one-time shell command seems like a simple fix — but it doesn't solve the problem.

The core issue: macOS will bring AWDL back up automatically—often within seconds. You might think you could write a script that checks status every few seconds and takes AWDL down whenever it pops back up. This approach still introduces ping spikes during the seconds AWDL spools up. In some cases, it makes things worse because AWDL performs a channel scan each time it comes up, causing additional latency. Even reducing the polling interval to 0.5 seconds doesn't truly solve the problem.

Why Ping Warden is different: Instead of polling and reacting after AWDL is already up, Ping Warden's helper daemon listens to kernel route/interface events via AF_ROUTE sockets. When macOS signals that AWDL is coming up, the helper immediately counters the transition (sub-millisecond response) before the system can initiate its channel scan. This prevents the latency spike from ever occurring, rather than just shortening its duration.

Other benefits over manual approaches:

  • No repeated sudo prompts: One-time approval during setup, then background operation.
  • Visibility: Live dashboard shows ping quality, history, jitter, and intervention counts.
  • Safe controls: Explicit enable/disable with proper lifecycle handling and diagnostics.

Other Sources of WiFi Latency

Location Services

macOS Location Services uses WiFi scanning to determine your geographic position. The locationd process periodically scans nearby networks, which can cause latency spikes similar to AWDL—especially when apps like Maps query your location.

Mitigations:

  • Disable Location Services entirely: System Settings → Privacy & Security → Location Services
  • Or selectively disable it for apps that don't need it (check System Services at the bottom of the list)

Note: Ping Warden focuses specifically on AWDL because it's the most common and aggressive source of WiFi latency spikes. Location Services scans are typically less frequent but can still contribute to occasional jitter.

Will Apple Fix This in Hardware?

There's been speculation that Apple's newer in-house WiFi chips might mitigate this issue by using a separate radio for AWDL scanning, similar to how some devices handle background tasks without interrupting the main connection.

Current status: As of early 2026, there's no evidence that Apple has implemented dedicated AWDL radio hardware in Macs. Research presented at RIPE 91 (October 2025) confirmed that M4 Macs and iPads still exhibit the same channel-hopping behavior that causes latency spikes. Interestingly, iPhones running the same iOS version don't always show the same rhythmic jitter pattern, suggesting possible differences in how the mobile chips handle AWDL—but this hasn't been confirmed as a hardware solution.

The fundamental constraint is that AWDL uses specific "social" WiFi channels (6 for 2.4GHz, 44/149 for 5GHz). If your network runs on different channels, the radio must hop between channels to listen for AirDrop requests, causing the latency spikes. Until Apple either dedicates separate hardware to AWDL or changes how the protocol works, software-level blocking remains the most effective solution.

Quick Start

  1. Download from Releases and drag to /Applications
  2. Launch and click "Set Up Now"
  3. Approve the helper in System Settings when prompted
  4. Toggle AWDL blocking from the menu bar icon

For detailed setup instructions, see Quick Start Guide.

Documentation

Build From Source

git clone https://github.com/oliverames/ping-warden.git
cd ping-warden/PingWarden
open PingWarden.xcodeproj

Build and run from Xcode with signing configured for all targets.

Credits

License

MIT License. Copyright (c) 2025-2026 Oliver Ames.


Buy Me a Coffee

Built by Oliver Ames in Vermont • GitHubLinkedInBluesky

About

macOS menu bar app that eliminates AWDL latency spikes for cloud gaming, competitive play, and video calls. One-click AirDrop/AirPlay interference control. Signed, notarized, auto-updates.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors