Contribute
Register

Need bluetooth 4.0? Get it here...

Status
Not open for further replies.
Joined
Aug 19, 2010
Messages
527
Motherboard
Gigabyte Z390 Designare
CPU
i9-9900KF
Graphics
UHD 630 & Radeon VII
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac mini
  4. Mac Pro
Mobile Phone
  1. iOS
UPDATE:
This Adapter is now natively supported in 10.8 and later (ML) so the information below is provided for Lion users and earlier only. If you have 10.8 just plug it and go, no kexts or edits are required.
/END UPDATE


Hi Guys,
For those needing Bluetooth support and wanting the latest gen tech here is a cheap and pretty easy option...

Background:
so i bought a magic trackpad for my desktop since i have fallen in love with the gestures after using them for a few days on my new macbook air. I had a whole bunch of really cheap, kinda crappy little bluetooth USB dongles around, shipped from China, they always seemed to more or less do the trick (we rarely use bluetooth). They were plug and play and range was acceptable. In any case when i started using my magic trackpad with this dongle it was no good. Basically it worked for 1 and 2 finger touch commands, but 3 or 4 finger commands would simply freeze up the controller for several seconds. After some research it seems this is a limitation of the cheap chipset used in these cheap dongles. I think its a Cambridge controller or something. So i was on the hunt for a good replacement.

The Dongle:
I decided on the IOGear GBU521. It is one of the only BT 4.0 compliant dongles available and its pretty cheap.
http://www.iogear.com/product/GBU521/
http://www.amazon.com/IOGEAR-Bluetooth-Micro-Adapter-GBU521/dp/B007GFX0PY

Though the package states OS X compatibility, as did the marketing materials initially (since then its been pulled) the controller is not plug and play. However it does work with OS X (and works very very well) with a minor edit to a kext plist.

Make It Work:
This edit should work with other brands if you find they have the same chipset. Basically this is using the broadcom BCM20702A0 chipset. The braodcom driver is located at:
/System/Library/Extensions/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomUSBBluetoothHCIController.kext
You will need to show contents of this kext and edit the plist. At the end of the end of the IOKitPersonalities add another entry. As of this writing the last entry is one for a microsoft device. Simply copy that device and paste it below and then edit it with the proper device info. So the end of this section will now look like this:
Code:
<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>IOGear 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>
That last entry, the "IOGear Bluetooth 4.0 USB Dongle" was added in. It is identical to the microsoft entry above it but with 3 items changed. The device name of course, which you can make whatever you want, i made it "IOGear Bluetooth 4.0 USB Dongle", then the way it matches hardware is by idProduct and idVendor. If you are not using the exact same device, you can get your values from IORegistryExplorer. They will be in Hex and will need to be converted to integer. In any case as long as you buy this exact adapter the above values will work.

Keep in mind you may have to make this edit each time the OS gets updated to a new version as typically the bluetooth drivers get updated each point update.

For your convenience i am including the pre-edited kext. However it would be better if you can do the edit yourself since this kext is for 10.7.4, and it would be better to run the native kext for whatever OS version you have and make the edit to that. Hope this helps some of you wanting a good and modern Bluetooth controller on your mac/hack. This works perfectly with multiple devices paired and has no issues with multitouch. Range is also better than on the cheaper controllers i was using (surprise surprise).
g\
 

Attachments

  • IOBluetoothFamily1074hacked.zip
    1 MB · Views: 4,779
  • Like
Reactions: rmf
Thanks for the heads up! I will give this one a try on your recommendation.
 
You rock! I just built my first hackintosh and I bought this bluetooth adapter at MicroCenter just because the package said that it was OSX compatible... It was the only thing that I had left to get working.

Now, the only problem was that I had to use your kext. When I tried to do it myself it didn't work... don't know why. But I am running 10.7.4 (which is what your kext is).

Thanks much!
 
And in case it helps any one - I am using
Apple bluetooth keyboard (the short aluminum one without keypad)
Apple Magic Mouse (gesture work fine)

Thanks!
 
Do you have the option "Allow bluetooth devices to wake this computer" ?
 
sk_kevin66 said:
Do you have the option "Allow bluetooth devices to wake this computer" ?

Good question - I will check tonight. I have only put it to sleep twice since getting this to work - I did notice that as is, I was not able to wake it up via Bluetooth. I will check to see if I am missing a setting.
 
sk_kevin66 said:
Do you have the option "Allow bluetooth devices to wake this computer" ?

Under Bluetooth (System Preferences) - Advanced -
"Allow Bluetooth devices to wake this computer"
This is greyed out for me. I can't enable it.

I will have to do further research to see what everyone else does to enable that.
 
matt_lnec said:
Under Bluetooth (System Preferences) - Advanced -
"Allow Bluetooth devices to wake this computer"
This is greyed out for me. I can't enable it.

I will have to do further research to see what everyone else does to enable that.

Maybe this post might give you some help: viewtopic.php?f=7&t=7940&p=52201
 
sk_kevin66 said:
matt_lnec":2upxcq2u] Under Bluetooth (System Preferences) - Advanced - "Allow Bluetooth devices to wake this computer" This is greyed out for me. I can't enable it. I will have to do further research to see what everyone else does to enable that.[/quote] Maybe this post might give you some help: [url="http://www.tonymacx86.com/viewtopic.php?f=7&t=7940&p=52201 said:
viewtopic.php?f=7&t=7940&p=52201[/url][/quote:2upxcq2u]

In all likelihood it just needs to be matched against the 2045 family in the plist, instead of the generic matching its currently using. i'll try it at some point. hasn't been an issue for me since my keyboard and mouse are both USB for now.
g\
 
genzai said:
sk_kevin66 said:
matt_lnec":2nuje7q2] Under Bluetooth (System Preferences) - Advanced - "Allow Bluetooth devices to wake this computer" This is greyed out for me. I can't enable it. I will have to do further research to see what everyone else does to enable that.[/quote] Maybe this post might give you some help: [url="http://www.tonymacx86.com/viewtopic.php?f=7&t=7940&p=52201 said:
viewtopic.php?f=7&t=7940&p=52201[/url]

In all likelihood it just needs to be matched against the 2045 family in the plist, instead of the generic matching its currently using. i'll try it at some point. hasn't been an issue for me since my keyboard and mouse are both USB for now.
g\[/quote:2nuje7q2]

You are right, just tried matching against 2045 family and now I have "Allow Bluetooth devices to wake this computer" and additionally I'm able to disable bluetooth from the menubar. I'm hoping this works as good as matching with the generic one.

I wrote a legacy kext which should be working for most devices that use Broadcom 20702 chipset. The advantage of this is that you are not messing with vanilla kexts and you don't need to patch again after an OSX update.

Update
I don't know why yet but after a few reboots I'm now getting issues with bluetooth not working as it says:
[InterruptReadHandler] Received kIODeviceNotResponding error - retrying: 2.

Will try to find out what's causing this...

Update2
OK it was an error on my system, had nothing to do with the kext ... I messed up with some other kexts as well as my kextcache and everything went wrong... it's working now.
Can anybody else confirm that this kext is working?
 

Attachments

  • LegacyBCM20702USBBluetooth.kext.zip
    3.2 KB · Views: 883
Status
Not open for further replies.
Back
Top