2011-09-20 07:29:19

by Jesse Sung

[permalink] [raw]
Subject: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0.

Add a new entry (413c:8197) to device ID table.

Signed-off-by: Wen-chien Jesse Sung <[email protected]>
---
drivers/bluetooth/btusb.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 91d13a9..d786bb8 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -91,6 +91,9 @@ static struct usb_device_id btusb_table[] = {
/* Canyon CN-BTU1 with HID interfaces */
{ USB_DEVICE(0x0c10, 0x0000) },

+ /* Broadcom BCM20702A0 */
+ { USB_DEVICE(0x413c, 0x8197) },
+
{ } /* Terminating entry */
};

--
1.7.6.3



2011-09-21 14:57:21

by Jesse Sung

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0.

On 09/21/2011 03:53 PM, Marcel Holtmann wrote:
> Hi Jesse,
>
>> btusb would not take care of this device without its id in the table.
>>
>> If the output of usb-devices is still needed, please let me know.
>
> yes, I just wanna see usb-devices and not go through 3 pages of verbose
> lsusb output since that is not helping me.

Hi Marcel,

usb-devices output:

T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=413c ProdID=8197 Rev=01.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=D0DF9AA9C9F1
C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

Thanks,
Jesse

2011-09-21 08:45:22

by Oliver Neukum

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0.

Am Mittwoch, 21. September 2011, 03:39:03 schrieb Jesse Sung:
> > please prove that this is needed. What does usb-devices tell you about
> > this device?
>=20
> Hi Marcel,
>=20
> Currently I only have the output of lsusb -v at hand:
>=20
> Bus 001 Device 003: ID 413c:8197 Dell Computer Corp.
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 255 Vendor Specific Class
> bDeviceSubClass 1
> bDeviceProtocol 1
> bMaxPacketSize0 64
> idVendor 0x413c Dell Computer Corp.
> idProduct 0x8197
> bcdDevice 1.12
> iManufacturer 1 Broadcom Corp
> iProduct 2 BCM20702A0
[..]
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 3
> bInterfaceClass 255 Vendor Specific Class

Hi,

this is really all you need. As soon as it reports that class, you need to =
have
the vendor:device in the driver to bind. Otherwise usbcore won't even probe.

Regards
Oliver

=2D-=20
=2D - -=20
SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imend=C3=B6r=
ffer, HRB 16746 (AG N=C3=BCrnberg)=20
Maxfeldstra=C3=9Fe 5 =20
90409 N=C3=BCrnberg=20
Germany=20
=2D - -=20

2011-09-21 07:53:28

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0.

Hi Jesse,

> btusb would not take care of this device without its id in the table.
>
> If the output of usb-devices is still needed, please let me know.

yes, I just wanna see usb-devices and not go through 3 pages of verbose
lsusb output since that is not helping me.

Regards

Marcel



2011-09-21 01:39:03

by Jesse Sung

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0.

On 09/20/2011 09:05 PM, Marcel Holtmann wrote:
> Hi Jesse,
>
>> Add a new entry (413c:8197) to device ID table.
>>
>> Signed-off-by: Wen-chien Jesse Sung<[email protected]>
>> ---
>> drivers/bluetooth/btusb.c | 3 +++
>> 1 files changed, 3 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
>> index 91d13a9..d786bb8 100644
>> --- a/drivers/bluetooth/btusb.c
>> +++ b/drivers/bluetooth/btusb.c
>> @@ -91,6 +91,9 @@ static struct usb_device_id btusb_table[] = {
>> /* Canyon CN-BTU1 with HID interfaces */
>> { USB_DEVICE(0x0c10, 0x0000) },
>>
>> + /* Broadcom BCM20702A0 */
>> + { USB_DEVICE(0x413c, 0x8197) },
>> +
>
> please prove that this is needed. What does usb-devices tell you about
> this device?

Hi Marcel,

Currently I only have the output of lsusb -v at hand:

Bus 001 Device 003: ID 413c:8197 Dell Computer Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 1
bDeviceProtocol 1
bMaxPacketSize0 64
idVendor 0x413c Dell Computer Corp.
idProduct 0x8197
bcdDevice 1.12
iManufacturer 1 Broadcom Corp
iProduct 2 BCM20702A0
iSerial 3 D0DF9AA9C513
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 218
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0000 1x 0 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0009 1x 9 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0009 1x 9 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 2
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0011 1x 17 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0011 1x 17 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 3
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0019 1x 25 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0019 1x 25 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 4
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0021 1x 33 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0021 1x 33 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 5
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 1
bInterfaceProtocol 1
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0031 1x 49 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x0031 1x 49 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 1
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 254 Application Specific Interface
bInterfaceSubClass 1 Device Firmware Update
bInterfaceProtocol 1
iInterface 0
Device Firmware Upgrade Interface Descriptor:
bLength 9
bDescriptorType 33
bmAttributes 5
Will Not Detach
Manifestation Tolerant
Upload Unsupported
Download Supported
wDetachTimeout 5000 milliseconds
wTransferSize 64 bytes
bcdDFUVersion 1.10
Device Status: 0x0001
Self Powered

btusb would not take care of this device without its id in the table.

If the output of usb-devices is still needed, please let me know.

Thanks,
Jesse

2011-09-20 13:05:31

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0.

Hi Jesse,

> Add a new entry (413c:8197) to device ID table.
>
> Signed-off-by: Wen-chien Jesse Sung <[email protected]>
> ---
> drivers/bluetooth/btusb.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> index 91d13a9..d786bb8 100644
> --- a/drivers/bluetooth/btusb.c
> +++ b/drivers/bluetooth/btusb.c
> @@ -91,6 +91,9 @@ static struct usb_device_id btusb_table[] = {
> /* Canyon CN-BTU1 with HID interfaces */
> { USB_DEVICE(0x0c10, 0x0000) },
>
> + /* Broadcom BCM20702A0 */
> + { USB_DEVICE(0x413c, 0x8197) },
> +

please prove that this is needed. What does usb-devices tell you about
this device?

Regards

Marcel



2011-10-31 19:33:54

by Gustavo Padovan

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0.

Hi Jesse,

* Jesse Sung <[email protected]> [2011-09-20 15:29:19 +0800]:

> Add a new entry (413c:8197) to device ID table.

Can I get the output of usbdevices in the commit message, please. Then we can
prove that adding it to the device ID table is really necessary.

Gustavo

2011-10-25 08:41:36

by Jesse Sung

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0.

On 09/21/2011 10:57 PM, Jesse Sung wrote:
> On 09/21/2011 03:53 PM, Marcel Holtmann wrote:
>> Hi Jesse,
>>
>>> btusb would not take care of this device without its id in the table.
>>>
>>> If the output of usb-devices is still needed, please let me know.
>>
>> yes, I just wanna see usb-devices and not go through 3 pages of verbose
>> lsusb output since that is not helping me.
>
> Hi Marcel,
>
> usb-devices output:
>
> T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
> D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
> P: Vendor=413c ProdID=8197 Rev=01.12
> S: Manufacturer=Broadcom Corp
> S: Product=BCM20702A0
> S: SerialNumber=D0DF9AA9C9F1
> C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA
> I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
> I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
> I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
> I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
>
> Thanks,
> Jesse

Hi Marcel,

If there's any other info needed, please kindly let me know.

Thanks,
Jesse

2011-11-08 15:34:26

by Gustavo Padovan

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0.

Hi Jesse,

* Jesse Sung <[email protected]> [2011-11-08 14:51:52 +0800]:

> On 11/01/2011 03:33 AM, Gustavo Padovan wrote:
> >Hi Jesse,
> >
> >* Jesse Sung<[email protected]> [2011-09-20 15:29:19 +0800]:
> >
> >>Add a new entry (413c:8197) to device ID table.
> >
> >Can I get the output of usbdevices in the commit message, please. Then we can
> >prove that adding it to the device ID table is really necessary.
> >
> > Gustavo
>
> Hi Gustavo,
>
> Sure! Modified patch attached. :)

It's applied, thanks.

Gustavo

2011-11-08 06:51:52

by Jesse Sung

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0.

On 11/01/2011 03:33 AM, Gustavo Padovan wrote:
> Hi Jesse,
>
> * Jesse Sung<[email protected]> [2011-09-20 15:29:19 +0800]:
>
>> Add a new entry (413c:8197) to device ID table.
>
> Can I get the output of usbdevices in the commit message, please. Then we can
> prove that adding it to the device ID table is really necessary.
>
> Gustavo

Hi Gustavo,

Sure! Modified patch attached. :)

Thanks,
Jesse


Attachments:
0001-Bluetooth-Add-support-for-Broadcom-BCM20702A0.patch (1.48 kB)