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. 
Boombeng

Dell Wireless 365/370/410 Bluetooth

84 posts in this topic

Recommended Posts

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 :D

 

-----------------------------------------------------------------------------------------------------

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

8262 in hexadecimal reads 2046 and the hexadecimal of 17664 is 4500. I am working on finding the locations of these nubers now

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 ?

Share this post


Link to post
Share on other sites

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 :

post-290278-1231969628_thumb.jpg

 

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 :

post-290278-1231970088_thumb.jpg

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

Share this post


Link to post
Share on other sites

have u found a solution? or was it a dead-end? im expecting a dell laptop soon..so im looking around now

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
hi, I downloaded and ran the file, but i don't know how to use "hid2hci -p 8154". please help
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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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 added
sleep 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!

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

 

 

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?

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
All I see is the webcam under the usb bus
So 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.

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.

×