AppleTV, AirPlay and AWDL protocol with Wi-Fi – hard to diagnose, easy to fix
Summary
Apple devices support peer-peer communications that bypass Wi-Fi. Unfortunately, they use Wi-Fi channels to do this, which can interfere with the Wi-Fi network and be torture to chase down for network admins who is not already familiar with the problem. The good news is that Apple only uses a few specific channels and the simple solution is to blacklist channel 149 in the US, ch 44 in the EU and other regulatory domains.
AWDL
AirDrop, AirPlay and who knows what else use a wireless networking protocol, Apple Wireless Direct Link (AWDL) as their underlying mechanism. It is a peer-to-peer protocol, meaning the devices talk directly to each other when sharing a file, as opposed to the typical Wi-Fi setup, where client devices connect to an AP to access the network. The Wi-Fi protocols also support a peer-to-peer option, ad hoc mode, but that is not very relevant at the moment. What we are concerned with here is how AWDL interacts with an Enterprise type Wi-Fi network.
AWDL makes use of the Wi-Fi chips in Apple devices – MacBooks, iPads, iPhones, etc. AWDL is kind-of Wi-Fi, but kind of not. For the engineers in the audience, Apple devices have 3 interfaces to one Wi-Fi chip – en0 (Wi-Fi client), ap1 (Wi-Fi tethering), and awdl0 (AWDL)
ifconfig (edited)
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
options=400<CHANNEL_IO>
ether 56:dd:76:32:af:32
inet6 fe80::54dd:76ff:fe32:af32%awdl0 prefixlen 64 scopeid 0x9
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
ap1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether b2:9c:4a:bb:e8:a9
media: autoselect
status: inactive
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether 90:9c:4a:bb:e8:a9
inet6 fe80::1cd4:b284:ab1f:d5f%en0 prefixlen 64 secured scopeid 0x7
inet 192.168.1.114 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
So, Wi-Fi and AirPlay can stay logically connected on what are two different networks, but they have to share hardware while doing this, so the device ‘channel hops’ switching between its Wi-Fi connection and its AWDL connection. AWDL only uses channels 6, 44, 149, preferring 149 in the US, 44 in the EU and other jurisdictions. Some older descriptions mention channel 153, but that appears out of date, and no one should l=think about 2.4 GHz and Wi-fi ever again. Apple devices also uses Bluetooth to locate other AWDL capable devices before using AWDL, but this is not a deep dive on ADWL but a discussion of its effect on Wi-Fi networks.
What if the AP is on the same channel?
Aye, there’s the rub. IF a nearby AP is on the same channel during AWDL transfers, the AWDL traffic will interfere with the Wi-Fi network – perhaps another client’s network access. In fact, there is no need for the AWDL client to be on the same AP, just close enough that the interference on the AP is significant.
From a troubleshooting point of view, with a bunch of clients only occasionally fritzing the network to share a file of a business card, maybe nobody notices. However, AppleTV and AirPlay typically drive a LOT more network traffic than a business card, so the problem has become more significant in schools and around conference rooms. In fact, that’s just the tip of the iceberg. More and more devices are including Apple AirPlay, including air conditioners, speakers, door locks, lights, even sprinkler systems. (https://www.apple.com/ios/home/accessories/ )
So, what can we do about it? It’s simple…
Keep the Wi-Fi off the AWDL channel. Even if you run an entirely Windows or Chromebook shop, we long ago entered the era of BYOD and there are AirPlay supporting devices everywhere. The best thing to do now is to surrender channel 149 (or 44, depending on your regulatory environment) to the Apple devices. To do this in FortiGate, login and navigate to…
- -> WiFi & Switch Controller
- -> FortiAP Profiles
- Choose the Platform (AP model)
- Scroll down to “radio 2” (the 5 GHz radio)
- uncheck channel 149 or 44
- click OK
- repeat for each AP model you have deployed.
Why did Apple do this? And other comments on AWDL
The author, is, admittedly, a Wi-Fi enthusiast and considers all 5 GHz channels precious, but one can see why Apple did this. It would be nice if there were a big label on our iPads that says “don’t put your Wi-Fi on channel 149,” but there isn’t. Apple is very consumer oriented in their product design. Making it easy for people who are not network engineers to share files is laudable. By using the Wi-Fi chip, they have saved having to add more hardware. Picking a channel that Wi-Fi uses is not about Wi-Fi, but about the FCC and unlicensed spectrum. It has to use SOME channel. AWDL is short ranged, low latency, and that is necessary for quality video streaming.
On the other hand, easy often results in insecure. Can AirDrop provide a back door into an enterprise network? Oh, you bet it can; but that is a blog for another day.