OS X Yosemite networking issues and 'discoveryd'
Iconfactory developer Craig Hockenberry posted to his blog about persistent problems he's run into with OS X Yosemite (warning: strong language). Hockenberry gives me some insight into a problem that has also dogged me since Yosemite was in beta last summer: Problems with Macs waking from sleep, and devices on the network being arbitrarily renamed.
Hockenberry, writing on Furbo.org
According to Hockenberry, Macs are losing network connections when waking from sleep and Apple network devices are being renamed with a number in the title, like "Apple TV (2)" or "Peter's MacBook Pro (3)."
It's been happening to me as well, so it resonated for me.
Hockenberry lays the blame for the problem at the feet of "discoveryd," a service that debuted with Yosemite and handles a bunch of networking-related functions. Prior to 10.10's launch OS X used another piece of code called mDNSResponder, which worked pretty well.
Hockenberry isn't the only one out there who says "discoveryd" is the problem. Instapaper creator Marco Arment agrees:
Apple moved to "discoveryd," in part, to enable new features like Continuity, a suite of services that lets Mac and iOS devices effortlessly communicate with one another — text messages on the iPhone are relayed to the Mac; the Mac can use the iPhone as an Internet hotspot without any configuration; email and web page information is passed between devices, and more.
Master your iPhone in minutes
iMore offers spot-on advice and guidance from our team of experts, with decades of Apple device experience to lean on. Learn more with iMore!
Continuity has changed the way people expect their Macs and iOS devices to work, and provides a way for those devices to work better together than they can apart. It's incredibly important technology. It's also disturbingly fragile, especially given than we're now more than six months past Yosemite's initial release (and even longer since Yosemite went into the hands of developers and public beta testers).
Hockenberry learned a workaround: Shut off Apple TVs on the local network, reboot the AirPort Extreme. Hockenberry theorizes why it works:
Bonjour is Apple's implementation of zero-configuration networking, to help the Mac and peripherals just work when they're connected to a network. Hockenberry admits, however, that it's just conjecture, since Apple hasn't been forthcoming with information about the problem. Hockenberry also suggests that the Dilbert Principle may be the ultimate cause for why this problem has dragged out for so long (to wit: that someone in Apple's middle management is trying to cover their ass by obfuscating what's going on).
Marco Arment's network topology is different: He has problems with wired network connections and doesn't use Apple AirPort routers. Arment writes:
"Discoveryd" is one of the many reasons why some of us would like Apple to take a step back from pouring a lot of new features into the next releases of OS X and iOS, instead focusing on making what's already there better. There are maddening inconsistencies and broken features right now.
"Discoveryd" is a foundational technology for Yosemite, iOS 8, the Apple Watch, and everything that comes after. Apple has to get this stuff right before it expects us to start using even more new features, or before those new features introduced in Yosemite get more complicated. So I don't think this is something that's just going to persist.
But after six months, I'm wondering when a solution is finally going to get here.
Are you having these troubles with your Mac, Apple TV or other devices connected to your network? Have you noticed things are worse in Yosemite than they were in Mavericks? Sound off in the comments.