17 ms·
A 0.5s periodic hitch in my local screen stream turned out to be macOS AWDL
- ShinyLeftPad 3mo agoThe title is so wildly inaccurate clickbait doesn't do it justice...
- MoonWalk 3mo agoYeah, I went to the page and wasted time looking for any reference to this. Doubly douchey after not defining "AWDL."
- CaliforniaKarl 3mo agoThe content of https://news.ycombinator.com/item?id=48628303 https://news.ycombinator.com/item?id=48628303 should have been posted as the item's text. Or, that text could've been put in to an Issue, and the link pointed to that.
- duchanjo 3mo agoAgreed. That's exactly what I should have done. Thanks for pointing out the proper way to handle it.
- duchanjo 3mo ago[dead]
- duchanjo 3mo agoSorry about that. I'm still pretty new to HN and didn't do a good job connecting the title to the actual content.
- duchanjo 3mo agoI recently built a self-hosted tool that streams an iOS/Android simulator to a browser. Since everything was running on the same LAN, I expected the stream to feel almost local. It didn't. About twice per second, the stream would freeze briefly and then catch up. The pattern was very consistent. Bandwidth wasn't the issue, and CPU usage was low, so "the network is slow" wasn't the cause. To investigate, I started pinging my router from the relay Mac with a very short interval: `ping -i 0.01 <router-ip>` The latency pattern was interesting. Most packets were fast, but every so often there was a spike of around 90 ms. The interval between those spikes matched the stutter in the stream almost exactly. That was it. It turned out to be AWDL (`awdl0`), the macOS interface used for AirDrop, AirPlay, and Handoff. When AWDL is active, macOS periodically switches Wi-Fi channels for a short time. During those channel hops, packets on the normal Wi-Fi connection can be delayed. In my case, the delay was roughly 90 ms. After disabling AWDL (`sudo ifconfig awdl0 down`) or stopping the features that activate it, the stutter disappeared. AWDL doesn't hop channels all the time. It usually becomes active when triggered by AirDrop discovery, AirPlay, or Bluetooth-based proximity features. If those stay idle, AWDL stays quiet. I use Ethernet for the relay machine now. That completely removes the issue because the stream traffic never touches Wi-Fi. Repo: github.com/jo-duchan/tapflow
- forsalebypwner 3mo agoYup, this has been a known issue forever - I recall streaming game services like Amazon Luna specifically warning about this if it detected you were on a Mac and wanted to play a game.
- CaliforniaKarl 3mo agoI didn't know about it! And I really wish I did…
- duchanjo 3mo agoYeah, exactly. I came across some of those reports while debugging this. They were really helpful in narrowing down the cause.