Using unsupported Bluetooth 4.0 USB dongle with OS X

Share this:

UPDATE: Looks like with OS X Mountain Lion, you don’t have to do the following hack anymore! The Broadcom dongle I describe in this article is supported on OS X Mountain Lion by default! In fact, the new kext includes support specifically for the IOGEAR GBU521 Bluetooth 4.0 Micro Adapter! Also, you might want to consider getting the IOGEAR one since the eBay one I got has a bright blue LED that’s always lit and can be pretty annoying at night.

MORE UPDATE: There’s been reports that while this guide worked in getting the drivers loaded for the external Bluetooth adapter, some was still stuck with the Apple’s built-in adapter. I’ve added some further tips at the bottom on how you can manually select which adapter to use. However, since my MacBook’s internal Bluetooth device is actually already dead, I cannot verify this at this point of writing. Please let me know if it works.

SOME MORE UPDATES: It seems that a lot of visits to this page comes from users who are looking to try and enable Handoff to work on older Macs. From what I’ve read and seen, all you need is to get a compatible Bluetooth 4.0 module like the IOGEAR GBU521 Bluetooth 4.0 Micro Adapter and then enable it using the Continuity Activation Tool available here.

—– End of Update —–

If you find yourself wanting upgrade your Mac’s Bluetooth 2.1 support with a USB dongle that supports Bluetooth 4.0, here’s a tip for you to get it on the cheap with those Bluetooth 4.0 USB dongles you find posted on eBay.

IOGEAR GBU 521

IOGEAR GBU521 Bluetooth 4.0 Micro Adapter

Why I even explored getting a Bluetooth 4.0 USB dongle was due to the untimely demise of the onboard Bluetooth 2.1 chip on my 2010 MacBook Pro. It just went dead without any warning after about 1.5 years of me using my MBP. So I searched for a Bluetooth dongle that has Mac support. You’d be surprised that there isn’t many that officially states OS X support, especially so for a Bluetooth 4.0 dongle. So in the end, I decided to pick one that apparently used a photo of the dongle (see below) plugged into a MacBook Pro and hoped that it would work.

If you’re wondering which Bluetooth 4.0 dongle I bought, this link will bring you to the item page on eBay and it cost me US$12.98 for the dongle. And jumping ahead, it works, so you could go ahead and get the same too, especially if you decide to use the same kext file that I’ll post up in this article as a sample. Unfortunately, it’s no longer listed as of my last check.

Update: In retrospect now that I’ve been using the cheaper eBay dongle, you might want to consider getting the IOGEAR one. Why? The eBay one has a bright blue LED that’s always lit and can be pretty annoying at night. So unless being a little ‘bling-bling’ is your thing, get the IOGEAR GBU521 Bluetooth 4.0 Micro Adapter which looks a little more discreet. Also, you can sometimes get pretty good deal on Amazon and get this dongle for as low as US$13.50.

But of course any Bluetooth 4.0 USB dongle would do as long as it is using the exact same chip as the IOGEAR’s dongle, which is Broadcom’s BCM20702A0 chip. You can read more about the chip here.

Now, you’d probably guessed that the dongle didn’t work right out of the box, hence this article. When I plugged in the dongle, Bluetooth support was nonexistent. However, the USB dongle did register up in the USB Device Tree when I checked with the System Information.

What that means is that OS X does see the hardware. However, there isn’t a driver that the OS can find for the Bluetooth dongle and therefore didn’t ‘load’ it up.

The solution then is to perhaps hack the kext (kernel extension) that handles the Bluetooth devices and include support for this dongle! And since the newer Macs all have Bluetooth 4.0 support, I’m sure that the drivers included with OS X Lion (10.7.4 as I’m writing this post) would have drivers that support it. And in my case, support for the Broadcom BCM20702A0 chip.

A quick search around the Internet reveals the exact kext to edit. Basically the one that you need to hack is /System/Library/Extensions/IOBluetoothFamily.kext.

Within that kext, BroadcomUSBBluetoothHCIController.kext, is another next that is basically the Broadcom driver

In order to get to them, just head over the /System/Library/Extensions/  location in finder. Seek out the IOBluetoothFamily.kext and open up the package contents. Note to the newbies, a kext ‘file’ is really just a special folder that holds a collection of files that make up the kernel extension.

And before we continue, I found that the best and sure fire way is to create a copy of the IOBluetoothFamily.kext to a different location, i.e. the desktop or anywhere you like, edit it there and use the Kext Utility to ‘install’ the kext. I’ll come to the installation steps soon, but go ahead and make a copy of the kext file now.

Ok. Now you have the copy of the kext file, open up the IOBluetoothFamily.kext package, continue to navigate to /System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/ and you’ll find another kext named BroadcomUSBBluetoothHCIController.kext.

Do the same again for the BroadcomUSBBluetoothHCIController.kext and open up the Contents folder. In that folder you should find the Info.plist file.

This is the file that you would need to edit to add the support for your new Bluetooth USB dongle.

But before we edit the file, let’s get some information of the Bluetooth device, specifically the product and device id, that you’d need in order to edit the plist file. You can actually get this information from the System Information utility. Just do a spotlight search for “System Information” if you don’t know where to find it.

Once open, you would need to browse to the USB device tree and look for the bluetooth dongle. Now, it may show up in various names depending on the Bluetooth USB dongle you get, but it should be easy enough to identify which is the exact device. In my case, it just showed up with the name BCM20702A0 . Selecting the item reveals the information you need which would be the Product ID and Vendor ID values.

Now the values you see for both the Product ID and Vendor ID are in hex. And if you’ve gone ahead to open up the Info.plist file, you’ll then notice that the idProduct and idVendor values are in integer. So you’ll need to convert it from hex to integer.

In my case with the BCM20702A0 chip, the Product ID value is 0x21e8. Converting 21e8 to integer gives me the value of 8680. As for the Vendor ID, 0x0a5c is 2652 in integer. If you don’t know how to convert hex to integer, just use this site here to do so. Now that you know your Product ID and Vendor ID in integer form, let’s move on to edit your plist file!

To do so, just open the Info.plist file with any text editor. As for me, I’m using TextWrangler to do so. You should see a bunch of text in the form of an XML document. Just scroll down all the way to the end till you find a key by the name of “Microsoft Bluetooth 2.0 USB Dongle”.

What you need to do is simply copy and paste a new entry using the “Microsoft Bluetooth 2.0 USB Dongle” entry and edit it with the new information you found (see the red text below). Note that for the new of the device, you can basically use any name you want. What OS X cares about is only the idProduct and idVendor keys as that’s what it uses to match and load the appropriate drivers.

 
 ....
 ....
 <key>Microsoft Bluetooth 2.0 USB Dongle</key>
     <dict>
       <key>CFBundleIdentifier</key>
        <string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
       <key>IOClass</key>
       <string>BroadcomUSBBluetoothHCIController</string>
        <key>IOProviderClass</key>
        <string>IOUSBDevice</string>
        <key>idProduct</key>
        <integer>156</integer>
        <key>idVendor</key>
        <integer>1118</integer>
        </dict>
 <key>Bluetooth 4.0 USB Dongle</key>
     <dict>
        <key>CFBundleIdentifier</key>
        <string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
        <key>IOClass</key>
        <string>BroadcomUSBBluetoothHCIController</string>
        <key>IOProviderClass</key>
        <string>IOUSBDevice</string>
        <key>idProduct</key>
        <integer>8680</integer>
        <key>idVendor</key>
        <integer>2652</integer>
     </dict>
 </dict>
 ....
 ....

If you aren’t sure about this, you can use the sample edited kext file here – IOBluetoothFamily.kext. You could use my kext file right off the download. However, I’d advice you to try editing it yourself to be familiar with the process since every OS X update is likely to ‘wipe’ off your hacked ‘kext’ and you’d need to re-do the steps again, and it’s always best to edit it from the latest kext file.

Once you have the edited kext. Next is to use the Kext Utility (download) to replace the original kext file. When you load up the Kext Utility, you’d see that it would be running some activities upon start-up. Just leave it to do whatever it’s doing until it’s done with whatever that it’s doing. Then, drag the edited kext file over into the Kext Utility and you will see it installing it onto your system. Again, it will let you know when it’s complete. 

When finish, just quit the Kext Utility and reboot your system. Once restarted, your Mac should now recognize the new Bluetooth device and you’re good to go!

But to make sure that the new dongle is the active one being use, hold on to the option key and click on the Bluetooth icon on the menu bar. If you see the version to be 4.0 then you’re ok.

Bluetooth Version

Bluetooth Version

If it’s not version 4 (assuming your internal MacBook’s Bluetooth dongle is not BT 4.0 that is), one way to change this is to use the Bluetooth Explorer tool that should be already installed on your Mac. Just follow the screenshots below since it’s pretty self explanatory.

Use Spotlight to quickly open the Bluetooth Explorer

Use Spotlight to quickly open the Bluetooth Explorer

Go to Utilities -> HCI Controller Selector

Go to Utilities -> HCI Controller Selector

Activate the Bluetooth device of your choice!

Activate the Bluetooth device of your choice!

Let me know if the Host Controller Selector works!

Share this:

You may also like...

175 Responses

  1. drunknbass says:

    Hey, did the info in the system info change after you updated? or does the dongle just work now. I guess what im getting at is other than bluetooth working is there any visual indication it works? are there any infos in system info about bluetooth 4.0 support, etc?

  2. Ken Ng says:

    The thing with my problem is that the dongle does not work at all by default. I can see if detected as a USB device but that’s it. OS X does not by default recognize it as a Bluetooth device without the kext hack. Once the hack is done, the Bluetooth info in the System Information shows the Bluetooth device information and obviously it’s working now.

    Here’s the extract from my System Information on the Bluetooth device:-

    Apple Bluetooth Software Version: 4.0.5f11
    Hardware Settings:
    Address: ##-##-##-##-##-##
    Manufacturer: Broadcom
    Name: Ken’s MacBook Pro
    Firmware Version: v14 c4096
    Bluetooth Power: On
    Discoverable: No
    Vendor ID: 0xa5c
    Product ID: 0x21e8
    HCI Version: 6 (0x6)
    HCI Revision: 4096 (0x1000)
    LMP Version: 6 (0x6)
    LMP Subversion: 8718 (0x220e)
    Device Type (Major): Computer
    Device Type (Complete): Mac Portable
    Composite Class Of Device: 3801356 (0x3a010c)
    Device Class (Major): 1 (0x1)
    Device Class (Minor): 3 (0x3)
    Service Class: 464 (0x1d0)
    Services:
    Bluetooth File Transfer:
    Folder other devices can browse: ~/Public
    Requires Authentication: Yes
    State: Enabled
    Bluetooth File Exchange:
    Folder for accepted items: ~/Downloads
    Requires Authentication: No
    When other items are accepted: Ask
    When PIM items are accepted: Ask
    When receiving items: Prompt for each file
    State: Enabled
    Devices (Paired, Favorites, etc):
    Ken’s iPhone:
    Address: ##-##-##-##-##-##
    Type: Smartphone
    Firmware Version: 0x510
    Services: Wireless iAP, PAN Network Access Profile, AVRCP Device, Handsfree Gateway, Audio Source, AVRCP Device, Phonebook
    Paired: Yes
    Favorite: Yes
    Connected: No
    Manufacturer: Broadcom (0x6, 0x4103)
    Vendor ID: 0x5ac
    Product ID: 0x12a0
    EDR Supported: Yes
    eSCO Supported: Yes
    Razer Orochi:
    Address: ##-##-##-##-##-##
    Type: Mouse
    Firmware Version: 0x501
    Services: Razer Orochi
    Paired: Yes
    Favorite: No
    Connected: No
    Manufacturer: Broadcom (0x3, 0x229)
    Vendor ID: 0x1532
    Product ID: 0x14
    EDR Supported: No
    eSCO Supported: No
    Incoming Serial Ports:
    Bluetooth-PDA-Sync:
    RFCOMM Channel: 3
    Requires Authentication: No
    Outgoing Serial Ports:
    Bluetooth-Modem:
    Address:
    RFCOMM Channel: 0
    Requires Authentication: No
    KensiPhone-WirelessiAP:
    Address: ##-##-##-##-##-##
    RFCOMM Channel: 1
    Requires Authentication: No

  3. MarkB says:

    Ken, great post. Other than verifying your System Information as shown above, have you tried actually connecting to a Bluetooth 4 peripheral with this dongle after the configuration?

  4. Ken Ng says:

    If my iPhone 4S counts, then yes. Otherwise, there isn’t any many Bluetooth 4.0 devices available for me to test it with. However, the new 2012 MacBook Air is also equipped with the same BCM20702-based chipset. http://www.appleinsider.com/articles/12/06/12/teardown_of_2012_macbook_air_finds_revised_flash_memory_connector.html

    “The 2012 MacBook Air also features the same Broadcom BCM4322 Intesifi Single-Chip 802.11n Wi-Fi Transceiver, and Broadcom BCM20702 Single-Chip Bluetooth 4.0 Processor with Bluetooth Low Energy support. The stereo speaker design is also identical to models released in 2011 and 2010.”

  5. Falcon says:

    Please tell me, how to connect a bluetooth headset to bm20702a0.

  6. Ken Ng says:

    You would just connect the headset to the USB dongle as you would normally do on OS X.

  7. Falcon says:

    did not work. connects but no sound is transmitted

  8. Ken Ng says:

    Do check the Sound preference in System Preferences and see if the Output has the Bluetooth devices selected. Sometimes it’s not so no sound is transmitted to the connected Bluetooth device.

  9. I’m not even sure what is going on. the latest mountain lion 10.8.1 doesnt even have a kext at that location, the closest is
    /System/Library/Extensions/IOBluetoothFamily.kext/Contents/Plugins/BroadcomBluetoothHCIControllerUSBTransport.kext and i have edited that and added another entry under IOKitPersonalities dict

    BroadcomUSBBluetoothHCIController – IOGear BLE

    CFBundleIdentifier
    com.apple.iokit.BroadcomBluetoothHCIControllerUSBTransport
    IOClass
    BroadcomBluetoothHCIControllerUSBTransport
    IOProviderClass
    IOUSBDevice
    idProduct
    8680
    idVendor
    2652

    but it still doesn’t show this as the vendor/product in sysinfo under BLUETOOTH. Even after sudo nvram bluetoothHostControllerSwitchBehavior=”never” and reconnecting the dongle.

    Xcode reports my system is not BLE capable and i’m guessing because it’s not being utilized by my system as the bluetooth device,

  10. soonoon says:

    thanks for this…! I exactly follow the steps and all WORKS!! MILLION THANKS

  11. Ken Ng says:

    Yup, they changed the name of the kext in Mountain Lion. But you should not need to enter a new entry for idProduct 8680 and idVendor 2652 as there’s already one for it.

    BroadcomUSBBluetoothHCIController – MediaLink BT4.0 Adapter

    CFBundleIdentifier
    com.apple.iokit.BroadcomBluetoothHCIControllerUSBTransport
    IOClass
    BroadcomBluetoothHCIControllerUSBTransport
    IOProviderClass
    IOUSBDevice
    idProduct
    8680
    idVendor
    2652

  12. kallisti says:

    I can’t get this to work on Mountain Lion. I see a blue light on in the dongle, but I don’t see how to pair a device with it. I’ve tried to put two headsets into pairing mode, and my phone, but they can’t find the device. They can on a windows machine, however, once I installed the windows drivers. So I know the dongle is working, but what’s the process for connecting devices to it on a mac? Thanks in advance for any help…

  13. Ken Ng says:

    The bluelight does not necessarily mean that the device is already registered to be working on the Mac. I’m assuming you got the exact same dongle that I bought from eBay? In Mountain Lion, it should work without any tweaking on the kext.

    Did you confirm that it is indeed working by checking on the System Information utility?

  14. Noah says:

    The kext utility doesn’t load on my architecture, iMac g5 PowerPC. Is there another utility out there for non-intel, or is my computer too old to even make this hack work? I’m on osx 10.5.8

  15. Ken Ng says:

    Try this utility and see if it works for you. http://www.osx86.net/view/250-kext_helper_b7.html. It’s said to support 10.5.x.

  16. Noah says:

    Same problem with this kext utility, I get an error message “You can’t open … because it is not supported on this architecture”

    I know that my computer can’t update since its the last generation before macs went to intel chips, and this often limits what i can use/open.

    I can open an mkext tool that can create and unpack MKEXT files, but i dont think that helps me load kext files onto my computer… sorry I’m kind of pushing the limits of my computer knowledge here!

  17. JuPe says:

    I’ve got MacPro 1.1 running on 10.7.5 and I’m trying to install GBU521 and did the kext hack.
    I did it with Kext Utility…
    I can see the hack in place on the Info.plist but after reboot it’s still not recognizing the Dongle.
    Please see below.

    BCM20702A0:

    Product ID: 0x21e8
    Vendor ID: 0x0a5c (Broadcom Corp.)
    Version: 1.12
    Serial Number: 000272328D26
    Speed: Up to 12 Mb/sec
    Manufacturer: Broadcom Corp
    Location ID: 0x5d100000 / 2
    Current Available (mA): 500
    Current Required (mA): Unknown (Device has not been configured)

    Not sure how to get the dongle to work.
    Any good ideas?

    Cheers,
    JuPe

  18. JuPe says:

    Did it with Kextbeast and it worked…
    Not sure what was the difference.

  19. Ken Ng says:

    Probably some issues Kext Utility. But glad you got it working!

  20. Daniel says:

    Thanks for the info, this is exactly what I need.
    Except it doesn’t quite work for me…
    OSX 10.6.8 on a mid-2007 MacBook (version: 2,1) .
    I had to use KextBeast to get the modified kext file to load. Same iogear BT USB as mentioned above and with the same product/vendor as your screenshots and sample file. When I plug in the BT USB, the mac’s profile says it goes from Bluetooth LMP 3 to 6, which i think means it can handle BT4.0.

    However, the BT icon on the mac bar still shows 2.4.5.

    I’ve tried enabling/disabling the internal BT. I’ve tried about eight modifications to the .kext: with the additional BT4 line; with the 4.0 replacing the 2.0 line; with the 2.0 updated with the new vendor/product; with your version of the file (which doesn’t have lines about siezecontrol); and with the version of the file that was on my computer.

    So I’m stuck and hoping you have a few other ideas on what I can try before I throw in the towel.
    Thanks,
    Daniel

  21. Ken Ng says:

    I assumed that the devices would connect to the dongle instead of the internal connector, but I could be wrong. The internal Bluetooth chip on my MacBook Pro is dead so I can’t see how I can disable it. Let me test it this weekend on my wife’s MacBook Air and I’ll come back with what I’ve found.

  22. Thanks for posting your information about getting the bluetooth dongle working!! I have up and running 3 hackintosh partions, Mountain Lion, Snow Leopard and Lion on wihich i installed the firs USB Dongel, the GMYLE with the bright blue light…heres what i am getting:

    Mountain Lion 10.8.2 : No hack needed, running so far with all apple bluetooth products, mouse, keyboard and trackpad, can wake from sleep

    Lion 10.7.5 : Did the exact mod you offered here, usb dongle ist working with all apple bluetooth products BUT without the “bluetooh device can wake from sleep” option ticked(greyed out)

    Snow Leopard 10.6.8 : Now heres the problem…when installing the the kext with the same method the bluetooth symbol showing up and dongle is running…i can pair the above mentioned devices (mouse and trackpad, NOT keyboard)…but when the devices are showing as connected no pointer is moving…
    I also tried making a second kext with entry bluetooth 2.0, as i guess that the pretty old now snow leo doesn´t support bluetooth 4.0 …but that didn´t work.

    Any tips and guesses?

    Thanks again Ken!!!

  23. Ken Ng says:

    Unfortunately, I do not have a Snow Leopard machine to test. But what I might do is to take the kext that works in Lion and try loading it on SL and see if it does the trick. Of course, backup the SL’s kext first.

  24. Ken Ng says:

    Looks like my wife’s MacBook Air may not be a good candidate to test it since it’s already has the newer Bluetooth 4.0 module. The dongle works but I can’t be sure for certain which bluetooth module the device was connecting too.

    But looking at most of the comments and other articles online on this topic, it seems that the dongle will override the internal Bluetooth module when you use the dongle. So technically, it should already work. Have you tried to pair a Bluetooth 4 device with it?

  25. pacino says:

    I had the same issue – couldn’t get OS X to use an iOGear GBU521 instead of the iMac’s built-in BT chip. Turns out my issue was I’d set the “Switch Behavior” setting to “never” after following Apple’s iOS dev guidelines (I got the GBU521 so I could do some BT Low Energy dev in iOS):

    http://developer.apple.com/library/ios/#technotes/tn2295/_index.html

    Setting the behavior back to “always” now lets OS X use the GBU521 as soon as it’s plugged in:

    sudo nvram bluetoothHostControllerSwitchBehavior=”always”

    Although this now means I can do BLE dev from OS X, I can’t get it to work in the iOS Simulator – seems the iOS Sim needs to have exclusive access to the BT module which is why Apple tell you above to disable OS X’s ability to commandeer the GBU521 when it’s plugged in.

    http://developer.apple.com/library/ios/technotes/tn2295/_index.html#//apple_ref/doc/uid/DTS40012211-CH1-UNDERSTAND_SWITCH__BEHAVIOR

    Pacino.

  26. Ken Ng says:

    Awesome info. Thanks for sharing!

  27. Bilal says:

    Hi Ken,

    Thanks for an in-depth and informative post.

    As mentioned by others above, I followed the steps outlined in the post in order to use an external Bluetooth LE dongle with the iOS Simulator in XCode. I have a 13 inch retina MBP (2013, Mountain Lion 10.8.2) which has an inbuilt BLE adapter.

    After installing the IOBluetoothFamily.kext file, for some reason MBP’s in-built Bluetooth adapter has become unavailable in the top bar. Also I can no longer see the “Bluetooth” icon in the system preferences. Surprisingly though I can still use my wireless keyboard; hence the actual Bluetooth adapter seems to be functional.

    I removed the IOBluetoothFamily.kext file, but that didn’t help. I tried clearing the NVRAM etc but still the notebook’s inbuilt bluetooth adapter appears as unavailable.

    I was wondering if you knew how I could restore/reset MBP’s driver settings for the in-built bluetooth adapter, because at this stage my wireless keyboard seems to be working but I cant change/see any settings or preferences for the in-built BLE adapter.

    Bluetooth USB Host controller is listed under “USB” in the system profiller, but the actual “Bluetooth” tab/menu item shows – No information found.

    Thanks once again.

  28. Ken Ng says:

    You’ll probably need to restore the original kext file to get it as per normal again. Did you backup the original kext? If you do, just repeat the steps to ‘install’ the kext and rebooting should load the original kext again.

    But I’m wondering why you needed a BLE adapter when the new Retina MBPs built-in BT module supports BLE?

  29. David says:

    Thanks for the great post Ken. Really useful.

    Did the earlier poster ever resolve the issue of getting the adapter running under Mountain Lion?

    I’m running ML on a 2007 MacBook Pro, and although my IOGEAR GBU521 appears under the device tree (so is at least being detected), I’m not getting any LTE and the Bluetooth LMP and firmware versions are not showing as updated under System Preferences.

    I’d appreciate anyone’s thoughts or suggestions

  30. Ken Ng says:

    Looks like there’s a way to manually select the active bluetooth device using the Bluetooth Explorer utility. I’ve updated the article to include those steps. Do check it out and let me know if it works.

  31. Nathan White says:

    I have a MacBook running 10.6.8. I inserted the text from your article that was in red, used the Kext Utility you recommended and rebooted. still not seeing the 4.0 Bluetooth. The dongle does appear in the USB section of the sSystem info.

  32. Ken Ng says:

    Hi Nathan,

    It seems that there are a minority set of users who are facing the same issues as you did. I’ve recently updated my article to point out that you may need to manually activate the USB dongle instead of the built in Bluetooth chip using the Bluetooth Explorer utility. Did that work?

  33. Nathan White says:

    Ken, my computer doesn’t have Bluetooth Explorer. I tried to download it from the Mac App Store and it said that I need 10.7 or higher version of OS X.

  34. Ken Ng says:

    I wasn’t aware that. My apologies. Looks like I’ll need to do more research on this. Let me see what i can find out and i will update the article as soon as I do.

    Sorry that I’m not much of a help at this point in time.

  35. Does bluetooth AUDIO work with this? On 10.8.2?

    Thanks !

  36. Ken Ng says:

    Yes it does! When I first wrote this guide, it was on 10.8.2 and I paired it successfully with my Jabra Halo BT headset. No problem at all. Just no AptX support of course since the external dongle doesn’t have AptX codec supported.

  37. andrew says:

    Hi – just a quick note to thank you very much for this guide, it has worked a treat on my 2007 Mac Pro. Brilliant!
    Andrew

  38. Ken Ng says:

    Glad you find it useful. 🙂

  39. GNT says:

    If anyone can offer help in setting this up it would be greatly appreciated.
    Here is a little video of my system info: http://youtu.be/v8fkKmOW3gM

    I tried to change use UCI Controller Selector and also the info from #25 above, Pacino.
    Any advice appreciated.
    Thank you

  40. Chris Dunn says:

    I followed the steps exactly, but do not see the controller in the Host Controller Selector 🙁 not sure what else to do.

    Nathan White, do you have developer tools installed, perhaps the bluetooth utility is a part of that…

  41. Ken Ng says:

    Could you try if this would work. Before plugging in the bluetooth dongle, disable the built in one your MacBook, then plug in the dongle, it probably would activate the bluetooth using the dongle now. Let me know if this works.

  42. Does anyone succed in getting this to work on a 10.7.5 mid 2007 mac mini? I tried all the steps above but got stuck in selecting the HCI. It just not appear on the list!

  43. JD123 says:

    Would this work with the new “Knock” app?

  44. Ken Ng says:

    It works. I just tried it myself. It’s awesome!

  45. JD123 says:

    Ken Ng, Can you give me some specs of your hardware (ie (i)mac(book) vs BT-adapter).
    Thanks 🙂

  46. you rock, mate.
    gratzie.

  47. ps: i kinda like the little blue light. 😀

  48. Ben says:

    Hi Ken (and all), I was hoping to confirm whether or not the GBU521 works with Mac OS X 10.6.8 (after doing the kext edit)–can you (or anyone else) confirm? I’ve seen people saying both that the GBU521 does and does not work with 10.6.8, which is confusing (I’m hoping to use the GBU521 with a 2006 MacBook 1,1, which does come installed with Bluetooth, running Mac OS X 10.6.8).

  49. Ben says:

    *whoops, which does NOT come installed with Bluetooth, is what I meant to write.

  50. Ben says:

    Hi Ken (and all), I was hoping to confirm whether or not the GBU521 works with Mac OS X 10.6.8 (after doing the kext edit)–can you (or anyone else) confirm? I’ve seen people saying both that the GBU521 does and does not work with 10.6.8, which is confusing (I’m hoping to use the GBU521 with a 2006 MacBook 1,1, which does not come installed with Bluetooth, running Mac OS X 10.6.8).

  51. Ken Ng says:

    Hi Ben, I don’t personally have the GBU521, but it should work in Mac OS X 10.6.8 with the kext-edit. By default, Mac OS X 10.6.8 does not recognise the bluetooth device. The GBU521 uses the same Broadcom BCM20702A0 chip as the Bluetooth module that I bought off eBay.

  52. Ben says:

    Hi Ken–thanks so much for the speedy response! I just ordered the GBU521 (and I’ve already followed your instructions to edit the kext, so my MacBook is hopefully all ready to go). Once the adapter arrives (in a few days), I’ll post back with an update on whether it worked on my 2006 MacBook 1,1 running Mac OS X 10.6.8.

  53. Ben says:

    Oh, also, when I was editing the kext, I noticed that all the other device entries in the “Info.plist” of the “BroadcomUSBBluetoothHCIController.kext,” include this text (which was not in your kext) after “IOUSBDevice”: “IOProviderMergeProperties ClassicMustNotSeize idProduct…[etc.].” I couldn’t find any relevant hits in Google about this–do you think I should add this text to the entry for the Bluetooth 4.0 USB Dongle that I edited into the kext?

  54. Ben says:

    Oh–the text didn’t post correctly for some reason, so I’m trying again (this time, replace the square brackets with angled brackets and the forward slashes with back slashes here): “[key]IOProviderMergeProperties[\key] [dict] [key]ClassicMustNotSeize[\key] [true\] [\dict] [key]idProduct[\key]”

  55. Ken Ng says:

    No you do not need those. Let me post you what it is on my OS X 10.9.1 (Mavericks) for the GBU521 driver. (replacing the <> with [])

    [key]BroadcomUSBBluetoothHCIController – IOGear – GBU521[/key]
    [dict]
    [key]CFBundleIdentifier[/key]
    [string]com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport[/string]
    [key]IOClass[/key]
    [string]BroadcomBluetoothHostControllerUSBTransport[/string]
    [key]IOProviderClass[/key]
    [string]IOUSBDevice[/string]
    [key]idProduct[/key]
    [integer]8449[/integer]
    [key]idVendor[/key]
    [integer]2652[/integer]
    [/dict]

  56. Ben says:

    Update–so, I can’t seem to get the GBU521 adapter to fully operate. It shows up in System Profiler, just like yours does, Chris, but in the Bluetooth pane in System Preferences it says that “Bluetooth power is off. To use Bluetooth, first you must turn it on.” The Bluetooth status in the menu bar says it’s on, though, and you can still click “Set Up New Device…” in the Bluetooth pane in System Preferences, but it doesn’t find anything. I did get it to connect to my phone, and was able to transfer a photo back and forth, but I can’t seem to get it to work again. Any suggestions? I’m new to using Bluetooth–maybe I’m just not doing something simple?

  57. Ben says:

    The poster Andre, here, describes exactly what my situation is: https://discussions.apple.com/message/17681490#17681490 (except, that I can’t use Bluetooth Explorer, because it requires Mac OS X 10.7).

  58. Ben says:

    MORE UPDATE: the poster Andre, here (https://discussions.apple.com/message/17681490#17681490) described exactly what my situation was AND the solution worked!!!

  59. Salvatore says:

    I am running 10.6.8, and seem unable to use xCode because of the older software. Is there another way to “reset” the bluetooth or to select which device to use? Thanks!

  60. Ben says:

    So, the only issue I appear to be having now is that the GBU521 isn’t showing up after I shutdown the MacBook and start it back up, until I unplug it and plug it back in–anyone know anything I could try to eliminate this issue?

  61. Ken Ng says:

    Sounds like OS X is simply going back and recognising the on-board bluetooth device, and then ignoring the external USB one. I’ve yet to find a way to disable the internal bluetooth device thus far. If i do, I’ll update the post.

  62. Ben says:

    @Salvatore–did you try installing XCode from the Developer Tools on your Mac OS X 10.6 install disk? Try that–I did that and was able to run Bluetooth Explorer in the version it installed from the disk.

  63. Salvatore says:

    @Ben, Sorry for not following up. I was able to download xCode and run Bluetooth Explorer, however I can’t seem to get my Mac to select the dongle over the built-in bt. It doesn’t come up in the list under “HCI controller selector.” I’ll have to play around with it some more… Thanks!!

  64. Salvatore says:

    I think the problem could be when I look in the /system/library/extensions folder, I have two files: the “IOBluetoothFamily.kext” file but also a “IOBluetoothFamily.kext.bak” folder. I’m not sure why they are both there. Should I delete one of them?? When I open either one, I can pull up the broadcom information and see Bluetooth 4.0 listed, but they are slightly different. I’m very confused…

  65. AJ (@AJACs3) says:

    THANK YOU!!!

    I am on Mavericks on my slightly older iMac. I am using the same dongle you are. I found that:

    1. I needed to download the Bluetooth Explorer from developer.apple.com. (It is in the download called “Hardware IO Tools for Xcode.)

    2. It seems to stick across reboots!!! Alleluia!!! This makes “knocktounlock.com” work on my older iMac which is why I was going through this in the first place.

    CAUTION:
    Have a wired keyboard and mouse on hand. Switching BT adapters unpairs your BT devices from your mac, and if you only have a BT Keyboard and BT Mouse/Trackpad, you’ll be hosed. 😛

  66. AJ (@AJACs3) says:

    (oops, forgot to confirm, not need to modify any config files)

  67. Ken Ng says:

    Glad you got it working!

  68. Rich says:

    I have a MacPro1,1, OS X 10.6.8 and your kext trick worked and got my IOGear GBU521 working. It recognizes my Magic Mouse but I get the notice that “the pairing was unsuccessful. This confiuration of Mac OS X could be invalid or unsupported.” What is going on and is there something I can do to get the Magic Mouse working?

    Rich

  69. Bill says:

    First off, great post. I followed all the directions and the dongle (IOGear one) is recognized and is working (paired with a Magic Mouse no problem and the Broadcom shows up in the Bluetooth hardware section on the system). The only hitch is that when I option-click on the Bluetooth icon, it still says version 2.4 (as its does in the system profiler), not version 4.0. I don’t have any 4.0 devices handy to check, since I want to make sure this fix works before I drop the money on the fitness sensors that I’m going to be using. Anyone have any thoughts about this discrepancy?

  70. Bill says:

    And for reference purposes, I am running Snow Leopard 10.6.8 on a Core Duo MacBook.

  71. Ken Ng says:

    That’s weird. I distinctively remember that OS X reports it as version 4.0 even when not connected to any Bluetooth 4.0 devices. Also, you’re not the first who’s reported this discrepancy, also with the IOGear dongle.

  72. Thank you for this information and especially for the updates. It took me more time to drive to MicroCenter than it did to get this up and running on my 2009 13″ MBP. I now have real stereo streaming to my bluetooth headphones and can use the Authy bluetooth feature for 2-factor authentication tokens.

  73. bazpaul says:

    Hi Ken – awesome post and your are so kind to help everyone.

    I have the same adaptor iogear 521 but have a really weird issue. In HCI selector when I select the Broadcom controller osx prompts for a password, then after password it just defaults back to the apple one.

    I cant select the broadcom – I have done everything else to the letter… 🙁

  74. Nacho says:

    Hi Ken! Many thanks for this post… But i’m still in trouble… After modifying the “info.plist” file, when i drag “IOBluetoothFamily.kext” to the kext uitlity application, it shows: “Install: “IOBluetoothFamily.kext” … Can’t copy source file.
    AppleKextExcludeList.kext not found”
    Any ideas?

  75. Tom says:

    Hi Ken,

    Any ideas why the GBU521 has a product code of 8449 in the mavericks driver? I have a GBU521 and under system profiler it still shows as 21e8 (8680 integer) and as such isn’t seen as “IOGear – GBU521”

  76. Peter says:

    great post, thanx!

  77. Tom, don’t worry about it if it’s working 😀

    Oh, and if anyone is getting floods of kIOUSBHighSpeedSplitError messages in Console, take the dongle out of your USB hub and plug it directly into the machine. Fixed everything for me.

  78. bullgod says:

    This worked great on my Mid 2011 iMac running Lion. Now I’m finally able to pair with my home theater. The only problem is that swipes are no longer recognized by my Magic Mouse. When I look at the list of bluetooth devices, my mouse and keyboard appear to not be connected (even though I am able to use them).

    Using BT Explorer, I was able to activate the built-in radio and restored full function to my mouse. They also now showed up as connected.

    Is it possible to have both radios active and associate the built-in with my keyboard/mouse and the dongle with my home theater?

  79. bullgod says:

    Follow-up to my post the other day. I tried using one of the 3 “reset” buttons in Bluetooth Explorer and now I’m stuck in a mode where I’m going through prompts selecting a language, keyboard, network connection, etc. I don’t mind this so much except when it comes to the part about user info. I’m afraid I don’t know/recall how this was done the first time around and I’m concerned if I do it wrong, I won’t be able to get back to the default desktop the way it was. I already had a bootcamp partition set up and I can see that my data is still there.

    I just want to abort this “reset” process so that I can try another route. Maybe like what is described here:

    https://discussions.apple.com/message/13263724

  80. David says:

    I followed AJACs3 advice on the Xcode download for my new Mavericks Hackintosh….works like a charm, many thanks to all.

  81. Baconbitz says:

    bzapaul, I came here because of this issue. I don’t know what to do. It doesn’t work. I checked and it says 4.2, which is weird since it’s still on the built Bluetooth adapter.

  82. rabahiff says:

    I may be totally alone here, but…I can’t get this to work on my Mac Pro 2,1 with 10.7.5. I have put hours into following the steps really to the letter, editing the plist.info in IOBluetoothFamily.kext, calculating the hex conversion, using Kext Utility, Kext Helper (could’t find where KextBeast was installed) but my Belkin 4.0 BT adapter is not recognized as a BT device, but visible in the USB tree in system preferences (and in USB Prober). Even Bluetooth Explorer can’t recognize it as a BT device and thus it cannot reset it either. Please, if anyone has a tip I would be grateful.

  83. rabahiff says:

    I followed the instructions to the letter and tried doing it with all of the three kext installers, but my Mac Pro 2,1 8-core w 10.7.5 cannot see that the connected device is a BT dongle, only that it is connected via USB (in USB Probe and System info). No luck with BT Explorer either – it just can’t be seen as a BT device.

    I would be extremely grateful for any tips that anyone may provide.

  84. Sascha Reichert says:

    Will this work on a G5 (Late 2005) too?

  85. Ken Ng says:

    It should. I don’t see why not. Which version of OS X are you using now?

  86. Michael Horton says:

    Thank you for a great post – I have a 2011 27″ iMac, have put am iogear 521 on it.
    Used BT Explorer to use the Broadcom BT. All OK
    iMac will pair with Bose BT Speaker now trouble.
    Not with Apple BT Keyboard or Apple BT Trackpad
    The BT Explorer Event Log vomits all sorts of errors, but here are the first few lines:

    Jun 24 23:51:52 Michaels-iMac.local System Preferences[444]: [BluetoothHIDDevice][initWithHIDDevice] Unable to get Object ID from IORegistry
    Jun 24 23:51:52 Michaels-iMac kernel[0]: [AppleMultitouchDevice::willTerminate] entered
    Jun 24 23:51:52 Michaels-iMac kernel[0]: [AppleMultitouchDevice::stop] entered
    Jun 24 23:51:52 Michaels-iMac kernel[0]: [0xffffff8074342a00][free]()
    Jun 24 23:51:52 Michaels-iMac kernel[0]: [0xffffff8074314300][free]()
    Jun 24 23:51:52 Michaels-iMac kernel[0]: [0xffffff8074248800][free]()
    Jun 24 23:51:52 Michaels-iMac.local loginwindow[40]: Preferred Localizations total: 1 contents (
    English
    )
    Jun 24 23:51:52 Michaels-iMac.local System Preferences[444]: An instance 0x6000000139b0 of class AVPlayer was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object. Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger. Here’s the current observation info:
    (
    <NSKeyValueObservance 0x6180000da400: Observer: 0x6000000f3700, Key path: status, Options: Context: 0x108adf0e8, Property: 0x61000005af40>
    I am running the latest version of Mavericks with all updates completed
    Any ideas?
    Thanks

  87. Bo De says:

    According Sascha Reichert question:
    The latest system that can run on an PowerMac G5 is Leopard. Is it really possible that it can use Bluetooth 4.0 ?

    I am on Lion, I used your instructions and installed Belkin Mini Bluetooth v4.0 Adapter, it works great. And it disables the internal adapter when in use.
    But Bluetooth Explorer (version 2.0) crashes when I run it. (It works when i remove the adapter and use the internal one).

  88. Ken Ng says:

    Yes. It seems that the Apple devices are reluctant to connect to non-Apple bluetooth chips. Not sure why.

  89. David says:

    running 10.6.8 all looked good until the re boot. i don’t seem to be able to get the Bluetooth explorer to be located. how else can i find it please. show 2.4.5f3 (v14 c4096)

  90. Bo De says:

    Now I have installed my Bluetooth 4.0 in Snow Leopard too, works great… so far.
    But, just as with Lion, Bluetooth Explorer crashes 🙁

    Here is part of error- message i get:

    Process: Bluetooth Explorer [257]
    Path: /Developer/Applications/Utilities/Bluetooth/Bluetooth Explorer.app/Contents/MacOS/Bluetooth Explorer
    Identifier: com.apple.BluetoothExplorer
    Version: 2.0 (2.0f20)
    Build Info: IOBluetoothFamily-20000320~11
    Code Type: X86 (Native)
    Parent Process: launchd [199]
    …….
    Exception Type: EXC_BREAKPOINT (SIGTRAP)
    Exception Codes: 0x0000000000000002, 0x0000000000000000
    Crashed Thread: 0 Dispatch queue: com.apple.main-thread

    Dyld Error Message:
    Symbol not found: _IOBluetoothLocalDeviceReadExtendedInquiryResponse
    Referenced from: /Developer/Applications/Utilities/Bluetooth/Bluetooth Explorer.app/Contents/MacOS/Bluetooth Explorer
    Expected in: /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth

    Everything else works… but is it safe to continue using the Dongle?
    Strange no one else seems to get this problem

  91. Michael Horton says:

    You have the same BT USB device – can you get Apple KB and trackpad to work with it?

  92. Ryan says:

    the real question is, will this enable continuity in Yosemite? There are mixed reports but it looks like the OS has to identify it as genuine apple hardware.

  93. Duane Fields says:

    I have the IOGear adapter, and it was working fine in Yosemite DP4 but it stopped working in DP5

  94. Ryan says:

    Duane, since they just released DP6 would you mind seeing if it works now?

  95. Duane Fields says:

    It does not appear to work in DP6 either.

  96. Andy says:

    I recently bought the Belkin Bluetooth 4.0 dongle F8T065bf. I inserted it in my iMac and it didn’t recognise it as Bluetooth although it did acknowledge that a USB device was connected. I tried following the instructions in this post but the drivers for this device appear to be in OSX Mavericks already. Has anyone got this device working with Mavericks and if so, how? I’d appreciate the help.

  97. QueMellow says:

    Thank you for this! Your instructions were clear and very easy to follow! Worked for my 2008 (!) MacBook Pro! My Bluetooth card died and I bought an Insignia Bluetooth Adaptor that was not Mac compatible …your step-by-step guide was spot-on and I got it to work!!!!

  98. Steve says:

    So is there a way to get this working with a mac trackpad and keyboard? I have a mp1.1 running 10.7.5. Can see the devces but cannot seem to pair

  99. Hi, I have the same issue than Nacho, when I use Kext Utility, I end up with a “AppleKextExcludeList.kext not found”… and my mac doesn’t recognize the BT dongle…
    FYI, I am on an “old” mac pro from 2006 stuck at the 10.7.5.
    Any ideas?

  100. Eric says:

    I cannot find TN2295. Do I need an apple developer’s account or is it just gone? Does anyone happen to have a copy or can someone describe the steps? Thanks!!

  101. To keep records, I found a “AppleKextExcludeList.kext” on my MBA (10.9) and try to trick KU… and then deleted it. But it didn’t worked, actually my mac is no longer able to detect some cheap / crappy BT dongle have but can’t use… so. Maybe don’t try that?!

  102. Eusebio says:

    Bonjour, explication claire mon dongle fonctionne tres bien, merci

  103. Okay, forgive the post hijack, but how about putting a Bluetooth 4 LE adaptor on an iPad 2? They are making some small enough and with the old ipod pin adaptor. It would be cool to have this be a work around for the LE cut-off by Apple.

  104. ahmethan says:

    Hi. A bought Trust 18187 4.0 bluetooth dongle. I have a 2011 mid iMac computers. You want to use handoff feature yosemite. With this device it is possible?

    BCM20702A0:

      Product ID: 0x21e8
       Seller ID: 0x0a5c (Broadcom Corp.)
       Version: 1.12
       Serial Number: 5CF370619FC1
       Speed​​: up to 12 Mb / sec
       Manufacturer: Broadcom Corp.
       Location ID: 0xfd130000 / 5
       Current Current (mA): 500
       Current Required (mA): 0

  105. Aaron Carey says:

    Has anyone had any success in using this method to get continuity working in Yosemite?

  106. Ken Ng says:

    Hi all. It’s been a while since I last checked and updated my site so my apologies is this comment area was somewhat ‘abandoned’ by yours truly for a while now. Perhaps I should revisit this again. Unfortunately, I do not have a pre-bluetooth 4.0 Mac with me anymore since upgrading to a 15″ rMBP. Anyways. Let me see how if it’s anyway possible for me to try to further help out here.

  107. Sachin says:

    Hi,

    BT400 was working for me on yosemite till I did rebuild cache. Now not working despite of repeated installation of the kext.
    Please advise if someone found a way

  108. Sachin says:

    Mine BT 400 was working in yosemite for 3-4 days and then I did a kernel cache rebuild. BT400 stopped working.
    Please advise how I can enable BT400 for yosemite

  109. pierre78 says:

    Hi Ken,

    Thank you very much for your detailed post !

    I am on a 2011 Imac with the last OS yosemite version. I noticed in the kext file that the Belkin F8T065BF is referenced with correct product ID and Vendor ID. When I go to system information, I get :

    BCM20702A0 :

    Identifiant du produit : 0x065a
    Identifiant du fournisseur : 0x050d (Belkin Corporation)
    Version : 1.12
    Numéro de série : 5CF370615309
    Vitesse : Jusqu’à 12 Mb/s
    Fabricant : Broadcom Corp
    Identifiant de l’emplacement : 0xfa130000 / 5
    Courant disponible (mA) : 500
    Courant requis (mA) : 100

    You see that the last line does not say (non configured peripheral) anymore which seems to say the my dongle is properly installed and configured … However, I cannot see it as the bluetooth used in Sysinfo/Bluetooth … It still says version LMP = 0X4. I tried sudo nvram bluetoothHostControllerSwitchBehavior=« always » in a terminal window but it does not help …

    Thanks for any help you can provide !

    Pierre

  110. Sachin says:

    Hi , Yosemite is not supporting third party drivers who are not signed. Broadcom driver was not loaded in my case.

  111. pierre78 says:

    ok thanks. I have some news, let me explain : I finally manager to install the dongle. I’ve simply unplugged it, replugged, and launched a reboot, and then it worked ! It said version_LMP=0x6, and I recognized the belkin informations in the sys info. It WAS working because my mouse did reconnect and finally recognized the new dongle.
    HOWEVER ! handsoff still does not work ! In system informations, near to “Handoff pris en charge” (means handoff taken into account in english) it says NO … And I do not have any toggle in System preferences/General ….

    Is it that my Mac does not want this particular dongle for handoff ?

  112. Ken Ng says:

    I’ve been looking at the Yosemite’s kext file and it seems that it’s even more comprehensive compared to the one in Mavericks. It the IOGear GBU-521 (and even the GMYLE one) officially listed! So there is no reason it should not just work on Yosemite.

    PID 8680 0x21E8 VID 2652 0xA5C

    CFBundleIdentifier
    com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
    Dongles

    GMYLE
    Micro Nano
    IOGear
    GBU-521
    Kinivo
    BTD-400
    MediaLink
    PANBT400 (4.0)
    MediaLink 2
    MUA-BA3
    Plugable
    4.0 LE
    Targus
    ACB10US 4.0
    UtechSmart
    4.0 (BCM20702)

    IOClass
    BroadcomBluetoothHostControllerUSBTransport
    IOProviderClass
    IOUSBDevice
    idProduct
    8680
    idVendor
    2652

  113. pierre78 says:

    Hi Ken,

    yes you’re right, I’ve just checked too … So di you try you’re IOGear GBU-521 on Yosemite ? If yes, could you confirm that you actually have access to handoff ?

    Because in my case, though having successfully installed the Belkin F8T065BF (works for the mouse, etc – thanks to your post !), I still does not have the handoff button in System preferences.

    Thanks.

    Pierre

  114. Luis says:

    Hi Ken, thanks for this post. I’m a bit frustrated though that I can’t seem to make it work for me on my desktop 6-core intel running mountain lion 10.8.5.I first tried using the iogear BLE adaptor on my desktop along with your kext hack as well with bluetooth explorer to try to activate it but no luck. I reinstalled the original kext file to get things back to normal, all good. I tried same BLE adaptor on my macbook pro 201ll laptop running same mountain lion 10.8.5 and it works without any kext hack. Frustrated, I tried again on my desktop without hack, no luck, with hack again, same result as first time, and read through the comments here and tried turning off bluetooth then inserting dongle to see, still no luck. Any ideas on what else I might try? What is the difference between my laptop working and my desktop not? I can’t move up to mavericks or yosemite because of audio DAW’s I use and plugin’s that won’t survive the transition. Any help appreciated, thanks. Luis

  115. Spencer says:

    I just did this last night and it worked! I needed to disconnect the Mac Pro’s Bluetooth card first and only then could I see the new Bluetooth adapter in the USB device tree. After that I just followed your instructions and it works perfectly. I have it plugged into the back of my monitor, I’ve found that distance to be ideal. Thanks!

  116. I just used this on my 2009 iMac to enable a $3 dongle from Alibaba. (Luckily it had the right chipset!) Worked beautifully with zero deviation from the instructions. Much obliged!

  117. David Bennett says:

    Hi – thanks very much for the excellent post … just managed to get an ASUS USB-BT400 working on a mid-2007 iMac and OS X Mavericks. I had a couple of false starts but that was just because I didn’t read your instructions properly. I was editing the Info.plist in /System/Library/Extensions/IOBluetoothFamily.kext by mistake instead of the one in BroadcomUSBBluetoothHCIController.kext. So make sure you navigate through to the Plugins folder to find the correct Info.plist

    Also, my Broadcom kext had a slightly different name, but it was pretty obvious

    Integers for the ASUS USB-BT400 are 6091 and 2821, so the code to insert is:

    Bluetooth 4.0 USB Dongle

    CFBundleIdentifier
    com.apple.driver.BroadcomUSBBluetoothHCIController
    IOClass
    BroadcomUSBBluetoothHCIController
    IOProviderClass
    IOUSBDevice
    idProduct
    6091
    idVendor
    2821

  118. Sachin says:

    Hi David
    Please provide the kext

    Thanks
    Sachin

  119. Lu Pu says:

    @David Bennett,

    Do the Handsoff and Airdrop working now on your iMac 2007 without further modification of the hardware???

  120. Awesome thanks man! I searched google by device ID happened to have exactly what you did I guess. You got my magic mouse to work on a Mac Pro 2008 🙂

  121. Frank says:

    Awesome post, very clear step by step walk trough. With this post i got a Belkin Bluetooth dongle to work on my mac Pro 1.1. Now i can use my track pad and keyboard. Someone should give you a medal.

    Bye and thanks again!!!

  122. Ken Ng says:

    I’m just glad it worked for you 🙂

  123. Rodolfo Cruz says:

    This Post is excellent thanks Ken, I’ve been looking for this info.

    I wanted to ask anyone here. I can’t find the IOBluetoothFamily.kext in My Macbook I have OS X 10.7.5 Is there anything I must download?
    Thanks for the help!

  124. Alejandro Pérez says:

    Hi,

    I’m using the very same device that is shown here (IOGEAR GBU521). After having some trouble, I had to delete the /Library/Preferences/com.apple.Bluetooth.plist file for Bluetooth Explorer to be able to activate it. Now, the problem I have is that I need to open the BE and select it as active device every time I reboot. It won’t set it the default device. Ever. Any advice? Thank you.

  125. Theboardrider says:

    Hi Ken,

    So, I just ordered and received my IOGear GBU521. I’m trying to allow Bluetooth 4.0 with my 5,1 Macbook late 2008 Unibody, running Yosemite.

    Last night I plugged it in, and within a few minutes suddenly I couldn’t access the internet. I tried all the normal resets and whatnot to get the wifi to connect with no luck. It only went downhill from there. I kept trying to connect and no computer in my entire house would connect to the wifi. There’s of course a chance that my ISP had issues, but if so, it’s a huge coincidence of timing.

    Finally, I reset the Mac, for about the 3rd time, after resetting my routers, etc. This time, the Mac wouldn’t turn on… So I reset and opened Safe Mode. No problem there, but still not connecting. So I restarted again, and this time… got the grey screen of death and the 0/ symbal (put the line over the circle like Ghostbusters) and couldn’t get anything to work. I fixed permissions, I tried safe mode again (wouldn’t work). I went to sleep, woke up and tried again. The wifi was working again, so I then ran the utility and reloaded Yosemite. After a few hours, I was in business with my restored hard drive and no loss of info!

    So now, I’m wondering if the dongle caused all of this? I haven’t tried it again and wanted an opinion before doing so. Any ideas?

  126. mazzingaz says:

    Hi everybody. First of all great post.
    I bought a Asus USB-BT400 LE (with Broadcom BCM20702A0 chip) trying to make it work with imac mid 2011 and Lion 10.7.5

    I edit kext file then I tried selection with bluetooth explorer, but nothing works!!!!!!!!!! 🙁

    I wonder if with OSX Mountain Lion, or Mavericks or Yosemite this usb dongle will be recognized and will I be able to use it?
    PS: I don’t need it to use for Continuity, I only need bluetooth 4.0 LE to work

  127. Ken Ng says:

    Wow. I would suggest you to try using that dongle with another machine if you have one in hand. But I’ve not heard of a Bluetooth dongle messing with the OS that badly before though. Still better be safe and try t again with another notebook or desktop.

  128. everything works upgradeding to Yosemite 10.10.3
    Asus usb dongle works as LE after selecting it with bluetooth explorer

  129. Ray says:

    Hi Ken,
    Thank you for this. I purchased the iogear 4.0 dongle and tried it last night on my Mac pro 1,1 running Lion 10.7. Unfortunately I was unable to get it to work and the last line in system preferences for ‘current required’ shows unavailable and that it is not installed properly. Can you please confirm these steps are correct? I copied the entire folder of IOBluetoothFamily.kext to my desktop and opened the plist file in BroadcomUSBBluetoothHCIController.kext. I added the lines of text and saved and then ran the kext utility with that file. I noticed that the plist was not installed into the Contents subfolder, but directly in the BroadcomUSBBluetoothHCIController.kext folder. Do you know why that would happen? I copy and pasted it into the Contents folder and restart, however still not recognized under system information USB tree. Thanks for your help.

  130. Ray says:

    Ken, I got it to work by simply using Kext Utility to install the kext file that you provided. I just dragged your file from my downloads folder and it worked. Thank you very much.

  131. Navin says:

    Would this make Airdrop work in 2011 iMacs, Airdrop shows in Finder after install as before but nothing to click. I have not rebooted yet.

    I installed the IOGEAR GBU521W6 dongle and got the system to recognize it. The question is will it make Airdrop work and will the dongle become the default bluetooth hardware. Afraid to reboot but I am going to try it. LOL

  132. Ken Ng says:

    Some has said it may work. I’ve not tried it personally. As for making it the default, I don’t think that would be so if your onboard one is still working.

  133. Navin says:

    I was able to make IOGEAR Dongle the default upon reboot. My track pad is connected using the Dongle. I used the Hardwaretools for Xcode 6.1 Bluetooth explorer and selected the Bluetooth Dongle (Broadcom) and it was a success. You can see it in the System Information>Hardware overview>Bluetooth.

    But no success with the Airdrop on 2011 iMac. There must be a compelling reason why Apple is going out of their way to prevent this mechanism to work. Apple suggests replacing the airport card – which is a pain.

  134. Ken Ng says:

    Interesting. That’s good to know. Have you tried those continuity activation tools to enable handover or airdrop?

  135. Dan Ionescu says:

    To use the Bluetooth Explorer on El Capitan you have to download an addon package for xcode called “IO Hardware Tools For Xcode 7” from the https://developer.apple.com/downloads/ site. For this you need a developer account which, to my best knowledge is still free to aquire. Perhaps the author of this fine how-to will be so kind to update it with this information and maybe even upload the Bluetooth Explorer app right here, for the convenience of the future readers. Without BE one cannot select the controller, rendering the dongle unusable.
    Thanks!

  136. Ken Ng says:

    Thanks for the update!

  137. David Bennett says:

    Hi – I used the kext edit advice to get an ASUS USB-BT400 to work on a mid-2007 iMac – thanks for that!

    I now have a different problem – having upgraded to El Capitan it stopped working. Initially I thought that I would need to edit the kext again. However, I realised that the good news is that the info.list file now contains the relevant vendor and product IDs for the ASUS dongle.

    Unfortunately, although I can see the dongle in Bluetooth Explorer, when I try to activate it it just turns off Bluetooth.

    I’m trying to check if the dongle might coincidentally have gone faulty but seems unlikely

    Any suggestions?

    Thanks

  138. CONTROSOL says:

    Hello

    I have a old Macmini 2007 with a core duo 2.0 mhz and OS X 10.6 (the beaty)
    I buy a Belkin Mini Bluetooth V4.0 USB Adapter, model F8T065

    I can see the belkin in usb System list in about this……..

    Have You news it can work in my Macmini ?

    Thanks for You help

  139. controsol says:

    Hi again

    in a mac mini core solo 1.5 update to 2.0 core 2 duo and mac os x 10.6.8 and 2 gygas of run

    insert the BELKIN v4.0 adapter in the usb rapid port

    Set the instruction and download use the sample edited kext file in this page and finally drag to kext utility, working on this, repaire permissions, close the app and restard.

    results.

    – in preference system the icon bluetooth away
    – in finder menus bluetooth is not working
    – in about of this mac bluetooth info can,t find info

    curiosly apple bluetooth keyboard work perfectly

    thanks in advance

  140. CONTROSOL says:

    Ok, reinstall and change valúes for belkin, info.plist Is ok, but i can’t search the broadcom in the bluetooth explorer selector

    ?

  141. Ken Ng says:

    What version of OS X are you using? If you can’t find it, it’s likely that OS X is not loading the edited plist correctly.

  142. LeMac says:

    I cannot search the dongle with the bluetooth explorer selector. Actually, the selector doesn´t even find the internal bluetooth.

    How can I make to load the edited plist correctly?

  143. CONTROSOL says:

    Oouuchh!!!

    I can’t find the creative BT-W2 in Bluetooth explorer mac utility 4.4.0 OS X sierra and Mac Pro tube

    Blue ligth is on, i can connect the QC 35 Bosé but no have control sound in BT explorer mac

    Is posible edit the plist?

    Anyone can Help ?

    Thanks

  144. Ken Ng says:

    Hmm. I’ll need to get another Bluetooth dongle and test it on my current MacBook.

  145. jp says:

    Hi,
    Thanks a lot for this very useful and instructive post.
    I have a Magic Mouse 1 and a Mac Pro 3.1 under El capitan 11.6, and a Belkin F8T065 dongle plugged in the cable keyboard.
    The mouse worked really fine with your script until Capitan 11.4 or 5.
    Then I updated to 11.6, and did the kext modification with Kext Utility again, but it’s not working anymore.
    Most of all, when I try to select the Broadcom chip in BLE (Apple chip selected by default), it asks for my admin password,
    then return to the Apple chip by default, and desactivate BT.
    So the mouse has a very erratic behavior, disconnecting and reconnecting from time to time.
    SMC, nvram restarts with startup button or terminal are useful.
    I’m pretty lost, and wonder if it comes from the mouse or if it is a hardware / El Capitan problem.
    Any suggestions or ideas ?

    PS : reinstalled OS 11.6, nothing changes….
    And the Broadcom chip is well recognized in System informations.

  146. jp says:

    Update :
    Tried again to install the kext from my desktop. Kext Utility says that “the system extension has not been installed properly and cannot be used”
    Clicked ok, though Kext Utility continues his tasks : installing, repairing, updating, syncing…
    ?????

  147. jp says:

    Update 2 : Start up after trying to installe kext file : no more BT in the menu bar and in the system preferences.
    Got back to the old kext file, and don’t use my M. Mouse anymore, until another solution :-((

  148. jp says:

    Last for today : the Belkin BT dongle appears in the .plist file of the Broadcom kext, but as following :
    PID 1626 0x65A VID 1293 0x50D

    CFBundleIdentifier
    com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport
    Dongles

    Belkin
    F8T065bf Netzwerkadapter

    IOClass
    BroadcomBluetoothHostControllerUSBTransport
    IOProviderClass
    IOUSBHostDevice
    idProduct
    1626
    idVendor
    1293

    and not in the BroadcomUSBBluetoothHCIController family (all lines above line # 650).
    Means that it should be recognized ??

  149. rich says:

    thanks, very well explained guide!

    On SnowLeopard MacPro 4.1 the IOGEAR with your hack would get recognized, but of no use for my desired task (Bluetooth PAN) – it would only add Bluetooth DUN.
    On Mavericks MacPro 4.1IOGEAR would get recognized withouth hack and add also a Bluetooth PAN capabilieties – but Internet Sharing would not work – eg. not Internet data would be transfered from my MacPro 4.1 to a Macbook Pro 1.1

  150. rich1 says:

    i am sorry but have to correct my previous post – on snow leopard with macpro 4.1 it this post in conjunction with the gbu521 from iogear would enable me to share internet via bluetooth!!! but in later osx it would not work anymore !

    conversely, for macpro 4.1 on mountain lion i would use CSL – USB nano Bluetooth-Adapter V4.0 Version 4.0 Technologie dongle that also has Broadcom BCM20702AO – but the IOgear wouldnwork for bluetooth pan, neither on mountain lion, mavericks nor yosemite.

  151. José Martínez says:

    I followed the procedures and now my bluetooth is dead 100%. Did I miss something here? I am running a Mac Book Pro late 2011 with Yosemite. Any help from anyone?

  152. Ken Ng says:

    Was your onboard Bluetooth working before? If so, I suggest restoring back your old kext file and make sure that’s working again, and then retry it again.

    Which USB dongle are you using? This is likely due to mismatch/errors in the kext hack with your USB dongle.

  153. Hi Ken, great stuff. Question? My Broadcom Bluetooth USB dongle is not open of the ones listed in the Info.plist file on my laptop (newest version of OSX). But, there are a ton listed. Can I simply edit one of the ones here and put in my Product and Vendor ID numbers? Cheers.

  154. Ken Ng says:

    The new MacOS Sierra should have quite a few of the Bluetooth dongles supported. You can probably try to edit this one: /System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext which has the PID and VID of the one I was originally written the article for.

  155. Luis Resto says:

    Hmmm. I just happened to be going through the steps yesterday and although I’m not in front of my iMac w sierra currently I seem to remember quite a few pid and vid choices leaving me confused. Could you specify which one?

  156. Abel Corral says:

    Can You Help me and Luis out with Sierra? Im a bit confused thanks!

  157. rogov says:

    Hi. There are Sierra 10.12.5.In my case with the BCM20702A0 chip, the Product ID value is 0x21ec. Converting 21e8 to integer gives me the value of 8684. As for the Vendor ID, 0x0a5c is 2652 in integer.What to do next? Detail.

  158. AsierAsier says:

    I have Mac Mini( Mid.2007) with Mac OS X Lion 10.7.5 and I try this with USB dongle ASUS BT400 with BCM20702A0 chip, and I was able to get enable the Bluetooth 4.0 in menu.
    But I have 2 problems:
    – First: With Bluetooth Explorer, I can change the selected HIC, but both, Apple and Broadcomp shows in the bar menú with Alt key press versión 4.0.8f17, but Apple with (v1965) and Broadcomp with (v14 c4096) suffix
    – Second: without dongle, the Magic Trackpad 2 was detected as a Mouse, and only works the click, but no the scroll or secondary click. But with the dongle the Magic Trackpad 2 connect for a momment, but then the connection was lost and I was no able to move the mouse pointer

    I was doing something wrong or the Magic Trackpad 2 was no able to work with Lion and Mac Mini of 2007?

    Thanks a lot.

  159. Asier says:

    Thanks for your post.
    I follow this steps and I was able to configure USB dongle, and I can connect the trackpad with the internal bluetooth of my Mac Mini of 2007 or with the dongle but the problem is that my Magic Trackpad 2 works equals between the two modes (with or without the dongle): I can only use click but I can’t use secondary click or do scroll.
    Are there any additional step or any way to configure a Magic Trackpad 2 in a Mac Mini of 2007 with Lion 10.7.5.

  160. Ken Ng says:

    There may be specific drivers or OS X updates that’s in El Capitan that is required to get it working with the new trackpad.
    The Trackpad 2 has its requirement listed to need a Mac with OS X v10.11 or later.

  161. Any idea about how to get the drivers of the Trackpad 2 from The Capitan and use in Lion?
    Is it possible to change any kext or something to emulate the Trackpad 2 as Trackpad 1?

    Many thanks

  162. Daniela Maini says:

    I’m trying to follow up your steps, but I cant find Bluetooth Explorer anywhere. Apple has removed it from it’s current version.
    “Hardware IO Tools
    The Hardware IO Tools for Xcode package, available at developer.apple.com, now includes the following apps:
    Printer Simulator
    HomeKit Accessory Simulator
    (17014426, 17014426, 17738621)
    These three apps have been removed from the Hardware IO Tools for Xcode package download for this release:
    Apple Bluetooth Guidelines Validation
    Bluetooth Explorer
    PacketLogger
    (18162817)”
    Do you know where I can get it?
    Thanks

  163. Jordan says:

    Hi! Any idea how I could get this dongle working on my iMac running 10.11 El Capitan? I can’t figure out which kext to edit and that version of Bluetooth Explorer needs 10.12 or later. Any help would be great!

  164. Olly S says:

    Hi Ken, I also have a Macbook Pro mid-2010. Any idea if using the IOGear still works? Do you still need to install a a patch, or will it work out of the box?

  165. Ken Ng says:

    Which OS do you run on your Mac?

  166. Slawek B. says:

    Hi Ken
    I was able to make a generic BLE dongle with BCM20702A0 chip work in High Sierra, however handoff, continuity and Airdrop 2 is not working. Is there any way to activate it? Also I have one device that uses solely the BLE protocol, and although my imac 2011 can see it in Midi settings (it’s a wireless bluetooth midi device), I cannot connect to it in any way. Can’t really put my finger on it.

  167. guido balddovino says:

    hello, i am desperately looking for a bluetooth 4.0 usb dongle to work on my macbook pro 15 mid 2010 with 10.8.5, can anybody help me please?! thank you very much in advance

  168. Ken Ng says:

    What issues are you facing?

  169. guido balddovino says:

    hello, thanks for the answer. I am looking for a dongle to implement bluetooth 4.0 on my 2010 macbook pro with 10.8.5 in order to use MIDI via bluetooth for connecting my freedrum instrument. Apparently all the dongle i ve bought and tried were only supporting windows and not mac systems. Could anyone help me with this? thanks a lot

  170. Ken Ng says:

    Have you tried buying the ones I’ve recommended in my article? It’s a specific chip that is used and therefore you can easily hack and install the driver.

  171. guido balddovino says:

    right now i have bought an iogear dongle and i still have to try with this. Do you think it will work on my macbook pro? could you please suggest how to proceed? thanks a lot

  172. guido balddovino says:

    Hi again Ken! thanks for your article, I finally installed the iogear dongle using your suggestion and it seems to work, i can connect to my Jabra earphones for instance, the problem is that I still don’ t know how to use MIDI via bluetooth with my computer. I assumed that having bluetooth 4.0 which now i am using was enough, but maybe I was wrong. Any idea for this? thanks a lot

  173. maf13 says:

    Hello! This is an old thread but I wonder if anybody can help me. My bluetooth card broke, so i bought a usb one, specifically CSR 4.0 for 2019 MBPRO. The system recognizes it with blueetoth explorer but it doesnt let me choose it as “ACTIVE”. (and actually, theres a problem with these CSR ones, that dont let you choose back your system bluetooth card anymore, and this is the reason why i also really need the usb one to work now)
    So, I started to follow this guide to see if it was a drivers problem, but apparently kext utility is not compatible with mojave. Can anyone recommend another software to replace the plist files? Thank you!

  174. steve says:

    mag13 I may be able to help. Make sure you un-pair all Bluetooth devices before you try to activate the dongle or otherwise it won’t work.

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.