Jump to content
  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
Andy Vandijck

Broadcom BCM2045/2046 optimized legacy bluetooth driver (Uses Apple optimized driver)

56 posts in this topic

Recommended Posts

This legacy kext enables use of the optimized Broadcom bluetooth drivers instead of the standard generic one.

You need to put your USB Bluetooth Vendor + Device ID inside the plist (3x)

After this you just install it under /S/L/E.

The stock version has vendor + device id inside it for an Acer Aspire One D250.

 

Enjoy much more stable bluetooth experience.

 

Download (standard version, has apple vendor + device id's):

http://rapidshare.com/files/429078169/Broa...ooth_Driver.zip

 

If you still can't get it to go (because of failure to connect to devices or so) you can try the alternate legacy driver below.

It uses the by Apple supported Broadcom BCM2045/2046 dongle as injected id instead of Apple data.

 

Download (alternate version, has Broadcom dongle Vendor + Device id's):

http://rapidshare.com/files/430687172/Broa...rnateDriver.zip

 

Some pictures of the bluetooth driver at work

post-100023-1288981070_thumb.png

Share this post


Link to post
Share on other sites
This legacy kext enables use of the optimized Broadcom bluetooth drivers instead of the standard generic one.

You need to put your USB Bluetooth Vendor + Device ID inside the plist (3x)

After this you just install it under /S/L/E.

The stock version has vendor + device id inside it for an Acer Aspire One D250.

 

Enjoy much more stable bluetooth experience.

 

Download:

http://rapidshare.com/files/429078169/Broa...ooth_Driver.zip

 

 

Some pictures of the bluetooth driver at work

 

Hey Andy, I have a Dell Wireless 355 Bluetooth card with a Vendor ID: 413c. How do I go about adding this in the plist? Every time I try inputing the value it only excepts the 413 not 413c. Any ideas?

Share this post


Link to post
Share on other sites

Hi

I inserted PID VID into the kext. Broadcomblueth is loaded. However i got error which Bluetooth added tons of devices, and it is so consistent that it would not go away even after i deleted the bluetooth.plist from Library/preferences

dadn.png

Share this post


Link to post
Share on other sites
This legacy kext enables use of the optimized Broadcom bluetooth drivers instead of the standard generic one.

You need to put your USB Bluetooth Vendor + Device ID inside the plist (3x)

After this you just install it under /S/L/E.

The stock version has vendor + device id inside it for an Acer Aspire One D250.

 

Enjoy much more stable bluetooth experience.

 

Download:

http://rapidshare.com/files/429078169/Broa...ooth_Driver.zip

 

 

Some pictures of the bluetooth driver at work

not sure if anyone has tried this ,but i installed a airport wifi card into my toshiba running ideneb 10.5.8and it works perfect.like it was made for it :P

Share this post


Link to post
Share on other sites

Would this work also with extermal USB-Bluetooth Sticks with Broadcom Chipsets ?

I have one and it uses some Apple driver (i must not install any driver).

Or is that version special for onboard bluetooth chipsets ?

Which device ID is needed to compare with my boardcom BT USB Stick ?

I dont know my excat Broadcom BT BCMXXXX type , but could look in the Systemprofiler after the dev id there.

 

EDIT: I looked in the new .kext and see there an NotRemovable = Yes key.

So not usable with removable USB BT Sticks ?

Last but not least: There is no code in driver, "only" an .plist, so changes made by injecting some keys?

Would be nice to get some more "How to edit .plist " informations. Exspecially which Dev ID / Prod ID keys must be put where.

 

 

Here my INFO with Apple Drivers - can i use your kext and if yes what dev/id numbers must i edit ?

 

BLUETOOTH USB +EDR ADAPTER v2.1 UHE:

Produkt-ID: 0x016a

Hersteller-ID: 0x050d (Belkin Corporation)

Version: 3.88

Seriennummer: 00190E0570E6

Geschwindigkeit: Bis zu 12 MBit/s

Hersteller: Broadcom Corp

Standort-ID: 0x1d230000

Verfügbare Stromstärke (mA): 132

Erforderliche Stromstärke (mA): 2

 

Apple Bluetooth-Softwareversion: 2.3.3f8

Hardware-Einstellungen:

Adresse: 00-19-0e-05-70-e6

Hersteller: Broadcom

Name: GA_EP35

Firmware-Version: 14 (20868)

Bluetooth-Signal: Ein

Sichtbar: Ja

Hersteller-ID: 0

Produkt-ID: 0x1

HCI-Version: 4 (0x4)

HCI-Revision: 20868 (0x5184)

LMP-Version: 4 (0x4)

LMP-Unterversion: 16910 (0x420e)

Gerätetyp (Obergruppe): Computer

Gerätetyp (komplett): Macintosh-Desktop

Composite-Klasse des Geräts: 3670276 (0x380104)

Geräteklasse (Obergruppe): 1 (0x1)

Geräteklasse (Untergruppe): 1 (0x1)

Dienstklasse: 448 (0x1c0)

Identifizierung erforderlich: Nein

Share this post


Link to post
Share on other sites
Hey Andy, I have a Dell Wireless 355 Bluetooth card with a Vendor ID: 413c. How do I go about adding this in the plist? Every time I try inputing the value it only excepts the 413 not 413c. Any ideas?

I see that the vendor id shown in sys profiler/usb has an x in it, and the plist previously had a number and didn't include the x. The only way to enter an x is as a string, not a number. Where do we find those id numbers to update them with our own values?

 

Thanks, but what is a much more stable bluetooth experience?

dunno about 'stable' but when I try to use my iphone tethering to my computer, it will pair ok, but then the network won't connect (using a D-Link DBT-122 bluetooth usb) . It works fine with a macbook.

Share this post


Link to post
Share on other sites
Hey Andy, I have a Dell Wireless 355 Bluetooth card with a Vendor ID: 413c. How do I go about adding this in the plist? Every time I try inputing the value it only excepts the 413 not 413c. Any ideas?

Second: Use the Apple plist editor to put in the values or convert them from hexadecimal to decimal with calculator (programmers view).

Second: It only works for BCM2045/2046 ic, no idea if that Dell Wireless will work

Share this post


Link to post
Share on other sites

Thanks.

How to know if my

 

BLUETOOTH USB +EDR ADAPTER v2.1 UHE:

Produkt-ID: 0x016a

Hersteller-ID: 0x050d (Belkin Corporation)

Version: 3.88

Seriennummer: 00190E0570E6

Geschwindigkeit: Bis zu 12 MBit/s

Hersteller: Broadcom Corp

Standort-ID: 0x1d230000

Verfügbare Stromstärke (mA): 132

Erforderliche Stromstärke (mA): 2

 

is such an BCM Type ?

Share this post


Link to post
Share on other sites
Would this work also with extermal USB-Bluetooth Sticks with Broadcom Chipsets ?

I have one and it uses some Apple driver (i must not install any driver).

Or is that version special for onboard bluetooth chipsets ?

Which device ID is needed to compare with my boardcom BT USB Stick ?

I dont know my excat Broadcom BT BCMXXXX type , but could look in the Systemprofiler after the dev id there.

 

EDIT: I looked in the new .kext and see there an NotRemovable = Yes key.

So not usable with removable USB BT Sticks ?

Last but not least: There is no code in driver, "only" an .plist, so changes made by injecting some keys?

Would be nice to get some more "How to edit .plist " informations. Exspecially which Dev ID / Prod ID keys must be put where.

 

 

Here my INFO with Apple Drivers - can i use your kext and if yes what dev/id numbers must i edit ?

 

BLUETOOTH USB +EDR ADAPTER v2.1 UHE:

Produkt-ID: 0x016a

Hersteller-ID: 0x050d (Belkin Corporation)

Version: 3.88

Seriennummer: 00190E0570E6

Geschwindigkeit: Bis zu 12 MBit/s

Hersteller: Broadcom Corp

Standort-ID: 0x1d230000

Verfügbare Stromstärke (mA): 132

Erforderliche Stromstärke (mA): 2

 

Apple Bluetooth-Softwareversion: 2.3.3f8

Hardware-Einstellungen:

Adresse: 00-19-0e-05-70-e6

Hersteller: Broadcom

Name: GA_EP35

Firmware-Version: 14 (20868)

Bluetooth-Signal: Ein

Sichtbar: Ja

Hersteller-ID: 0

Produkt-ID: 0x1

HCI-Version: 4 (0x4)

HCI-Revision: 20868 (0x5184)

LMP-Version: 4 (0x4)

LMP-Unterversion: 16910 (0x420e)

Gerätetyp (Obergruppe): Computer

Gerätetyp (komplett): Macintosh-Desktop

Composite-Klasse des Geräts: 3670276 (0x380104)

Geräteklasse (Obergruppe): 1 (0x1)

Geräteklasse (Untergruppe): 1 (0x1)

Dienstklasse: 448 (0x1c0)

Identifizierung erforderlich: Nein

In case of this card it seems to be descripted as a BCM2046B1 ic (which should work).

In this case (I looked up some info) it seems to be actually configured as a bluetooth hub with multiple connections to it.

It should thus work if you change the 3 vendorIds and productIds to:

vendorId: 1293

productId: 362

These are just the values you see above converted to decimal.

Try it and let me know if it works.

 

Hey Andy, I have a Dell Wireless 355 Bluetooth card with a Vendor ID: 413c. How do I go about adding this in the plist? Every time I try inputing the value it only excepts the 413 not 413c. Any ideas?

If that Dell Wireless 355 uses Broadcom BCM2045 or BCM2046 ic it should work

You must convert 0x413c to decimal.

Thus your vendor id to put inside is 16700

Convert them using the programmer view of Calculator.

 

Hi

I inserted PID VID into the kext. Broadcomblueth is loaded. However i got error which Bluetooth added tons of devices, and it is so consistent that it would not go away even after i deleted the bluetooth.plist from Library/preferences

dadn.png

Yeah I know it tends to generate these.

You can remove them using the Bluetooth preference pane by selecting and pressing the - button.

 

Thanks, but what is a much more stable bluetooth experience?

1: Some Broadcom BCM2045/BCM2046 adapters (like mine) tend to drop the link after a few minutes when using the standard generic Apple bluetooth driver.

This can be very annoying when transferring data or if you connect your cellular phones modem via bluetooth (as the link will be interrupted).

This driver fixes this.

2: It works faster with this driver than with the generic one.

3: It will give you the same functionality as the Apple MacBookPro6,1 its built-in bluetooth adapter.

Share this post


Link to post
Share on other sites

"In case of this card it seems to be descripted as a BCM2046B1 ic (which should work).

In this case (I looked up some info) it seems to be actually configured as a bluetooth hub with multiple connections to it.

It should thus work if you change the 3 vendorIds and productIds to:

vendorId: 1293

productId: 362

These are just the values you see above converted to decimal.

Try it and let me know if it works.

"

Thanks i wil try that and report back.

Share this post


Link to post
Share on other sites
"In case of this card it seems to be descripted as a BCM2046B1 ic (which should work).

In this case (I looked up some info) it seems to be actually configured as a bluetooth hub with multiple connections to it.

It should thus work if you change the 3 vendorIds and productIds to:

vendorId: 1293

productId: 362

These are just the values you see above converted to decimal.

Try it and let me know if it works.

"

Thanks i wil try that and report back.

Yes, and if that does not work try these:

vendorId: 0x0a5c

deviceId: 0x4500

thus the ones to enter in the plist:

vendorId: 2652

deviceId: 17664

Those seem to be the id's for the Bluetooth ic behind the hub.

EDIT: Correction, this seems to be the hub

T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 15 Spd=12 MxCh= 3

D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1

P: Vendor=0a5c ProdID=4500 Rev= 1.00

S: Manufacturer=Broadcom

S: Product=BCM2046B1

C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 94mA

I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms

 

Attributes on the ic:

T: Bus=04 Lev=02 Prnt=15 Port=02 Cnt=03 Dev#= 18 Spd=12 MxCh= 0

D: Ver= 2.00 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs= 1

P: Vendor=050d ProdID=016a Rev= 3.88

S: Manufacturer=Broadcom Corp

S: Product=BLUETOOTH USB +EDR ADAPTER v2.1 UHE

S: SerialNumber=000A3A8376DA

C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr= 2mA

I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms

E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms

E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms

I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms

E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms

I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms

E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms

I:* If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms

E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms

I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E: Ad=83(I) Atr=01(Isoc) MxPS= 32 Ivl=1ms

E: Ad=03(O) Atr=01(Isoc) MxPS= 32 Ivl=1ms

I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E: Ad=83(I) Atr=01(Isoc) MxPS= 64 Ivl=1ms

E: Ad=03(O) Atr=01(Isoc) MxPS= 64 Ivl=1ms

I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb

E: Ad=83(I) Atr=01(Isoc) MxPS= 64 Ivl=1ms

E: Ad=03(O) Atr=01(Isoc) MxPS= 64 Ivl=1ms

I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms

E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms

I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none)

Share this post


Link to post
Share on other sites

Seems to work (i used the IDs you told first)!

I think the information in the USB systemprofiler changed also a bit about the USB device.

Main change: The Bluetooth Menue now has the function available (before grey) to enable/disable BT.

I dont know it it will real enable/disable the USB device.

 

EDIT: I tried to use the activate/deactivate BT Menue function to enable/disable the Belkin USB BT stick.

WORKS ! If i disable the blue light on the stick goes off, if i enable again (by menue not unplug/plug) the blue light goes on again.

Before ANV i had to unplug the BT stick if i want to disable BT.

Nice :)

Bildschirmfoto_2010_11_06_um_22.44.49.jpg

Bildschirmfoto_2010_11_06_um_22.42.39.jpg

Share this post


Link to post
Share on other sites
Seems to work (i used the IDs you told first)!

I think the information in the USB systemprofiler changed also a bit about the USB device.

Main change: The Bluetooth Menue now has the function available (before grey) to enable/disable BT.

I dont know it it will real enable/disable the USB device. Nice

Yep, if it connects fine to bluetooth devices that little enable/disable function will work just fine. :)

Maybe you could upload the modified kext for other users to download (who have that type of bluetooth adapter). :D

Share this post


Link to post
Share on other sites
Yeah I know it tends to generate these.

You can remove them using the Bluetooth preference pane by selecting and pressing the - button.

 

Hi . I even deleted the Bluetooth.plist from preference. But it just keeps on coming up after reboot, or sleep.

Share this post


Link to post
Share on other sites

I saw the same problem with the multiple devices. I was able to turn off and on bluetooth, which was new, and I noticed that the PID and VID numbers changed in sys profiler under usb. The info changed from D-Link to an Apple description. Other than that I don't see any improvements or differences and problems remain with bluetooth. (My iphone tethering problem seems to be network related as it doesn't work when connected via usb either).

Share this post


Link to post
Share on other sites

Will this allow me to wake the computer from sleep using bluetooth connected devices?

 

Edit;

So, I added my values to the kext and now under System Profiler my USB dongle shows as:

 

Bluetooth USB Host Controller:

 

Product ID: 0x8218

Vendor ID: 0x05ac (Apple Inc.)

Version: 0.22

Speed: Up to 12 Mb/sec

Manufacturer: Apple Inc.

Location ID: 0x1d200000

Current Available (mA): 500

Current Required (mA): 94

 

However, I can still not wake the computer from sleep using my bluetooth mouse, which a real Mac would be able to do. So, am I doing something wrong or does this kext not fix that?

 

Edit:

 

It is working now. I can wake from sleep. I was using the hub pid and vid, switched to the IDs on the device on the bluetooth hub instead.

 

Thanks!!

Share this post


Link to post
Share on other sites

Added alternate driver for in case of device connection issues

Share this post


Link to post
Share on other sites

Working ok with my targus usb ANV. Thanks.

Anyone with a magic trackpad? mine doesnt work after sleep (have to unplug => replug) (or, now, with this kext, turn off / on the bluetooth).

Share this post


Link to post
Share on other sites
Working ok with my targus usb ANV. Thanks.

Anyone with a magic trackpad? mine doesnt work after sleep (have to unplug => replug) (or, now, with this kext, turn off / on the bluetooth).

 

Same issue here with Belkin Mini BT USB Stick!

Share this post


Link to post
Share on other sites
Same issue here with Belkin Mini BT USB Stick!

 

Mine too. Belkin Mini BT USB Stick and Magic Trackpad. I need to unplug-plug USB Stick!

 

Apple Wireless Keyboard works, but after wake up from sleep it connects but function keys are lost (they behave like odrinary F1-F12 keys.

 

Also Logitech diNovo MediaPad works without problem!

 

Replugging Belkin USB fix all issues.

Share this post


Link to post
Share on other sites
Working ok with my targus usb ANV. Thanks.

Anyone with a magic trackpad? mine doesnt work after sleep (have to unplug => replug) (or, now, with this kext, turn off / on the bluetooth).

 

I have this issue not only with the magic trackpad but also with the magic mouse!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×