Jump to content

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


Andy Vandijck
 Share

54 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

  • Like 2
Link to comment
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?

Link to comment
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

Link to comment
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

Link to comment
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.

Link to comment
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

Link to comment
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 ?

Link to comment
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.

Link to comment
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.

Link to comment
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)

Link to comment
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

Link to comment
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

Link to comment
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).

Link to comment
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!!

Link to comment
Share on other sites

Added alternate driver for in case of device connection issues

Link to comment
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.

Link to comment
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!

Link to comment
Share on other sites

 Share

×
×
  • Create New...