Jump to content

Bluetooth: Broadcom 2045 Driver/Kext


joshuajag
 Share

25 posts in this topic

Recommended Posts

So far my experience with Hackintosh has been pretty good (dual screens, sound, touchpad, keyboard,wireless and usb ports are all working :) ) except I cannot get my bluetooth working!!!

 

I have a USB bluetooth dongle based on Broadcom 2045 that I bought from Amazon a little while ago ( http://www.amazon.com/Bluetooth-USB-Micro-...6492&sr=8-1 ) (great price and works on windows 7 OOB, BTW)

 

I've seen people around here with the other adapters 2045 based but AFIAK no one has said how they have got it working. Any fixes or kexts are appreciated!! :D

 

Josh

Link to comment
Share on other sites

  • 3 weeks later...

I have a 2045 based Bluetooth adapter, and it only kinda sorta works. There's a 2045 driver (or plugin, actually) built in to Leopard. However, you may have to insert your vendor and device ID (hint: look in System Profiler) into this file:

 

/System/Library/Extensions/IOBluetoothFamily.kext/Contents/Plugins/BroadcomUSBBluetoothHCIController.kext/Info.plist

 

The device IDs are different than most kexts: you have to put them in in decimal rather than hex. I've managed to get my internal Bluetooth (BCM2045B) sort of working: data transfers at the blazing speed of 8kbps. I hope you have better luck with than I have. I ended up digging out an old D-Link DBT-120, with which I'm connected to the Internet and making this post. Be careful: there are several different revs. of the DBT-120.

Link to comment
Share on other sites

In System Profiler, don't look under Bluetooth; look under USB and see if your device is there. If it is, you should be able to find the vendor and device IDs. If your Broadcom is like mine, you need to go to /Applications/Utilities/Bluetooth File Exchange to turn it on and get it to show up under the Bluetooth category in System Profiler. However, even then it won't work semi-properly until you insert the device and vendor ids into the kext.

 

The best way to find a device ID is to boot up a Linux live CD of one sort or another and run the lsusb command from a console. You may need to run it as root; "sudo lsusb" is the command you would use.

Link to comment
Share on other sites

Ok, I found them under USB:

 

Product ID: 0x0001 (HEX: 1)

Vendor ID : 0x0a12 (Cambridge Silicon Radio Ltd.) (HEX: 2578)

 

I found the IOBluetoothFamily.kext but its not a folder, so how do I get to Contents/Plugins/BroadcomUSBBluetoothHCIController.kext/Info.plist ?

 

Thanks

Josh

Link to comment
Share on other sites

Ok, I found them under USB:

 

Product ID: 0x0001 (HEX: 1)

Vendor ID : 0x0a12 (Cambridge Silicon Radio Ltd.) (HEX: 2578)

 

I found the IOBluetoothFamily.kext but its not a folder, so how do I get to Contents/Plugins/BroadcomUSBBluetoothHCIController.kext/Info.plist ?

 

Thanks

Josh

OK...that's weird. That's what I see when I hook up my external bluetooth dongle...and it works perfectly, without any kext hacking. I've got a D-Link DBT-120 and it works beautifully OOB, without any mods or hacks. Which version of OS X are you using? I'm using iDeneb 10.5.6 on a Thinkpad T60.

 

A kext "file" looks like a file in the Finder, but it's really a collection of folders and files. If you right click on the kext and then click on "Show Package Contents", you'll see the files broken down. It's usually easier to just go to the Terminal (in Applications/Utilities) to hack kexts...

Link to comment
Share on other sites

I am using iPC 10.5.6 on a Acer Aspire 9410Z

 

Ok I got into the info.plist here's what it says:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>BroadcomUSBBluetoothHCIController</string>
<key>CFBundleGetInfoString</key>
<string>2.1.3, Copyright (c) 2008 Apple Inc. All Rights Reserved.</string>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Broadcom USB Bluetooth HCI Controller</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.1.3</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>2.1.3f8</string>
<key>IOKitPersonalities</key>
<dict>
	<key>Broadcom2045FamilyUSBBluetoothHCIController</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>8448</integer>
		<key>idVendor</key>
		<integer>2652</integer>
	</dict>
	<key>Broadcom2045FamilyUSBBluetoothHCIController_D</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>33292</integer>
		<key>idVendor</key>
		<integer>1452</integer>
	</dict>
	<key>Broadcom2045FamilyUSBBluetoothHCIController_Dongle</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>8448</integer>
		<key>idVendor</key>
		<integer>2652</integer>
	</dict>
	<key>Broadcom2045FamilyUSBBluetoothHCIController_P</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>33293</integer>
		<key>idVendor</key>
		<integer>1452</integer>
	</dict>
	<key>Broadcom2046FamilyUSBBluetoothHCIController_37A</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>33301</integer>
		<key>idVendor</key>
		<integer>1452</integer>
	</dict>
	<key>Broadcom2046FamilyUSBBluetoothHCIController_Combo</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>33296</integer>
		<key>idVendor</key>
		<integer>1452</integer>
	</dict>
	<key>Broadcom2046FamilyUSBBluetoothHCIController_D</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>33294</integer>
		<key>idVendor</key>
		<integer>1452</integer>
	</dict>
	<key>Broadcom2046FamilyUSBBluetoothHCIController_M93A</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>33302</integer>
		<key>idVendor</key>
		<integer>1452</integer>
	</dict>
	<key>Broadcom2046FamilyUSBBluetoothHCIController_P</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>33295</integer>
		<key>idVendor</key>
		<integer>1452</integer>
	</dict>
	<key>Broadcom2046FamilyUSBBluetoothHCIController_XA</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>33299</integer>
		<key>idVendor</key>
		<integer>1452</integer>
	</dict>
	<key>Broadcom2046FamilyUSBBluetoothHCIController_XB</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>33300</integer>
		<key>idVendor</key>
		<integer>1452</integer>
	</dict>
	<key>BroadcomUSBBluetoothHCIController</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>BroadcomUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>33537</integer>
		<key>idVendor</key>
		<integer>1452</integer>
	</dict>
	<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>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>156</integer>
		<key>idVendor</key>
		<integer>1118</integer>
	</dict>
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright (c) 2008 Apple Inc. All Rights Reserved.</string>
<key>OSBundleCompatibleVersion</key>
<string>1.2b9</string>
<key>OSBundleLibraries</key>
<dict>
	<key>com.apple.driver.AppleUSBBluetoothHCIController</key>
	<string>2.0.0</string>
	<key>com.apple.iokit.IOBluetoothFamily</key>
	<string>2.0.0</string>
	<key>com.apple.kpi.iokit</key>
	<string>8.0</string>
	<key>com.apple.kpi.libkern</key>
	<string>8.0</string>
</dict>
<key>OSBundleRequired</key>
<string>Console</string>
</dict>
</plist>

Could you add these to it for me please?

Product ID:1

Vendor ID: 2578

 

Thanks

Link to comment
Share on other sites

I am using iPC 10.5.6 on a Acer Aspire 9410Z

 

Ok I got into the info.plist here's what it says:

		<key>Broadcom2045FamilyUSBBluetoothHCIController</key>
	<dict>
		<key>CFBundleIdentifier</key>
		<string>com.apple.driver.BroadcomUSBBluetoothHCIController</string>
		<key>IOClass</key>
		<string>Broadcom2045FamilyUSBBluetoothHCIController</string>
		<key>IOProviderClass</key>
		<string>IOUSBDevice</string>
		<key>IOProviderMergeProperties</key>
		<dict>
			<key>ClassicMustNotSeize</key>
			<true/>
		</dict>
		<key>idProduct</key>
		<integer>8448</integer>
		<key>idVendor</key>
		<integer>2652</integer>
	</dict>

Could you add these to it for me please?

Product ID:1

Vendor ID: 2578

 

Thanks

All you need to do is insert the decimal codes into "idProduct" and "idVendor" and change the <integer> keys beneath them. In your case you'd change 8448 to 1 and 2652 to 2578 in the example above...assuming those are the proper decimal codes. You may have to try inserting the codes at different points in the file. Remember that you have to delete the kext cache after you change the .plist. The safest way to do it is to reboot, interrupt the bootloader with a keystroke and type -x at the boot: prompt. You'd then reboot normally.

 

I still don't know why your dongle won't work out of the box...have you gone to Terminal and checked the kernel log for clues ("sudo dmesg")? Are you booting with the dongle inserted, or are you plugging it in after loading up the desktop?

Link to comment
Share on other sites

I have always booted with the dongle inserted. I'll try plugging it in afterwords in a bit. Here is the kernel log:

 

t" has immediate dependencies on both com.apple.kernel and com.apple.kpi components; use only one style.
AppleACPICPU: ProcessorApicId=0 LocalApicId=0 Enabled
AppleACPICPU: ProcessorApicId=1 LocalApicId=1 Enabled
Loading security extension com.apple.security.TMSafetyNet
calling mpo_policy_init for TMSafetyNet
Security policy loaded: Safety net for Time Machine (TMSafetyNet)
Loading security extension com.apple.nke.applicationfirewall
Loading security extension com.apple.security.seatbelt
calling mpo_policy_init for mb
Seatbelt MACF policy initialized
Security policy loaded: Seatbelt Policy (mb)
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.

MAC Framework successfully initialized
using 5242 buffer headers and 4096 cluster IO buffer headers
IOAPIC: Version 0x20 Vectors 64:87
ACPI: System State [S0 S3 S4 S5] (S3)
Extension "com.apple.driver.AppleACPIPlatform" has immediate dependencies on both com.apple.kernel and com.apple.kpi components; use only one style.
Extension "com.apple.driver.ApplePCIConfigurator" has immediate dependencies on both com.apple.kernel and com.apple.kpi components; use only one style.
Extension "com.apple.driver.AppleACPIPlatform" has immediate dependencies on both com.apple.kernel and com.apple.kpi components; use only one style.
mbinit: done
Security auditing service present
BSM auditing present
Extension "com.apple.driver.AppleACPIPlatform" has immediate dependencies on both com.apple.kernel and com.apple.kpi components; use only one style.
From path: "uuid", 
Waiting for boot volume with UUID 0BB34100-932C-340C-AC86-3B6967F8794D
Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict>
HDAEnabler: Copyright (c) 2008 by Kabyl
HDAEnabler: Added SPAudio support LayoutID:4	   
IOPCCardBridge::checkBridgeBusIDs invalid sub/cardbus/pci settings of 0x0
Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@1F,2/AppleIntelPIIXATARoot/PRID@0/AppleIntelICHxSATA/ATADeviceNub@0/AppleATADiskDriver/IOATABlockStorageDevice/IOBlockStorageDriver/TOSHIBA MK1234GSX TOSHIBA MK1234GSX/IOFDiskPartitionScheme/Untitled 5@5
BSD root: disk0s5, major 14, minor 4
Jettisoning kernel linker.
Resetting IOCatalogue.
GFX0: family specific matching fails
display: family specific matching fails
Matching service count = 2
Matching service count = 4
Matching service count = 4
Matching service count = 4
Matching service count = 4
Matching service count = 4
display: family specific matching fails
display: family specific matching fails
IOPanelDevice: Machine Is Laptop!
IOPanelDevice: Registered OK!
BTCoexistence feature not supported!
wl0: Broadcom BCM4311 802.11 Wireless Controller
5.10.38.24
GFX0: family specific matching fails
GFX0: family specific matching fails
display: family specific matching fails
ApplePS2Trackpad: Synaptics TouchPad v6.2
HDAEnabler: Copyright (c) 2008 by Kabyl
HDAEnabler: Added SPAudio support LayoutID:4	   
ALCinject: Starting.
ALCinject: Setting layout-id=<data not shown>
ALCinject: Setting PinConfigurations=<data not shown>
GFX0: family specific matching fails
VoodooBattery.kext: VoodooBattery.kext 1.2.1 (Release) Apr  7 2009 02:25:24 [1050]
VoodooBattery.kext: (C) 2009 Superhai, All Rights Reserved
AppleRTL8169Ethernet: Ethernet address 00:16:d3:56:34:65
AirPort_Brcm43xx: Ethernet address 00:19:7e:66:5c:55
MacFUSE: starting (version 2.0.3, Dec 19 2008, 09:57:57)
ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out
AppleRTL8169Ethernet: phyWaitForAutoNegotiation TIMEOUT
AirPort: Link Down on en1
Auth result for: 00:14:d1:44:e8:dc MAC AUTH succeeded
AirPort: Link Up on en1
VoodooPower.kext: VoodooPower.kext 1.2.1 (Release) Jan  4 2009 15:06:44 [1050]
VoodooPower.kext: (C) 2008 Superhai, All Rights Reserved
display: Not usable
AirPort:  No beacon for too long time 
AirPort: Link Down on en1
Auth result for: 00:14:d1:44:e8:dc MAC AUTH succeeded
AirPort: Link Up on en1

Link to comment
Share on other sites

This is the bit that jumped out at me:

 

BTCoexistence feature not supported!

 

That implies that you have more than one Bluetooth (or BT) device present on your laptop. Do you have integrated Bluetooth that you haven't turned off, or disabled in BIOS? Sniffing around the forums also indicated some conflicts with hacked PCMCIA kexts (Chun-Nan was mentioned I think.) I don't know if that's standard issue on iPC, but you might want to boot up the installer and see what kexts it's installing by default.

 

EDIT: Googled around a bit, and it appears that integrated Bluetooth is an option on your laptop. Did you buy it new or used? Have you checked the BIOS for Bluetooth options? Is there a Bluetooth indicator on your laptop's LED strip?

Link to comment
Share on other sites

I bought my laptop new from Costco a few years ago. There is a button to turn on bluetooth but whenever I pressed it, it would say on the screen in vista "No Bluetooth Device Detected." and in the specs it says "Bluetooth Ready" which is different than "Bluetooth Enabled", yes? I googled around when I first got my laptop and it said that Bluetooth Ready meant it would work with a usb dongle... So if it has a built-in bluetooth adapter I will be SHOCKED!! :o

 

Also, I edited the .plist to my ID's and when booting up in Safe Boot the little icon shows in the corner and its turned on..... However I cannot get my Dell BT Mouse to pair, the Bluetooth Set-up App always crashes or gives an error after it says "Connection Established...." in the pairing screen. Also when I tried to boot in regular mode the first time, there was no bluetooth icon. I am currently in Safe Boot and will try to get it in regular boot.

 

Thanks so much for your help by the way! :blink:

 

EDIT: Check out this: http://forum.notebookreview.com/showpost.p...amp;postcount=5

I guess there is just an empty port inside just waiting for a bluetooth chip to be installed :P

Link to comment
Share on other sites

Yep, you're right about "Bluetooth Ready". Nice bit of obfuscation by Acer...

 

Anyway, you can try putting the vendor/device ids in a different dict. See here:

<string>Broadcom2045FamilyUSBBluetoothHCIController</string>

That tells you it's going to load the kext in 2045 mode. I had some mild luck loading it with the 2046 mode. Try inserting it into different places and see if you have any luck. Of course, you'll have to reset the kext cache and reboot each time. Make sure you undo your changes each time you update the file. There should only be one instance of your vendor/device ID pair in the file. I didn't try all the possible modes due to the rather time consuming process. I'm not sure why, but multiple reboots seemed to help sometimes. With some positions in the file, I had various problems; sometimes files would transfer slowly, sometimes they wouldn't pair, sometimes you couldn't detect the services of the device you were pairing with. It's all very tedious, but can be rewarding; welcome to the wonderful world of OSX86.

Link to comment
Share on other sites

Well I restarted into regular mode and it gave me an error saying something about being installed incorrectly, so im guessing i should put my ID's into a different place.

 

Hehe... sneaky guys at acer....

 

Also: wonderful my ass, haha, its been ok, a tedious process though!

 

EDIT: Well I've tried the first 8 and the last few the bluetooth wasn't being detected . . . . . I'll try the first few again . . .

 

EDIT2: Tried the first 4 again... None of them worked, I guess I can just live without bluetooth :blink:

Link to comment
Share on other sites

  • 1 month later...

This device, if like mine, is compatible with the AppleUSBBluetoothHCIController.kext instead of the Broadcom one

 

Just add a small key section in the Info.plist of the Apple kext mentionned above;

 

<key>Generic BTD</key>

<dict>

<key>CFBundleIdentifier</key>

<string>com.apple.driver.AppleUSBBluetoothHCIController</string>

<key>IOClass</key>

<string>AppleUSBBluetoothHCIController</string>

<key>IOProviderClass</key>

<string>IOUSBDevice</string>

<key>bcdDevice</key>

<integer>0x3d10</integer>

<key>idProduct</key>

<integer>1</integer>

<key>idVendor</key>

<integer>0x0a12</integer>

</dict>

 

 

where the bcdDevice id should be the Location Id you found in the System Profiler for your device.

 

see my other post here; http://www.insanelymac.com/forum/index.php...p;#entry1359184

Link to comment
Share on other sites

This device, if like mine, is compatible with the AppleUSBBluetoothHCIController.kext instead of the Broadcom one

 

Just add a small key section in the Info.plist of the Apple kext mentionned above;

 

<key>Generic BTD</key>

<dict>

<key>CFBundleIdentifier</key>

<string>com.apple.driver.AppleUSBBluetoothHCIController</string>

<key>IOClass</key>

<string>AppleUSBBluetoothHCIController</string>

<key>IOProviderClass</key>

<string>IOUSBDevice</string>

<key>bcdDevice</key>

<integer>0x3d10</integer>

<key>idProduct</key>

<integer>1</integer>

<key>idVendor</key>

<integer>0x0a12</integer>

</dict>

 

 

where the bcdDevice id should be the Location Id you found in the System Profiler for your device.

 

see my other post here; http://www.insanelymac.com/forum/index.php...p;#entry1359184

 

I tried using the above code just as it is, replacing the bcdDevice with the Location ID, and replacing all 3 ID's. Every one gave the same error message:

20091215-qkyhwam6b3d36gx7j8pq86bjpe.preview.jpg

Click for full size

Link to comment
Share on other sites

If you're handy or at least willing to try, why not just solve the whole thing permanently? It sounds like you have a compatible Bluetooth module that only won't load because it already sees your empty spot as Bluetooth. Most Acer laptops have this issue. I solved mine by converting the cheap little USB module into an internal one; now my "built-in" Bluetooth works, switch and all.

 

Another option is simply to edit your DSDT and remove the empty Bluetooth device. This could be easy or very difficult, depending on how well they labeled things. For details on the hardware wiring, see the mod thread link in my sig.

 

Also, the error message just looks like a permissions problem. If you don't know the terminal command lines to do it, always install kexts with B7 Kext helper, or at least repair permissions using the Disk Utility. Copy/paste or drag and drop simply does not work for the /System/Library/Extensions folder.

Link to comment
Share on other sites

OK, installed the kext again via kext helper and it mostly works! :)

The bluetooth info is finally appearing in System Profiler:

20091218-ex53sc4u99tya7pjmrcntj4btx.jpg

BUT!! I haven't been able to pair with my mouse

YET. I will try again in a bit, watching survivor right now :whistle:

 

EDIT: Nevermind :thumbsup_anim: Just rebooted and getting the same error as above!

Link to comment
Share on other sites

  • 7 months later...

I can confirm that editing /S/L/E/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomUSBBluetoothHCIController.kext/Info.plist at several places, replacing product id to 1 and vendor id to 2578 has worked for the BT device I have below.

 

mrco3q.png

 

Bluetooth USB Host Controller:

 Product ID:	0x0001
 Vendor ID:	0x0a12  (Cambridge Silicon Radio Ltd.)
 Version:	19.15
 Speed:	Up to 12 Mb/sec
 Location ID:	0x3d200000
 Current Available (mA):	500
 Current Required (mA):	0

 

Although I had to repair ownership and repair permissions and delete the mkext caches. Rebooted with -F -v and voila it worked!

 

Thanks people.

Link to comment
Share on other sites

Just to follow up on my old post, I found that the real problem was that I needed to apply a firmware update in Windows to my factory Bluetooth module. Once that was done, OS X identified my BT module automatically and worked with it flawlessly.

Link to comment
Share on other sites

  • 1 month later...
I can confirm that editing /S/L/E/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomUSBBluetoothHCIController.kext/Info.plist at several places, replacing product id to 1 and vendor id to 2578 has worked for the BT device I have below.

 

img

 

Bluetooth USB Host Controller:

  Product ID:	0x0001
  Vendor ID:	0x0a12  (Cambridge Silicon Radio Ltd.)
  Version:	19.15
  Speed:	Up to 12 Mb/sec
  Location ID:	0x3d200000
  Current Available (mA):	500
  Current Required (mA):	0

 

Although I had to repair ownership and repair permissions and delete the mkext caches. Rebooted with -F -v and voila it worked!

 

Thanks people.

 

Hey rygu, can you share your kext?

I got the exact same BT dongle, but after modifying all product and vendor IDs, is still not working.

I got the error

BTCoexistence feature not supported!

in the sudo dmesg

 

I really appreciate this forum's people

Link to comment
Share on other sites

  • 2 months later...
Hey rygu, can you share your kext?

I got the exact same BT dongle, but after modifying all product and vendor IDs, is still not working.

I got the error

BTCoexistence feature not supported!

in the sudo dmesg

 

I really appreciate this forum's people

 

Just going to add my bit to this situation. I have an ibook g4 and a CSR bluetooth usb dongle version 19.15. By altering the existing CSR controller kext in the folder there is an entry in that with 1 as the iddevice and 2578 as the idvendor. I changed the other bits to match the entries in the broadcom kext file. But it seems that I can connect to things but theres a problem with pairing things. It doesnt quite work. The bluetooth icons there but I think the existing driver thats supposed to be there for this device is not up to scratch. Maybe the firmware on the dongle is rubbish? Is there any way to update the firmware on the CSR dongle?

Link to comment
Share on other sites

  • 7 months later...
  • 7 months later...

Boot with a Live CD that allows you to turn on the device on, i.e. my ThinkPad T61 has this bluetooth adapter and the only way I can use is either turning it off and then back on in BIOS (making it enabled) or booting with U***ntu live CD (ver 8 worked for me the fastests) and making it visible then restarting into OS X. Someone should write an enabler for this, it's getting old and tiring to having to boot into a live CD just to have BT if it's just some address that needs to be written or something similar...

 

EDIT: If you already have it enabled and its not showing try renaming S/L/E AppleHPET.kext to AppleHPET.kext.old (in case it KP on you and you have to boot in -s -x mode to rename it back and fsck -fy)

Link to comment
Share on other sites

 Share

×
×
  • Create New...