Boombeng Posted November 15, 2008 Share Posted November 15, 2008 EDIT 10 nov 2009 Bcc9 striked again He made an all in one kext with easy instal pkg so if you have a Dell Wireless Bluetooth 365, 370 or 410 but can not use it in HCI mode just run the pkg and that's it, it will automaticaly turns the BT on at boot, reload after sleep etc... really great Here is a driver version of my hid2hci program. Benefits vs standalone program:Leverages operating system to auto-match any eligible bluetooth device, no configuration required. There are no suspend/resume scripts ala sleepwatcher required. Driver reloads right away upon resume Handles reloading when you turn off/on of the wireless card via the laptop's hotkey. Driver is able to turn on HCI mode a lot faster than sleepwatcher as it runs from the kext cache instead of after the system fsck I've configured the driver's plist to auto-match the device codes for the following cards, if I missed any, they could simply be added to the Info.plist Dell Wireless 365 Bluetooth Dell Wireless 370 Bluetooth Dell Wireless 410 Bluetooth The only drawback I've found is that the kext needs to be in /System/Library/Extensions for the system to auto-load the kext if you boot with wireless turned off and then turn it on sometime later. If the kext is instead in /Extra the system errors out when it tries to load the kext in this case. If someone knows how to fix this dependency please let me know. OSX 10.5.x and 10.6.0 versions included, choose your flavor. If you boot with -v mode, you should see DellBluetoothHCI loading right after the USB drivers. Update: fixed 10.6 version's plist so that it loads properly in 64 bit mode. Update2: I've added a pkg version of DellBluetoothHCI. This package version automatically selects the 10.5.x or 10.6.x kext depending upon the installed OS. The new version also automatically installs the kext into /System/Library/Extensions with the right permissions. Link to the Instal pkg Thx again Bcc9 ---------------------------------------------------------------------------------------------------------------------------------------- EDIT Bcc9 managed to port Hid2Hci from linux to enable dell 370 bluetooth cards on OSX You just need to download his file and to run it See his post here Thanks a lot bcc9, you are the man ----------------------------------------------------------------------------------------------------- Hello, I know bluetooth is not a priority, but i'd like to use mine on OSX so... If you have time and knowledges which can help me thanks in advance... For the moment i just want to answer a simple question : Is it possible to make this card working with simple edit/hexediting apple bluetooth kexts ? Here are the status : It is a 2.1 EDR Bluetooth module Card seeems to be based on a broadcom 2046 chip its ID is : 413C 8156 (REV 10) USB\VID_413C&PID_8156&REV_0172 It is no recognised in OSX, neither with LSPI tool but in USB devices from system information we can see this : http://forum.insanelymac.com/index.php?act...st&id=38144 I also noticed that when i lookfor new bluetooth devices with my bluetooth phone, i can see the dell 370 but i can not connect The things which make me think there is hope are : > other onboard dell bluetooth cards like the 350 or 355, both based on BCM2045 chip, work out of the box (413c 8103 broadcom for exemple) > BCM2046 chips 2.1EDR bluetooth are used by real mac (macbook air) But, when i have a look in IOBluetoothfamily kext it looks complicated, there are different other kexts, i can not recognise the different ID from other cards working out of the box in info plist, but we can see a few ID from BCM2046 familly like ours in Info Plist like this one : [/b] </dict> <key>idProduct</key> <integer>33293</integer> <key>idVendor</key> <integer>1452</integer> </dict> <key>Broadcom2046FamilyUSBBluetoothHCIController</key> [b] So What do you think, is it a lost cause ? Is it possible and how can i inject 370 dell card ID in kext to make it work ? Thanks in advance for any advices and reply [Edit] Can someone using a real mac with integrated BCM2046 chip can give me his complete card ID please (look in system information/bluetooth [Edit] About the ID in Kexts : It seems we have to make the difference between Profile compatibility devices ( http://en.wikipedia.org/wiki/Bluetooth_profile ) and onboard hardware's ID itself , I think (?) [Edit] Well, may be the solution is to write a kext which enables the inbuilt bluetooth module like has done Hatsmasher : http://forum.insanelymac.com/index.php?s=&...st&p=309454 Thanks Technical informations about BCM2046 chips : broadcom_bcm2046_bluetooth.pdf Link to comment Share on other sites More sharing options...
Boombeng Posted November 17, 2008 Author Share Posted November 17, 2008 Well, I did find the real ID in my IOREG, and it seems closer to the Info Plist one : | | | | | | | +-o [1mBCM2046B1[m@1a100000 | | | | | { | | | | | "PortNum" = 1 | | | | | "Bus Power Available" = 250 | | | | | "bNumConfigurations" = 1 | | | | | "Device Speed" = 1 | | | | | "sessionID" = 1207068959 | | | | | "AAPL,current-in-sleep" = 1500 | | | | | "USB Product Name" = "BCM2046B1" | | | | | "bcdDevice" = 256 | | | | | "locationID" = 437256192 | | | | | "USB Vendor Name" = "Broadcom" | | | | | "USB Address" = 2 | | | | | "idProduct" = 17664 | | | | | "iProduct" = 2 | | | | | "bDeviceProtocol" = 0 | | | | | "iManufacturer" = 1 | | | | | "IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUS$ | | | | | "bDeviceClass" = 9 | | | | | "iSerialNumber" = 0 | | | | | "bMaxPacketSize0" = 8 | | | | | "Need contiguous memory for isoch" = Yes | | | | | "bDeviceSubClass" = 0 | | | | | "IOUserClientClass" = "IOUSBDeviceUserClientV2" | | | | | "idVendor" = 2652 | | | | | } | | | | | | | | | +-o [1mAppleUSBHub[m | | | | | { | | | | | "IOProviderClass" = "IOUSBDevice" | | | | | "IOProbeScore" = 50000 | | | | | "CFBundleIdentifier" = "com.apple.driver.AppleUSBHub" | | | | | "bDeviceClass" = 9 | | | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | | | "IOUserClientClass" = "AppleUSBHSHubUserClient" | | | | | "bDeviceSubClass" = 0 | | | | | "IOClass" = "AppleUSBHub" | | | | | "IOPowerManagement" = {"ChildrenPowerState"=4,"CurrentPowerState"=4,"DeviceChangePowerState"=4,"D$ | | | | | } | | | | | | | | | +-o [1mIOUSBInterface[m@0 | | | | { | | | | "iInterface" = 0 | | | | "idProduct" = 17664 | | | | "bConfigurationValue" = 1 | | | | "locationID" = 437256192 | | | | "bInterfaceSubClass" = 0 | | | | "bInterfaceProtocol" = 0 | | | | "bAlternateSetting" = 0 | | | | "bInterfaceClass" = 9 | | | | "bInterfaceNumber" = 0 | | | | "bNumEndpoints" = 1 | | | | "idVendor" = 2652 | | | | "bcdDevice" = 256 | | | | } And in BroadcomUSBBluetoothHCIControlers.kext's info Plist (Extensions/Iobluetoothfamily.kext/Contents/plugins/BroadcomUSBBluetoothHCIController.kext/contents) here is the closer value i can find : Broadcom2046FamilyUSBBluetoothHCIController_Dongle CFBundleIdentifier com.apple.driver.BroadcomUSBBluetoothHCIController IOClass Broadcom2045FamilyUSBBluetoothHCIController IOProviderClass IOUSBDevice IOProviderMergeProperties ClassicMustNotSeize idProduct 8262 idVendor 2652 I tried to replace 8262 by 17664 in this file (info plist) and it doesn't work, so i tried to find this Hex values but i can not managed Which Hex value do i have to find to replace 8262 by 17665 in the driver ? Thanks in advance Link to comment Share on other sites More sharing options...
CompCrasher86 Posted November 22, 2008 Share Posted November 22, 2008 8262 in hexadecimal reads 2046 and the hexadecimal of 17664 is 4500. I am working on finding the locations of these nubers now Link to comment Share on other sites More sharing options...
Mark Rose Posted December 15, 2008 Share Posted December 15, 2008 I have a Dell D620 (Kalyway 10.5.5 / Nvidia / Dell Wireless and Bluetooth (350)). For the most part it is working well, but I can not get the Bluetooth module to be recognized. I installed chunnan PCMCIA kext and I get the following message during boot: "BTCoexistence feature not supported!" If anyone has seen this and has a fix, please let me know. I have a few other issues as well (sleep and poweroff after shutdown), but will deal with them later. Any and all help will be appreciated. Thanks! Mark Link to comment Share on other sites More sharing options...
Boombeng Posted December 15, 2008 Author Share Posted December 15, 2008 Hi, thx for the info Someone reported in another thread dell 370 bluetooth card (in a dell studio laptop) is working well with a dell Bluetooth mouse and keyboard, so there is a hope! Mark, you should read this thread, there is way to run your dell 350 : http://forum.insanelymac.com/index.php?s=&...ost&p=99351 I also have BTcoexistence not supported with -v mode boot. Did you try to use a bluetooth keyboard and mouse ? Are you able to transfer data from a phone with your BT card ? Link to comment Share on other sites More sharing options...
Boombeng Posted January 14, 2009 Author Share Posted January 14, 2009 Well i tried to edit IOBluetoothFamily.kext/Contents/Plugins/BroadcomUSBBluetoothHCIController.kext/Contents/Info.plist I added 2 entries under IOKitPersonalities : one with ID Vendor 0x413c (16700 in dec) ID Product 0x8157 (33111 in dec) and another with ID Vendor 0x413c (16700 in dec) ID Product 0x8158 (33112 in dec) Because this devices were known as USB Composite Device : The principal device (BCM2046B1) is already not in the plist : ID Product 0x4500 (17664 in dec) ID Vendor 0x0a5c (2652 indec) And If i add it, nothing changes Now we have this : The added devices are now known as "Bluetooth USB Host Controler" And with -v flag or dmesg, instead of before "BTCoexistence not supported" there is now this error message: E:[AppleUSBBluetoothHCIController][FindInterfaces] bulk IN pipe open failed! E:[AppleUSBBluetoothHCIController][FindInterfaces] some interface pipes were not found. Device is no good as a transport E:[AppleUSBBluetoothHCIController][initHardware] failedExit. SendHCIRequest failed, error (0xe00002c0)E:[AppleUSBBluetoothHCIController][FindInterfaces] bulk IN pipe open failed! E:[AppleUSBBluetoothHCIController][FindInterfaces] some interface pipes were not found. Device is no good as a transport E:[AppleUSBBluetoothHCIController][initHardware] failedExit. SendHCIRequest failed, error (0xe00002c0)Jettisoning kernel linker. But it still doesn't work... and I don't know if this is a good way, surly no because it doesn't work Any help and advises would be much appreciated thanks in advance Link to comment Share on other sites More sharing options...
mastrchee Posted May 13, 2009 Share Posted May 13, 2009 have u found a solution? or was it a dead-end? im expecting a dell laptop soon..so im looking around now Link to comment Share on other sites More sharing options...
bcc9 Posted June 28, 2009 Share Posted June 28, 2009 The dell xps1340 uses the dell bluetooth 370 as well so I'm interested in a solution for this. Seems to me that the changes to Info.plist should be for the usb device 413c:8156, which corresponds to the dell bluetooth controller, not 413c:8157 & 413c:8158 which correspond to the bluetooth HID keyboard & mouse devices respectively. I notice that 413c:8156 only shows up under linux after I flip bluetooth from HID to HCI mode with: hid2ch --tohci. Under OSX, I see no such usb device. So I'm thinking the problem is that under OSX, it's failing to put the controller into HCI mode and so the kexts don't initialize. Anybody know how to get the controller into HCI mode under OSX? I haven't seen any lsusb -v details from a real mac with a broadcom 2046. That'd be real handy to compare against and could confirm which of the sub-devices is the right one to be referenced by BroadcomUSBBluetoothHCIController. Link to comment Share on other sites More sharing options...
bcc9 Posted June 29, 2009 Share Posted June 29, 2009 So I managed to port the dell portion of hid2hci over to OSX's IOKit API. And guess what, it works! Once I run my custom hid2hci program the dell bluetooth 370 pops up and the bluetooth device & daemon appears. No need to hack Info.plist at all. BTW, the hid2hci program configures the dell bluetooth 370 via the usb device 413c:8158, which seems a bit odd, but whatever. Need to cleanup the code to make a package. Also, unfortunately, bluetooth is reverting back to HID mode upon resume from suspend, so it looks like this application will have to be re-run in /etc/rc.wakeup via sleepwatcher, so that bluetooth works cleanly upon wakeup. Better ideas? Link to comment Share on other sites More sharing options...
bcc9 Posted June 29, 2009 Share Posted June 29, 2009 Here is my OSX version of hid2hci. I have only ported over the dell support from the linux version of hid2hci (the original unix version also has logitech and csr support which I am unable to test and so I didn't bother with). By default, hid2hci will look for a dell wireless 370 bluetooth device and flip it from HID to HCI mode. You can specify other usb product numbers with the -p switch. For example, "hid2hci -p 8154" should work for the dell wireless 410 bluetooth, and "hid2hci -p 8162" should work for the dell wireless 365 bluetooth. Example: bash-3.2$ hid2hci hid2hci: OSX version by bcc9@insanelymac.com <bcc24x7@gmail.com> hid2hci: Version 1.0: supporting dell bluetooth devices only Bluetooth HCI configuration request succeeded bash-3.2$ I recommend setting up sleepwatcher and adding this program to sleepwatcher's /etc/rc.wakeup to get the bluetooth hardware automatically initialized upon resume from suspend and initial boot. hid2hci.1.0.zip Link to comment Share on other sites More sharing options...
Boombeng Posted June 29, 2009 Author Share Posted June 29, 2009 Thanks a lot Bcc9! Works like a charm First post and topic's title edited Link to comment Share on other sites More sharing options...
bcc9 Posted June 29, 2009 Share Posted June 29, 2009 Thanks a lot Bcc9! Works like a charm Great, glad it works for you too. PS: Unreleated, but, any news on the HDA driver support for dell IDT audio? Us xps 1340 folks are still stuck on the old 10.5.3 driver which is a bit of a problem. Link to comment Share on other sites More sharing options...
buffalo98 Posted July 4, 2009 Share Posted July 4, 2009 hi, I downloaded and ran the file, but i don't know how to use "hid2hci -p 8154". please help Link to comment Share on other sites More sharing options...
bcc9 Posted July 5, 2009 Share Posted July 5, 2009 hi, I downloaded and ran the file, but i don't know how to use "hid2hci -p 8154". please helpYou can try the command manually from the command line (terminal window) to verify that it works with your hardware. Once you've done that, the command can be automated by adding to sleepwatcher's /etc/rc.wakeup. Link to comment Share on other sites More sharing options...
Mr.Krabs Posted July 14, 2009 Share Posted July 14, 2009 Great news, and big thanx to bcc9 for making this possible. Will give it a try today, and hope my tethering with iPhone will work over bluetooth now Link to comment Share on other sites More sharing options...
buffalo98 Posted July 22, 2009 Share Posted July 22, 2009 You can try the command manually from the command line (terminal window) to verify that it works with your hardware. Once you've done that, the command can be automated by adding to sleepwatcher's /etc/rc.wakeup. Thanks bcc9, do you know where i can find how to get sleepwatcher's /etc/rc.wakeup? sorry for stupid question. I found some, but i'm not sure if it is, like here http://www.insanelymac.com/forum/lofiversi...hp/t107030.html Link to comment Share on other sites More sharing options...
jessa_jr Posted July 24, 2009 Share Posted July 24, 2009 Can I used this for my dell latitude d630 bluetoot 360 module. Link to comment Share on other sites More sharing options...
bcc9 Posted July 24, 2009 Share Posted July 24, 2009 Thanks bcc9, do you where i can find how to get sleepwatcher's /etc/rc.wakeup? sorry for stupid question. I found some, but i'm not sure if it is, like here http://www.insanelymac.com/forum/lofiversi...hp/t107030.html sleepwatcher is here: http://www.bernhard-baehr.de/ and its enclosed startup package creates /etc/rc.wakeup. I currently have addedsleep 2 /usr/local/bin/hid2hci To the end of mine. I'm not totally happy with this solution however, as sleepwatcher doesn't even run /etc/rc.wakeup until fsck has completed and so my bluetooth mouse doesn't come online as quickly as I'd like. Can I used this for my dell latitude d630 bluetoot 360 module.I only listed 3 models of dell bluetooth, the 3 specifically listed in the source code. I don't know about that model, you'd need to figure out whether dell supports it using hid2hci under linux or what. If they got it working under linux it should work here too. Or just try it! Link to comment Share on other sites More sharing options...
bcc9 Posted August 29, 2009 Share Posted August 29, 2009 Here is a driver version of my hid2hci program. Benefits vs standalone program: Leverages operating system to auto-match any eligible bluetooth device, no configuration required. There are no suspend/resume scripts ala sleepwatcher required. Driver reloads right away upon resume Handles reloading when you turn off/on of the wireless card via the laptop's hotkey. Driver is able to turn on HCI mode a lot faster than sleepwatcher as it runs from the kext cache instead of after the system fsck I've configured the driver's plist to auto-match the device codes for the following cards, if I missed any, they could simply be added to the Info.plist Dell Wireless 365 Bluetooth Dell Wireless 370 Bluetooth Dell Wireless 410 Bluetooth The only drawback I've found is that the kext needs to be in /System/Library/Extensions for the system to auto-load the kext if you boot with wireless turned off and then turn it on sometime later. If the kext is instead in /Extra the system errors out when it tries to load the kext in this case. If someone knows how to fix this dependency please let me know. OSX 10.5.x and 10.6/10.7 versions included, auto-selected by installer script. If you boot with -v mode, you should see DellBluetoothHCI loading right after the USB drivers. Update: fixed 10.6 version's plist so that it loads properly in 64 bit mode. Update2: I've added a pkg version of DellBluetoothHCI. This package version automatically selects the 10.5.x or 10.6/10.7 kext depending upon the installed OS. The new version also automatically installs the kext into /System/Library/Extensions with the right permissions. Update 3: Source code for kext attached DellBluetoothHCI.1.2.pkg.zip DellBluetoothHCI.1.2.src.zip Link to comment Share on other sites More sharing options...
zmsilver Posted August 29, 2009 Share Posted August 29, 2009 Here is a driver version of my hid2hci program. I have a dell 1340, however I have not been successful in getting my bluetooth to work using this kext, or the application that you previously posted. The kext loads successfully, so I'm not quite sure what is wrong...any ideas? Link to comment Share on other sites More sharing options...
bcc9 Posted August 29, 2009 Share Posted August 29, 2009 I have a dell 1340, however I have not been successful in getting my bluetooth to work using this kext, or the application that you previously posted. The kext loads successfully, so I'm not quite sure what is wrong...any ideas?So, any troubleshooting info? I assume by load successfully you see "DellBluetoothHCI: Bluetooth HCI configuration request succeeded" printed out at boot time when you boot with -v, and that the broadcom device shows up under system profiler->usb. What about system profiler->bluetooth, that should show bluetooth all set up. What about the bluetooth icon on the desktop bar, does it show 'Bluetooth: off' or 'Bluetooth: on' or not present? Does turning off&on the bluetooth radio using the hot-key fix anything? Link to comment Share on other sites More sharing options...
zmsilver Posted August 29, 2009 Share Posted August 29, 2009 So, any troubleshooting info? I assume by load successfully you see "DellBluetoothHCI: Bluetooth HCI configuration request succeeded" printed out at boot time when you boot with -v, and that the broadcom device shows up under system profiler->usb. What about system profiler->bluetooth, that should show bluetooth all set up. What about the bluetooth icon on the desktop bar, does it show 'Bluetooth: off' or 'Bluetooth: on' or not present? Does turning off&on the bluetooth radio using the hot-key fix anything? When booting in verbose mode, I have not been able to see the kext load. When I kextload in terminal, it says 'kextload: /System/Library/Extensions/DellBluetoothHCI.kext loaded successfully'. In system profiler it says 'No information found'. I have no bluetooth icon in the menubar and the hot-key only seems to toggle wi-fi even though it is set to toggle both in the BIOS. Unfortunately, I do not have xp or vista on this machine to determine if I have a faulty bluetooth radio. Link to comment Share on other sites More sharing options...
bcc9 Posted August 29, 2009 Share Posted August 29, 2009 When booting in verbose mode, I have not been able to see the kext load. When I kextload in terminal, it says 'kextload: /System/Library/Extensions/DellBluetoothHCI.kext loaded successfully'. In system profiler it says 'No information found'. I have no bluetooth icon in the menubar and the hot-key only seems to toggle wi-fi even though it is set to toggle both in the BIOS. Unfortunately, I do not have xp or vista on this machine to determine if I have a faulty bluetooth radio. Again, what about system profiler->usb, what devices do you see under usb bus? You should see BCM2046B1 if you have the dell wireless 370 bluetooth and it's turned on. Link to comment Share on other sites More sharing options...
zmsilver Posted August 29, 2009 Share Posted August 29, 2009 Again, what about system profiler->usb, what devices do you see under usb bus? You should see BCM2046B1 if you have the dell wireless 370 bluetooth and it's turned on. All I see is the webcam under the usb bus Link to comment Share on other sites More sharing options...
bcc9 Posted August 29, 2009 Share Posted August 29, 2009 All I see is the webcam under the usb busSo then it seems you don't have the bluetooth device powered up. Is the wi-fi hotkey above F7 dim/off? It should be fully lit. Check also that you have the wi-fi key set to enable 802.11&PAN (PAN=bluetooth) in BIOS. Link to comment Share on other sites More sharing options...
Recommended Posts