Opened 8 years ago

Last modified 3 years ago

#12785 new bug

Bluetooth: Local device not detected

Reported by: vidrep Owned by: oruizdorantes
Priority: normal Milestone: Unscheduled
Component: Network & Internet/Bluetooth Version: R1/Development
Keywords: Cc: modeenf
Blocked By: Blocking:
Platform: All

Description

hrev50321 x86_gcc2 IOGEAR Bluetooth 4.0 USB Micro Adapter The device appears in listusb, but is not shown in Bluetooth settings "Local devices found on system" listusb attached screenshot1 attached

Attachments (4)

listusb (16.9 KB ) - added by vidrep 8 years ago.
screenshot1.png (123.4 KB ) - added by vidrep 8 years ago.
broadcom_device.patch (354 bytes ) - added by oruizdorantes 8 years ago.
Patch to add to the supported devices list "BCM20702A0 Bluetooth 4.0"
syslog (136.4 KB ) - added by vidrep 8 years ago.

Download all attachments as: .zip

Change History (16)

by vidrep, 8 years ago

Attachment: listusb added

by vidrep, 8 years ago

Attachment: screenshot1.png added

comment:1 by oruizdorantes, 8 years ago

Looks like the device has an incorrect Class definition:

214 [Device /dev/bus/usb/1/0/5] 215 Class .................. 0xff (Vendor specific) 216 Subclass ............... 0x01 217 Protocol ............... 0x01

Class should be 0xe0

https://github.com/haiku/haiku/blob/master/src/add-ons/kernel/drivers/bluetooth/h2/h2generic/h2generic.h#L32

You could try to add this specific class/subclasss/protocol/vendor/product ID in:

https://github.com/haiku/haiku/blob/master/src/add-ons/kernel/drivers/bluetooth/h2/h2generic/h2generic.cpp#L70

comment:2 by vidrep, 8 years ago

Can you write a patch that I can apply locally to test?

by oruizdorantes, 8 years ago

Attachment: broadcom_device.patch added

Patch to add to the supported devices list "BCM20702A0 Bluetooth 4.0"

comment:3 by oruizdorantes, 8 years ago

Check the attached patch, note is not generated with git, you will need to modify manually the header to apply it.

comment:4 by vidrep, 8 years ago

There was a missing comma after 0xff in the patch, causing the build to fail. However, after fixing that and building h2generic and placing it into non-packaged, it still does not detect the dongle as a local device.

comment:5 by oruizdorantes, 8 years ago

Did you perform a reboot? Can you attach the syslog?

comment:6 by vidrep, 8 years ago

I have attached the syslog. It appears that only the system driver located in /boot/system/add-ons/kernel/drivers/bin is being loaded, and not the one I built, even though it was placed in both /boot/system/non-packaged/add-ons/kernel/drivers/bin and in/boot/home/config/non-packaged/add-ons/kernel/drivers/bin.

by vidrep, 8 years ago

Attachment: syslog added

comment:7 by vidrep, 8 years ago

As an experiment I built a haiku-anyboot.image from master incorporating the changes to the h2generic driver. After installing it to a spare HD partition it still does not detect the device.

comment:8 by vidrep, 8 years ago

I'm planning on picking up another bluetooth dongle based upon the Broadcom BCM2045 chipset. I'm hoping for better luck with that one. Will follow up tomorrow.

comment:9 by vidrep, 8 years ago

Today I bought another bluetooth adapter: StarTech USBBT2EDR Chipset Broadcom BCM2045 This one is detected by Haiku as a local device, and can "see" my iPhone5S. However, the problem is that I cannot pair the iPhone so that any file transfers can be completed.

The previous device that I tested still remains completely unusable on Haiku: IOGear GBU521 Chipset Broadcom BCM20702A

comment:10 by oruizdorantes, 8 years ago

The bluetooth support in Haiku is up to L2cap layer, the FTP profile is not implemented. You can create l2cap connections as a developer accessing the socket interface.

Check more info: http://urnenfeld.blogspot.de/search/label/bluetooth

comment:11 by modeenf, 3 years ago

Should we close this? Perhaps Take the Patch and aplay it to source? If so I can do that, have another usb that don't work so I need to add my anyway..

comment:12 by modeenf, 3 years ago

Cc: modeenf added
Note: See TracTickets for help on using tickets.