Handoff on a Hackintosh!

In case anyone missed it, Toleda just pushed a new set of patches (credit to skvo for figuring everything out) to the airport/wireless half mini repo, and it includes new kext patches for the BCM4352 on Yosemite to enable Handoff, as well as fix the ‘third party’ string in system information.

Here’s some quick screenshots showing handoff enabled on my hackintosh using the Asus built-in BCM4352 half-mini wifi card.

Of course, I can’t actually test that handoff is working since I don’t own a modern/recent enough iOS device, but given that bluetooth has worked fine for me pretty much from day one, I’m going to assume that it will work.

I’ll be updating the config.plist downloads on my 10.10 page shortly, but for anyone that can’t wait, just delete any older 5Ghz patch you may have in your config.plist, and here’s three new patches you need to add:

Two steps to a smooth 10.9.5 update

About_This_Mac

So I decided to go ahead and update my hackintosh to 10.9.5, and thanks to clover and my DSDT, it was as smooth an update as possible.

After the update, you will likely lose Audio/Sound, and if you’re using an Asus (or other brand) board with the AzureWave BCM4352 wifi chip, you’ll lose your 5Ghz support.

Most people should be fine to just re-patch your audio using toleda’s fantastic script here.

For 5Ghz WiFi support, you can either patch the native kext, or add the following kext patch to your clover config.plist

I’ve also updated the pre-made config.plist for 4790k and Maximus 6 Impact on my main hackintosh page.

OSX – Disconnect/Disassociate wifi on boot

So I don’t really expect very many people to care about this, but I finally solved an OSX annoyance that’s been bugging me for a while.

My scenario is this, I use OSX on a desktop with both ethernet and wifi. I prefer to use my ethernet connection, but OSX automatically connects to wifi on boot/wake if I have any saved networks. This causes some problems with my computer being assigned multiple IP’s, trying to register multiple hostnames, etc.

Now the simplest solution would be to simply turn off wifi, and only turn it on when I need it, but that just seems kludgy to me. I want to leave the physical wifi card enabled, but just not connect to wifi on startup.

And it turns out that isn’t possible, but you can force airport/wifi to disconnect from the command line, provided you enter your admin/sudo password. Every. Single. Time.

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -z

If you try to run that without “sudo” it will tell you:

root required to disassociate

At first, I just set up and alias to this, but it’s still not perfect, since typing a password every time the computer boots, or wakes from sleep is a bit annoying.

This morning I finally found a workaround.

This is a two part fix, first we need to add an entry to our /etc/sudoers file to allow the airport-z command to run as root, without a password.

sudo visudo

And under the line:

%admin ALL=(ALL) ALL

Add the following:

%admin ALL=(root) NOPASSWD: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -z

This line allows users in the admin group to run the airport command to disassociate, without a password. You can further refine this by replacing “%admin” with your username, so only your user account can run the command without a password.

And a natural extension of this, is that we can now use launchd to automate this at boot.

Donwload this plist file and place it in /Library/LaunchDaemons, repair permissions, and reboot. Whenever you login, this will run, and automatically disconnect wifi. You can further automate this with a tool like sleepwatcher to automatically disconnect on wake from sleep too.