October 31, 2014 Leave a comment
It’s no secret that the latest release of Apple’s OSX, named Yosemite, has some Wi-Fi issues. If you visit the Apple forums, you’ll find them full of complaints from users that are having problems — primarily regarding latency and connectivity — and there are some suggestions on resolutions. A couple of us here at the office upgraded as soon as Yosemite came out, and we’re both seeing a huge problem with latency, specifically when connecting to Airplay devices. However, other issues were also occurring: Web pages not loading, dropped connections, Yosemite seeming to run slowly in general and more. We were able to consistently reproduce the issues regardless of whether it was here at the office or in our homes.
The final straw, however, came when I noticed that I was unable to play Starcraft II.
You see, a few of us here have a rather unhealthy attachment to Starcraft. Bryon, the SmarterMail Development Manager, and I tend to spend hours in the evening playing the game. We generally team up and play against other 2-player teams and before I upgraded to Yosemite, there were no issues. However, the first time we played AFTER the upgrade, I saw an incredible amount of lag when playing. Bryon, who is also using a MacBook Pro, but generally runs Windows in Bootcamp and plays Starcraft in Windows, had zero issues. My side, however, was unplayable. We didn’t think too much of it, but the next time we played I had the exact same issues. Earlier in the day, in a meeting, I tried using Airplay on our conference room television and there, too, saw a ton of lag. Others in the room who hadn’t upgraded also used Airplay and saw no issues.
So this got me thinking. Messing with my ability to play Starcraft is one thing, but when an issue impacts my ability to get work done, then I get serious. I remembered Bryon, running Windows in Bootcamp, didn’t have any problems. Add that to the fact that MacBooks still running Mavericks were also running fine and I realized it must be something in Yosemite. Not being one to “go backwards” and revert to Mavericks, I had a challenge on my hands and it was going to mean some late nights finding a resolution.
Ultimately, the primary issues seems to be with Bonjour and multicast. After monitoring packets I was seeing a consistent pattern when any broadcasts or discoveries were being made. Anytime this happened, my ping times went through the roof. I was able to consistently duplicate the issues by simply dropping down the Airplay menu.
So, here is the solution. This first part will get you started with a fresh network configuration, especially if you’ve upgraded from previous OSX versions. NOTE: This solution requires you to use Terminal. If you’re not comfortable using this, DO NOT perform this fix – simply wait for Apple to release a fix.
- Turn off Wi-Fi
- Open Finder
- From the Go menu, select Go To Folder
- Type in “/Library/Preferences/SystemConfiguration/”
- Delete the following files, if you have them:com.apple.airport.preferences.plist
- Close everything and reboot your machine
Once your machine comes back up, turn your Wi-Fi back on, if it doesn’t turn on automatically.
This next step is the true fix…
- Open Terminal
- Type the following command: sudo nano /System/Library/LaunchDaemons/com.apple.discoveryd.plist
- change this:
- Re-boot your machine one last time.
You’ll notice you simply added the “–no-multicast” string to the ProgramArguments array. Normally this change is made to disable broadcasting of your computer itself but this is where the BUGS seem to be within Yosemite.
Making this change will normalize your Wi-Fi connection and you will not see any latency or erratic ping times. A check of my MacBook Pro on Speedtest.net before making this change showed 5-9mbps, whereas checks AFTER this change took me into the 60+mbps range over our Wi-Fi connection. I’m also seeing Airplay devices like I did before, there is ZERO latency when playing to an Airplay device…all seems normal.
Now, this should not be a permanent solution and could impact other functions such as the new Handoff features in Yosemite, etc. However, it will make your machine usable again. Discovering Airplay devices will still work, but you may not see all devices on your network and it might take MUCH MORE TIME to discover the ones you have available.
Let us know how things work and if you do find additional functionality within Yosemite not working as anticipated after the change, let us know. I’m an Android user so I don’t use some of the new Yoesmeite features and although I believe very little will be impacted, realize that other things I haven’t tested and don’t use may be affected.
UPDATE: If you notice that your network status icon is blank after you perform this fix, this is simply a display issue so the fix for that is pretty simple:
- Open Network Preferences
- Uncheck “Show Wi-Fi status in menu bar”
- Re-check “show Wi-Fi status in menu bar”
- Your status icon will show active again.