linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: "Yao, Costa" <cqyao@qca.qualcomm.com>
Cc: "padovan@profusion.mobi" <padovan@profusion.mobi>,
	"linux-bluetooth@vger.kernel.org"
	<linux-bluetooth@vger.kernel.org>
Subject: RE: [PATCH] Bluetooth: btusb: Use USB_INTERFACE_INFO to do device matching
Date: Wed, 16 Nov 2011 18:14:31 +0900	[thread overview]
Message-ID: <1321434874.15441.524.camel@aeonflux> (raw)
In-Reply-To: <07BBB2AAB1A10A488A2AD166C7CB8B0DEF39DB@nasanexd02b.na.qualcomm.com>

Hi Costa,

> I have gone through commits about the adding of USB_DEVICE entry, and found as follow:
> 
> For Broadcom SoftSailing reporting vendor specific entry, no detailed commit description.

I think that this got posted to the mailing list at least.

> For Apple MacBookPro7,1 entry, its interface class is 0xff, so cannot be removed.
> 
> For Apple iMac11,1 entry, its interface class is 0xff, so cannot be removed.
> 
> For Apple MacBookPro6,2 entry, its interface class is 0xff, so cannot be removed.
> 
> For Apple MacBookAir3,1, MacBookAir3,2 entry, its interface class is 0xff, so cannot be removed.
> 
> For Apple MacBookAir4,1 entry, no detailed commit description.
> 
> For Apple MacBookPro8,2 entry, no detailed commit description.
> 
> For Apple MacMini5,1, no detailed commit description.

for all the MacBook its seems we can use USB_DEVICE_AND_INTERFACE_INFO
with 0xff, 0x01, 0x01. So at least we would just match the first
interface and not all interfaces of these chips.

    T:  Bus=03 Lev=02 Prnt=03 Port=02 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
    D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
    P:  Vendor=05ac ProdID=821b Rev= 0.34
    S:  Manufacturer=Apple Inc.
    S:  Product=Bluetooth USB Host Controller
    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)
    E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
    I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
    I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
    I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  32 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  32 Ivl=1ms
    I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
    I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
    E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
    E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
    I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
    E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
    E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
    I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)

Especially since the SCO endpoints have a proper 0xe0, 0x01, 0x01
descriptor our check here becomes simpler and can be made generic.

> For Ericsson entry, no commit description.
> 
> For Canyon CN-BTU1 entry, no detailed commit description.

These two are really just old and messed up devices. We have no chance
to do anything here.

> For BCM20702A0 entry, its interface class is 0xff, so it cannot be removed.

Maybe it is similar as the Apple dongles. It uses 0xff, 0x01, 0x01 and
then we just should USB_DEVICE_AND_INTERFACE_INFO as well here.

> For "AVM BlueFRITZ", "Bluetooth Ulttraport Module from IBM", and "ALPS Modules with non-standard id" entries, no related commit description.

I do have the BlueFritz at home and can check up on it, but if we trust
the Internet, then it is like this:

I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=057c ProdID=3800 Rev=15.00
S:  Manufacturer=Bluetooth Device
S:  Product=Bluetooth Device
S:  SerialNumber=2C1F880***
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=200mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms

So an USB_DEVICE_AND_INTERFACE_INFO with 0xff, 0xff, 0xff would be fine.

And for the old Ultraport and ALPS, we most likely will not easily find
these devices.

Regards

Marcel



  reply	other threads:[~2011-11-16  9:14 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-14  6:34 [PATCH] Bluetooth: btusb: Use USB_INTERFACE_INFO to do device matching Yao, Costa
2011-11-14  9:32 ` Marcel Holtmann
2011-11-14 10:20   ` Yao, Costa
2011-11-16  8:29   ` Yao, Costa
2011-11-16  9:14     ` Marcel Holtmann [this message]
  -- strict thread matches above, loose matches on Subject: below --
2011-11-14 11:37 Yao, Costa
2011-11-15  2:23 ` Marcel Holtmann
2011-11-15  4:53 Yao, Costa
2011-11-16  1:16 ` Marcel Holtmann
2011-11-16  2:14   ` Yao, Costa
2011-11-16  5:45     ` Marcel Holtmann
2011-11-16 20:24     ` Gustavo Padovan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1321434874.15441.524.camel@aeonflux \
    --to=marcel@holtmann.org \
    --cc=cqyao@qca.qualcomm.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=padovan@profusion.mobi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).