Jump to content

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


  • Please log in to reply
52 replies to this topic

#1
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,613 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
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.co...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.co...rnateDriver.zip

Some pictures of the bluetooth driver at work

Attached Files



#2
Dabluest

Dabluest

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 110 posts
  • Location:Atlanta, GA USA

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.co...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?

#3
mightycrown

mightycrown

    InsanelyMac Protégé

  • Members
  • PipPip
  • 90 posts
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
Posted Image

#4
macnutz

macnutz

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 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:
http://rapidshare.co...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

#5
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany
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

#6
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 886 posts
  • Gender:Male
  • Location:France
Thanks, but what is a much more stable bluetooth experience?

#7
mschilling

mschilling

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 428 posts
  • Gender:Male
  • Location:Toronto

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.

#8
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,613 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

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

#9
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany
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 ?

#10
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,613 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

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
Posted Image

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.

#11
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany
"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.

#12
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,613 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

"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)

#13
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany
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 :)

Attached Files



#14
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,613 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

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

#15
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Belkin Mini BT USB Stick
BLUETOOTH USB +EDR ADAPTER v2.1 UHE:
Produkt-ID: 0x016a
Hersteller-ID: 0x050d (Belkin Corporation)
Version: 3.88
Hersteller: Broadcom Corp
used in ANV:
vendorId: 1293
productId: 362

Attached Files



#16
mightycrown

mightycrown

    InsanelyMac Protégé

  • Members
  • PipPip
  • 90 posts

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.

#17
mschilling

mschilling

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 428 posts
  • Gender:Male
  • Location:Toronto
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).

#18
maleorderbride

maleorderbride

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 275 posts
  • Gender:Male
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!!

#19
grandflash

grandflash

    InsanelyMac Protégé

  • Members
  • PipPip
  • 64 posts
Working on my X61 Tablet, great stuff.

#20
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,613 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
Added alternate driver for in case of device connection issues





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy