Bluetooth: Add support for Broadcom BCM20702A0.
PATCH 1/1 Bluetooth: Add support for Broadcom BCM20702A0.
Add a new entry (413c:8197) to device ID table.
--- drivers/bluetooth/btusb.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
drivers/bluetooth/btusb.c +3 -0
@@ -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 */ };
Signature · 1 line
1.7.6.3
Marcel Holtmann
maintainerHi Jesse,
Quoted 12 lines
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(-)drivers/bluetooth/btusb.c +0
-0
drivers/bluetooth/btusb.c static struct usb_device_id btusb_table[] = { · line 96
Quoted 6 lines
drivers/bluetooth/btusb.c +3
-0@@ -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
Quoted 17 lines · Marcel Holtmann
Hi Jesse,
Quoted 15 lines
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(-)drivers/bluetooth/btusb.c +0
-0@@ -91,6 +91,9 @@ static struct usb_device_id btusb_table[] = {/* Canyon CN-BTU1 with HID interfaces */ { USB_DEVICE(0x0c10, 0x0000) },
Quoted 6 lines
drivers/bluetooth/btusb.c static struct usb_device_id btusb_table[] = { · line 96
Quoted 3 lines
drivers/bluetooth/btusb.c +3
-0+/* 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
Marcel Holtmann
maintainerHi Jesse,
Quoted 3 lines
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
Quoted 8 lines · Marcel Holtmann
Hi Jesse,
Quoted 3 lines
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
Quoted 26 lines · Jesse Sung
Quoted 8 lines · Marcel Holtmann
Hi Jesse,
Quoted 3 lines
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)
Quoted 2 lines
Thanks,
Jesse
Hi Marcel,
If there's any other info needed, please kindly let me know.
Thanks,
Jesse
Am Mittwoch, 21. September 2011, 03:39:03 schrieb Jesse Sung:
Quoted 21 lines
Quoted 2 lines
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
idVendor0x413cDell Computer Corp.
idProduct0x8197
bcdDevice 1.12
iManufacturer 1 Broadcom Corp
iProduct 2 BCM20702A0
[..]
Quoted 7 lines
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
Hi Jesse,
Quoted 1 line · Jesse Sung
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
Quoted 10 lines · Gustavo Padovan
Hi Jesse,
Quoted 1 line · Jesse Sung
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
Quoted 1 line
From
7ced2be26f17eadc63c6b7fe0d37f948d4fef87cMon Sep 17 00:00:00 2001
From: Wen-chien Jesse Sung <[email protected]>
Date: Tue, 8 Nov 2011 14:30:22 +0800
Subject: [PATCH] Bluetooth: Add support for Broadcom BCM20702A0
Since this device declares itself as vendor specific, must add a new entry to device ID table to support it.
usb-device output of this device:
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)
--- drivers/bluetooth/btusb.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
drivers/bluetooth/btusb.c +3 -0
@@ -100,6 +100,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 */ };
Signature · 1 line
1.7.7.1
Hi Jesse,
Quoted 7 lines · Jesse Sung
Quoted 6 lines · Gustavo Padovan
Hi Jesse,
Quoted 1 line · Jesse Sung
Add a new entry (413c:8197) to device ID table.
Quoted 8 lines
Quoted 4 lines
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