2005-06-27 10:53:40

by Al

[permalink] [raw]
Subject: [Bluez-users] ISSC USB dongle patch

Hi,

I have an ISSC USB dongle and search the last year's archive to find
the patch to
make it work with BlueZ.

I just wonder how it works. What's black_ids[] for and the purpose of
adding .driver_info = HCI_RESET?

struct usb_device_id bluetooth_ids[]
struct usb_device_id ignore_ids[] or black_ids[]

thanks a lot,

Al



=================================================================
it looks like that this device needs the HCI_Reset before it can run an
inquiry. Funny is that every other HCI command work without it. Try the
attached patch.

Regards

Marcel


===== drivers/bluetooth/hci_usb.c 1.53 vs edited =====
--- 1.53/drivers/bluetooth/hci_usb.c 2004-07-16 12:55:02 +02:00
+++ edited/drivers/bluetooth/hci_usb.c 2004-07-31 12:13:10 +02:00
<at> <at> -98,6 +98,9 <at> <at>
/* Broadcom BCM2035 */
{ USB_DEVICE(0x0a5c, 0x200a), .driver_info = HCI_RESET },

+ /* ISSC Bluetooth Adapter v3.1 */
+ { USB_DEVICE(0x1131, 0x1001), .driver_info = HCI_RESET },




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users


2005-06-27 11:14:08

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [Bluez-users] ISSC USB dongle patch

Hi Al,

> I have an ISSC USB dongle and search the last year's archive to find
> the patch to
> make it work with BlueZ.
>
> I just wonder how it works. What's black_ids[] for and the purpose of
> adding .driver_info = HCI_RESET?
>
> struct usb_device_id bluetooth_ids[]
> struct usb_device_id ignore_ids[] or black_ids[]

in the hci_usb driver from the 2.6.12 kernel we have bluetooth_ids and
blacklist_ids structures. The bluetooth_ids is the MODULE_DEVICE_TABLE
which is used for automatic module loading. It includes the generic
Bluetooth USB class and some weird devices where the class descriptor is
broken. With the blacklist_ids we define needed hacks and workarounds
for dongles that not fully comply to the Bluetooth HCI specification.

One of these workaround (aka quirks) is HCI_RESET. It means that we have
to send an HCI_Reset command first, before continuing with the normal
initialization sequence. In general a HCI_Reset is not needed, because
the device should be in a sane state after the USB plugin.

The case I needed to add the HCI_Reset to the ISSC dongle was that the
inquiry is not working when you don't send it.

Regards

Marcel




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users