Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

soxfan04

macrumors newbie
Oct 17, 2014
8
0
There are a ton of threads about this and I just wanted to put all the findings in one place with the updated procedures since there have been a lot of modifications recently.

Basically Handoff requires a built in Bluetooth 4.0 LE card to work but Apple has blacklisted some of the models that came standard with BT4.0LE so a modified Kext is required. If your system does not have BT4.0LE you will need to replace the card (and possibly modify Kext) to get handoff to work.

Breakdown:

Macbook Air:Early 2008-2010: Requires new bluetooth/wifi card and modified Kext.

Macbook Air:Mid 2011:Requires modified kext only

Macbook Air:Mid 2012-2014: Works OTB

cMacbookPros:Mid 2009-Mid2012 requires new bluetooth/Wifi card and Modified Kext.

RetinaMacBook Pros: Works OTB.

cMacPros:Early2008-2013 requires new bluetooth/Wifi only

NMacPros:Works OTB .

MacMini:Early 2009-2010 requires new bluetooth/Wifi Card and modified Kext.

MacMini:Mid 2011-2012 Only requires Modified Kext

iMac:Mid 2007-2011 requires bluetooth/Wifi Card and Modified Kext

iMac:Late 2012-2013 works OTB

I will also update the list above if someone lets me know that something is off. Since I don't have access to all these machines I cant try them all out to know 100%

What cards to buy:
If it says you need to update your bluetooth/wificard here is a list of what card you should buy. While there may be other comparable cards these are the most up to date I have seen. Remember the only requirement is that your computer has Bluetooth4.0LE.

MacBook Pro/Mac Minis: Apple Broadcom BCM94331PCIEBT4CAX Gives BT4.0LE

MacBook Air: Apple Broadcom BCM94360CS2 This also gives older devices Wifi ac as well as BT4.0LE

cMacPro: Apple Broadcom BCM94360CD This also gives older devices Wifi ac as well as BT4.0LE you will also need an adapter as this card does not fit directly into the cMacPro

Kext Mod. TUTORIAL
Modified from Dokterdok’s original


Please backup your computer before starting!

1. Download and install 0xED in your Applications folder, you can get it from here:
http://www.suavetech.com/0xed/

2. Download and install KextDrop in your Applications folder, you can get it from here:
http://www.cindori.org/software/kextdrop/

3. Repair your disk permissions. Go-> Utilities-> Disk Utility, then First Aid, Repair Permissions.

Then open Terminal and type :
Code:
sudo nvram boot-args="kext-dev-mode=1"

4. Restart your machine.

5. Open Finder, type CMD+Shift+G and go to /System/Library/Extensions/

6. Copy the files below to your desktop and then delete the originals. Make an extra backup copy of the 2 files in a separate folder just in case something doesn't work.
Code:
IO80211Family.kext
IOBluetoothFamily.kext

7. Go to Terminal, and type:exactly as below:
Code:
sudo kextcache -system-prelinked-kernel
then
Code:
sudo kextcache -system-caches

8. Reboot (At this point your wifi will not be working)

9. Go to Terminal, and type: (exactly as below)
Code:
ioreg -l | grep "board-id" | awk -F\" '{print $4}'

10. Your result should look like : Mac-742912EFDBEE19B3, (yours might be different.). Copy it to your clipboard (Select and CMD+C). Don't close terminal yet.

11. On Desktop, Right click IO80211Family.kext and "show package contents" /Contents/Plugins/ Right click AirPortBrcm4360.kext and "show package contents" /Contents/MacOS

12. Right Click on AirPortBrcm4360, and choose OPEN WITH: OTHER: 0XED

13. In the upper right hand corner under “search text" search for "Mac-" (without the quotes).

14. Look at the first result, for example, it might be Mac-00BE6ED71E35EB86

15. Delete the numbers after Mac- and Manually type your Mac- numbers (from step 8 be very careful not to delete anything else just the numbers.

16. Press down arrow till you get to the last Mac- (should look like Mac-2E6FAB96566FE58C)

17.Delete the numbers after Mac- and Manually type your Mac- numbers (from step 8 be very careful not to delete anything else just the numbers.

18. Click Save (the red circle)

19. On Desktop: Right click IOBluetoothFamily.kext and "Show package contents /Contents /MacOS

20. Right Click on IOBluetoothFamily, and choose OPEN WITH: OTHER: 0XED.

21. In the SEARCH field (upper right corner) type:MacBookAir then enter.

22. You will find a block of text containing
Code:
'MacBookAir4,1''MacBookAir4,2''Macmini5,1''Macmini5,2''Macmini5,3'
Manually replace the numbers with ones only so they all look like:
Code:
'MacBookAir1,1''MacBookAir1,1''Macmini1,1''Macmini1,1''Macmini1,1'
Important: Be careful not to add any character while doing the replacement.

23. Click SAVE (the red circle button) and quit 0xED.

24. Open KextDrop, and Drag and drop the IO80211Family.kext that you modified into the window.

25. Click INSTALL.

26. Repeat steps 24 and 25 but for your modified IOBluetoothFamily.kext

27. Go Back to Terminal, and type the following commands. Wait for each one to finish.


Code:
sudo kextcache -system-prelinked-kernel
You should see:
kext-dev-mode allowing invalid signature -67061 0xFFFFFFFFFFFEFA0B for kext IOBluetoothFamily.kext

kext-dev-mode allowing invalid signature -67061 0xFFFFFFFFFFFEFA0B for kext AirPortBrcm4360.kext

Code:
sudo kextcache -system-caches
Nothing should show here.
Finally
Code:
nvram -p | grep "kext-dev-mode" | awk -F'=' '{print $2}'
If printout says "1" then you are in kext dev mode and your new kexts will be allowed to run.


28. Reboot. Make sure you have an Internet connection for the next steps.

29. Go to > SYSTEM PREFERENCES> GENERAL, at the bottom click ENABLE HANDOFF.
(if this is not available then something went wrong and you have to use KextDrop to put your old kexts back in then run
Code:
sudo kextcache -system-prelinked-kernel
Code:
sudo kextcache -system-caches
again, repair your permissions and start over)

30. Go to > SYSTEM PREFERENCES> ICLOUD, click on SIGN OUT.

31. On your iOS Device, go to SETTINGS> ICLOUD and SIGN OUT.

32. Restart your Mac and iOS device.

33. Go to > SYSTEM PREFERENCES> ICLOUD, and enter your credentials to sign in. (make sure keychain is active)

34. On your iOS Device, go to SETTINGS> ICLOUD and SIGN IN.(make sure keychain is active)

35. Repair your disk permissions. Go-> Utilities-> Disk Utility, then First Aid, Repair Permissions.



Troubleshooting:

1:Make sure your keychain is enabled under Preferences-> iCloud on both devices.

2:Make sure you iDevices have a charge over 25% (sometimes it turns handoff off if battery is too low)

3:Make sure Handoff is enabled under Settings-> General-> Handoff on iDevices

4:Make sure they are on the same wifi network and bluetooth is on on all devices.

5:Make sure you aren't pairing your devices under bluetooth.


Hopefully this can be one place to get all the facts strait.
Goodluck!
Thanks to: DokterDok, Lem3ssie, Skvo, TealShark, Manic Harmonic, rob3r7o, mikecwest, MacVidCards, and anyone else I forgot...

Thank you! I finally got this to work with your precisely-detailed instructions!
 

UncleSchnitty

macrumors 6502a
Original poster
Oct 26, 2007
851
14
Thank you! I finally got this to work with your precisely-detailed instructions!

Thank you! Its taken about a week to iron out the wording but its at a place I am very comfortable with and I think its easy to follow.
 

soxfan04

macrumors newbie
Oct 17, 2014
8
0
Thank you! Its taken about a week to iron out the wording but its at a place I am very comfortable with and I think its easy to follow.

I was finally able to use AirDrop! Strangely enough, I see my iPhone 6 on my MBA, but I don't see my MBA on my iPhone. [update: got this working]

And although I finally was able to see these wonderful yes's:

Bluetooth Low Energy Supported: Yes
Handoff Supported: Yes
Instant Hotspot Supported: Yes

I'm not seeing any HandOff icons like what is shown here. Any suggestions? I was able to forward texts/calls, so that's another big step. Thanks again!! Hopefully I can iron out these last few wrinkles.
 
Last edited:

MrCoBalt

macrumors newbie
Oct 22, 2014
12
3
A couple people have asked me that and the answer is, you probably don't have to. Since it makes no mention there probably is no need to. However I have not tested it (I don't have a MBP) Ive been on the safe side and suggested it. Besides from a tutorial standpoint it covers more options and doesn't hurt anything to do both.
Thanks for the quick reply! That's fair enough to cover both in the tutorial, maybe I'll give it a shot reverting to my backup of IOBluetoothFamily tomorrow and report back for other MacBookPro8,1 owners that may be curious.

For your second question, I don't know and I don't think so. I think there is enough differences where that will not work. May I ask why you would want to do that? Im interested because off the top of my head I don't know what you would gain by that even if you could. And yes it would probably cause a lot of headaches somewhere.
I'm only wondering if we can change the Board ID because then it presumably wouldn't require kext changes at all, at least for the IO80211Family.kext (since the system would ideally report itself as an "accepted" model) and if this Board ID change could survive reboots & OS upgrades then there wouldn't be a need to re-patch after 10.10.1, etc etc. or whenever those system kexts are next modified by Apple.

Alas, I think the only time I've seen reports of successful model/board ID changes likes this is either when running a different boot loader on MacPro1,1/1,2 systems or else the unofficial firmware updaters for old iMacs and various models of Mac Pro; For example I'm running a Mac Pro 2009 model (MacPro4,1) but it's been firmware updated to support the faster RAM and CPUs of the 2010-2012 MacPro5,1 systems (and therefore also reports as a MacPro5,1 in System Information)

Firmware Update Info @ Netkas for any interested:
- MacPro1,1 -> 2,1

- MacPro4,1 -> 5,1

- iMac4,1 -> 5,1
 

UncleSchnitty

macrumors 6502a
Original poster
Oct 26, 2007
851
14
Thanks for the quick reply! That's fair enough to cover both in the tutorial, maybe I'll give it a shot reverting to my backup of IOBluetoothFamily tomorrow and report back for other MacBookPro8,1 owners that may be curious.


I'm only wondering if we can change the Board ID because then it presumably wouldn't require kext changes at all, at least for the IO80211Family.kext (since the system would ideally report itself as an "accepted" model) and if this Board ID change could survive reboots & OS upgrades then there wouldn't be a need to re-patch after 10.10.1, etc etc. or whenever those system kexts are next modified by Apple.

Alas, I think the only time I've seen reports of successful model/board ID changes likes this is either when running a different boot loader on MacPro1,1/1,2 systems or else the unofficial firmware updaters for old iMacs and various models of Mac Pro; For example I'm running a Mac Pro 2009 model (MacPro4,1) but it's been firmware updated to support the faster RAM and CPUs of the 2010-2012 MacPro5,1 systems (and therefore also reports as a MacPro5,1 in System Information)

Firmware Update Info @ Netkas for any interested:
- MacPro1,1 -> 2,1

- MacPro4,1 -> 5,1

- iMac4,1 -> 5,1
I believe a lot of those were when you did a processor upgrade. Like the MacPro1,1 had a different processor then 2,1 (Woodcrest and Cloverfield xeon) and you could only do it under certain circumstances (usually when the same logic board was used for 2 generations). While your idea is sound I don't think its doable. The way described here is a very noninvasive way of doing this. It may seem difficult but its really on the easy side if you know what you are doing and why and have some knowledge of hex editors.
Honestly even if it were possible (I don't think it is) thats sort of like bringing a tank to a knife fight hah. But definitely a good train of thought.
UncleSchnitty: would appreciate your thoughts on this question I asked you earlier. Many thanks! :)


https://forums.macrumors.com/posts/20173976/
I think that has something to do with power management and I would leave that alone. As far as I can tell the only things you need to do were in the original post.
 

MrCoBalt

macrumors newbie
Oct 22, 2014
12
3
So my original question was:
If you're using a MacBook Pro Early 2011 model (MacBook8,1 + 8,2 + 8,3) do you actually need to modify IOBluetoothFamily.kext as it doesn't mention anything about MacBook Pro models in there

Good ol' UncleSchnitty says:
A couple people have asked me that and the answer is, you probably don't have to. Since it makes no mention there probably is no need to. However I have not tested it (I don't have a MBP) Ive been on the safe side and suggested it.

…And I can now confirm this is accurate after reverting to the stock 10.10.0 IOBluetoothFamily.kext on my system.

So: At least for a Early 2011 MacBook Pro 13" (MacBookPro 8,1) with an updated CAX wifi/bluetooth card you do not need to modify IOBluetoothFamily.kext in any way, just the AirPortBrcm4360 needs to be modified as detailed.

I would bet $100 that this also applies to the other Early 2011 15" and 17" MacBook Pros, as well as the Late 2011 models of MacBook Pro (they share the same model identifiers as the Early 2011s) but cannot confirm this definitively.

In any case, if you're working on one of these models and following UncleSchnitty's excellent instructions don't touch IOBluetoothFamily.kext in step 6, skip steps 19 to 23, as well as step 26, and you should be all set!!

----------

Honestly even if it were possible (I don't think it is) thats sort of like bringing a tank to a knife fight hah. But definitely a good train of thought.
Yup, indeed! :D

Incidentally speaking of an easy process, I came across this post by .shepard. on Apple's Discussions forum regarding a bash script to make the hex changes to the AirPortBrcm4360 file via sudo & perl. I've mirrored it on my Dropbox for now in case that Mega link stops working too.

I'm checking it out now and doing some testing (doesn't appear to do anything nefarious whatsoever) but it could certainly be handy for future updates. Maybe I'll see if I can wrap it in a user-friendly AppleScript at some point if there's interest.
 

UncleSchnitty

macrumors 6502a
Original poster
Oct 26, 2007
851
14
So my original question was:
If you're using a MacBook Pro Early 2011 model (MacBook8,1 + 8,2 + 8,3) do you actually need to modify IOBluetoothFamily.kext as it doesn't mention anything about MacBook Pro models in there

Good ol' UncleSchnitty says:


…And I can now confirm this is accurate after reverting to the stock 10.10.0 IOBluetoothFamily.kext on my system.

So: At least for a Early 2011 MacBook Pro 13" (MacBookPro 8,1) with an updated CAX wifi/bluetooth card you do not need to modify IOBluetoothFamily.kext in any way, just the AirPortBrcm4360 needs to be modified as detailed.

I would bet $100 that this also applies to the other Early 2011 15" and 17" MacBook Pros, as well as the Late 2011 models of MacBook Pro (they share the same model identifiers as the Early 2011s) but cannot confirm this definitively.

In any case, if you're working on one of these models and following UncleSchnitty's excellent instructions don't touch IOBluetoothFamily.kext in step 6, skip steps 19 to 23, as well as step 26, and you should be all set!!

----------


Yup, indeed! :D

Incidentally speaking of an easy process, I came across this post by .shepard. on Apple's Discussions forum regarding a bash script to make the hex changes to the AirPortBrcm4360 file via sudo & perl. I've mirrored it on my Dropbox for now in case that Mega link stops working too.

I'm checking it out now and doing some testing (doesn't appear to do anything nefarious whatsoever) but it could certainly be handy for future updates. Maybe I'll see if I can wrap it in a user-friendly AppleScript at some point if there's interest.
Awesome, I think 5 or 6 people asked that question but no one reported back (most don't once things work) That confirms what I thought that Macbook pros don't need the Bluetoothfamily kext edited.

As for something like a program to get all this working...;) keep checking back
 

hattonna928

macrumors regular
Jun 18, 2014
103
1
I've been an active member in the original thread about "Early 2011 MBP's can support handoff" etc. Had it working in the betas, and had it working for the last few days on Yosemite following the lovely breakdown of instructions in this thread! Excellent job, OP.

I will caution you all with this though, there are a few nasty bugs in Yosemite right now, that aren't showing up for everyone but they unfortunately hit me. It basically makes your mac freeze up everytime you wake from sleep, or restart. Or pretty much do anything. You can still move the mouse cursor around but nothing is clickable. The second one is that the name of your drive changes. In Disk Utility, it will normally show the official name of your drive, then the name of partitions below it. If Yosemite feels like it, it sometimes renames the full drive with the name of the partition. Which screws up your whole computer, corrupting your drive.

This happened about 36 hours after changing all the stuff to make handoff work. After going into recovery mode and disk utility, I had to repair the permissions, then repair the disk and eventually that didn't work so I had to erase and restore from a backup. I warn you all to be careful with this as it could activate some bugs.

Either that or it was just a coincidence and my luck is horrendous...
 

zoneout

macrumors newbie
Feb 20, 2014
1
0
2011 Macbook Air

I did the whole original procedure and both Handoff and Hotspot are working for me.

Thank you!
 

LoveQuicksilver

macrumors newbie
Mar 25, 2013
3
0
Thanks so much for this!

I followed the instructions carefully, and it worked perfectly 1st time. :)

It's worth waiting a while after logging out of and in to iCloud for everything to get synced before deciding if the fix has worked. Numbers didn't Handoff while its docs were being re-downloaded.

This confirms to me that Apple are willing to withhold features from older Macs for purely commercial reasons. Luckily, geniuses like you are around. :cool:
 

dokterdok

macrumors member
May 6, 2010
79
2
Continuity Activation Tool 1.0.0

I'm happy to publish the first version of the OS X Continuity Activation Tool. It's an all-in-one app to activate and diagnose OS X 10.10 Continuity on compatible Mac configurations. I've been working on it for the past three weeks and tested it successfully on various Mac models. It should be stable enough now.

The app and its source code are available here (GitHub): Link
Remember:
  • This tool, just like the tutorials posted before, can break your system: be careful and responsible when using it. That said, the tool makes many compatibility checks and a backup before the actual patching is done in order to reduce risks.
  • Don't use it on corrupt or badly patched kexts : it's safer to restore the original ones first.
  • It's been tested successfully on Yosemite 10.10 but might need to be reapplied after future OS X updates.

Looking forward for your feedback!
Many thanks to Lem3ssie and UncleSchnitty for the beta testing and support.

 
Last edited:

Gav Mack

macrumors 68020
Jun 15, 2008
2,194
23
Sagittarius A*
I'm happy to publish the first version of the OS X Continuity Activation Tool. It's an all-in-one app to activate and diagnose OS X 10.10 Continuity on compatible Mac configurations. I've been working on it for the past three weeks and tested it successfully on various Mac models. It should be stable enough now.

The app and its source code are available here (GitHub): Link
Remember:
  • This tool, just like the tutorials posted before, can break your system: be careful and responsible when using it. That said, the tool makes many compatibility checks and a backup before the actual patching is done in order to reduce risks.
  • Don't use it on corrupt or badly patched kexts : it's safer to restore the original ones first.
  • It's been tested successfully on Yosemite 10.10 but might need to be reapplied after future OS X updates.

Looking forward for your feedback!
Many thanks to Lem3ssie and UncleSchnitty for the beta testing and support.

As a too busy techie I was hoping there would be a really simple solution similar to Trim Enabler that would make it really easy after every point upgrade to get these cards going. I still have both sets of cards for the Mac Pro 3,1 and MBP 2011 to fit I was going to hold off till 10.10.1 but work just keeps getting in the way and the thought of doing terminal command after another other on my own kit didn't fill me with enthusiasm at all, I just like my own Mac to be as simple as possible as everyone else's aren't.

This tool has got me enthusiatic - "Handoff/Continuity Enabler" :D

I owe you three and the rest who has tested this out a favour and won't forget. The future option to offer this out to clients too in the future will certainly help me out and if you setup a donation page count me in..

Thanks again :D
 

Jarman74

Contributor
Mar 22, 2009
237
687
Looking forward for your feedback!
In the next weeks I will try to get ahold of a Mac Pro 3.1 card (unavailable atm on MacVidCards' website, but I can wait). For the time being and although my rig is currently not supported by your tool, I applaud your effort and I will be making a donation as soon as I can. Great job!
 

UncleSchnitty

macrumors 6502a
Original poster
Oct 26, 2007
851
14
Ive been trying to keep this a secret and it was killing me but...
Kext Mod Application!!!!
I am very excited to give you Dokterdok's Continuity-Activation-Tool. You no longer need to Modify the kexts on your own. This program automates everything for you. I will still leave the instructions for people who want to do it on their own.

Please go back to unmodified kext before using the tool! If they are modified the tool will not install.
 
Last edited:

Gav Mack

macrumors 68020
Jun 15, 2008
2,194
23
Sagittarius A*
My 3,1 has got the N card in the kit from osxwifi and not the AC, I don't need fast wifi when cat 6 rules - will let you know how I get on when I finally get round to having the spare time to doing it.

Thanks again all of you.
 

Gav Mack

macrumors 68020
Jun 15, 2008
2,194
23
Sagittarius A*
One question - as Trim Enabler does its similar thing patching the kext settings what's your recommended procedures for those that use that tool and yours, which in my case and quite a few others who will use it will be most of them :)
 

UncleSchnitty

macrumors 6502a
Original poster
Oct 26, 2007
851
14
My 3,1 has got the N card in the kit from osxwifi and not the AC, I don't need fast wifi when cat 6 rules - will let you know how I get on when I finally get round to having the spare time to doing it.

Thanks again all of you.
I have a MacPro 3,1 and its really easy. No kext hack just plug that into the spot where your wifi card was, attach the antennas and call it a day. That was one of the easier mods I've done

----------

One question - as Trim Enabler does its similar thing patching the kext settings what's your recommended procedures for those that use that tool and yours, which in my case and quite a few others who will use it will be most of them :)

They work together just fine and don't interfere with each other. No extra steps needed.

Its pretty awesome that people can just run the application now and not worry about modifying kexts on their own. Ive been beta testing it for a couple days and was going to explode if I couldn't tell people about it soon haha
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.