Categories
How-To News Technical

OS X Yosemite / iOS8 Wi-Fi Issue

Re posted from Lifehacker

OS X Yosemite has had a slew of issues with Wi-Fi, namely that connections are randomly dropping out or slowing down.

Cause:

The problem seems to stem from how Yosemite handles its Wi-Fi connection with AirDrop using a connection called AWDL. And if you’re affected by this, developer Mario Ciabarra has a Terminal command that’ll fix the issue.

Solution:

Simply disable it using the following Terminal command:

sudo ifconfig awdl0 down

Note:  This will disable AirDrop

 

What about IOS8

To correct this problem, requires you jailbreak your ipad, iphone. Once jailbroken you need to acquire the software WiFried – Link  https://github.com/mariociabarra/wifried

 

Additional Info / Notes

What is AWDL?

AWDL (Apple Wireless Direct Link) is a low latency/high speed WiFi peer-to peer-connection Apple uses for everywhere you’d expect: AirDrop, GameKit (which also uses Bluetooth), AirPlay, and perhaps elsewhere. It works using its own dedicated network interface, typically “awdl0″.

While some services, like Instant HotSpot, Bluetooth Tethering (of course), and GameKit advertise their services over Bluetooth SDP, Apple decided to advertise AirDrop over WiFi and inadvertently destroyed WiFi performance for millions of Yosemite and iOS 8 users.

How does AWDL work?

Since the iPhone 4, the iOS kernels have had multiple WiFi interfaces to 1 WiFi Broadcom hardware chip.

en0 — primary WiFi interface
ap1 — access point interface used for WiFi tethering
awdl0 — Apple Wireless Direct Link interface (since iOS 7?)

By having multiple interfaces, Apple is able to have your standard WiFi connection on en0, while still broadcasting, browsing, and resolving peer to peer connections on awdl0 (just not well).

2 Channels at the same time!

At any one time, the wifi chip can only communicate at one frequency. Thus, both interfaces would need to be on the same channel when attempting to use both interfaces at the same time. This typically works well when 2 devices are near each other, as they are more than likely connected to the same access point using the same channel.

I did do some tests having 2 devices connected to different channels (one 5ghz and one 2.4ghz) and they were still able to AirDrop successfully (impressive), albeit with obvious transfer chunking and at about 1/2 the normal transfer rate when both devices are on the same channel.

P2P device services happen in discoveryd

discoveryd, previously named mDNSResponder, loads the D2D plugins located in /System/Library/PrivateFrameworks/DeviceToDeviceManager.framework/PlugIns/. The specific one causing issue is the WiFiD2DPlugin.bundle.

Currently there are 2 plugins, one for WiFi and one for Bluetooth. As I mentioned above, some services, such as Instant Hotspot, broadcast over the Bluetooth interface while others such as AirDrop, AirPlay, and GameKit may broadcast on multiple interfaces including the Bluetooth, AWDL, and of course, standard en0 WiFi interfaces.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.