[Libdlo] Fwd: Just got a Cables Unlimited usb-av2010 to test

akephart at akephart.org akephart at akephart.org
Wed Apr 6 09:06:23 PDT 2011


Well, the good news is that it definitely looks like an HWA, rather than
a funky firmware download interface, so that's one level of difficulty
out of the way.
The bad news is that it looks like an HWA, so it definitely means you'll
need an HWA driver.  There was some work done towards a Linux HWA driver
a few years ago, but I don't think that it ever made it to production
quality (plus it was heavily tied to an early Intel device). 

The next bit to determine is the nature of the other end of the setup --
it will be either a native WUSB device (which would be good news), or it
will hide the DisplayLink part behind a DWA (Device Wire Adapter).   I'm
not sure how you can find that out, though, without plugging it all into
a supported platform and looking at the setup.
 
So, your next steps will have to be:
(1) Get a working HWA driver, either from cleaning up and generalizing
the existing code or getting something from the wireless vendor.
(2) If the device is a DWA, you'll need to get a DWA driver, which
you'll most likely need to get from the wireless vendor (the DWA and HWA
share a lot of code, so you might be able to build off the existing HWA
base).
 
Not terribly promising or likely, but not wholly inconceivable, either.

 
-andrew

 



On April 6, 2011 at 10:15 AM Chris Hill <hill101 at gmail.com> wrote:


> OK I did that.
> 
> On Wed, Apr 6, 2011 at 9:57 AM, akephart at akephart.org
> [mailto:akephart at akephart.org] <akephart at akephart.org
> [mailto:akephart at akephart.org] >wrote:
> 
> > First, get the usb pid/vid values (XXXX:YYYY) for the target device
> > with
> > 'lsusb'.  Then, list the full descriptor set with 'lsusb -v -d
> > XXXX:YYYY'.  In the listing, you'll see one or more interface
> > descriptors, and each of those will have a value for
> > bInterfaceClass. 
> > That value will tell you what usb class the particular interface
> > supports, if any.  There is also a device class indication in the
> > device
> > descriptor, but it will usually be set to a value that isn't
> > directly
> > useful (e.g. defined at interface level or miscellaneous device,
> > that
> > kind of thing). 

> >  
> > If it's a spec-compliant HWA, it'll have bInterfaceClass=E0h
> > (wireless
> > controller) and bInterfaceSubclass=02h (WUSB wire adapter).
> > 

> 
> Those two values come out like this:
> bInterfaceClass 224 Wireless
> bInterfaceSubClass 1 Radio Frequency
> The full code of what came out is like this:
>  
> sudo lsusb
> Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
> Bus 002 Device 003: ID 0bda:0158 Realtek Semiconductor Corp. USB 2.0
> multicard reader
> Bus 002 Device 002: ID 04f2:b070 Chicony Electronics Co., Ltd
> Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> Bus 001 Device 006: ID 13cf:1200 Wisair Ltd.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
>  
>  
> sudo lsusb -v -d 13cf:1200
>  
> Bus 001 Device 006: ID 13cf:1200 Wisair Ltd.
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 239 Miscellaneous Device
> bDeviceSubClass 2 ?
> bDeviceProtocol 2 Wire Adapter Multifunction Peripheral
> bMaxPacketSize0 64
> idVendor 0x13cf Wisair Ltd.
> idProduct 0x1200
> bcdDevice 1.00
> iManufacturer 2
> iProduct 1 Wireless USB Dongle
> iSerial 3 123456789 [tel:3%20123456789]
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 109
> bNumInterfaces 2
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0x80
> (Bus Powered)
> MaxPower 500mA
> Security Descriptor:
> bLength 5
> bDescriptorType 12
> wTotalLength 10
> bNumEncryptionTypes 1
> Encryption Type Descriptor:
> bLength 5
> bDescriptorType 14
> bEncryptionType 2 UNSECURE
> bEncryptionValue 1
> bAuthKeyIndex 0
> ** UNRECOGNIZED: 08 30 1a 00 8c 00 00 01
> ** UNRECOGNIZED: 06 31 5f 00 00 00
> ** UNRECOGNIZED: 06 32 cc 00 00 00
> ** UNRECOGNIZED: 06 34 6e 00 00 02
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 3
> bInterfaceClass 224 Wireless
> bInterfaceSubClass 2 Wireless USB Wire Adapter
> bInterfaceProtocol 1 Host Wire Adapter Control/Data Streaming
> iInterface 0
> ** UNRECOGNIZED: 0e 21 00 01 05 00 19 00 10 02 0d 00 0a 00
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 1
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x01 EP 1 OUT
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x82 EP 2 IN
> bmAttributes 2
> Transfer Type Bulk
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0200 1x 512 bytes
> bInterval 0
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 224 Wireless
> bInterfaceSubClass 1 Radio Frequency
> bInterfaceProtocol 2 Ultra WideBand Radio Control
> iInterface 0
> Radio Control Interface Class Descriptor:
> bLength 4
> bDescriptorType 35
> bcdRCIVersion 1.00
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x83 EP 3 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0040 1x 64 bytes
> bInterval 1
> Device Qualifier (for other device speed):
> bLength 10
> bDescriptorType 6
> bcdUSB 2.00
> bDeviceClass 239 Miscellaneous Device
> bDeviceSubClass 2 ?
> bDeviceProtocol 2 Wire Adapter Multifunction Peripheral
> bMaxPacketSize0 64
> bNumConfigurations 1
> Device Status: 0x0000
> (Bus Powered)
>  
> 
> 
> > It may also be defined as some kind of firmware download device (DFU
> > or
> > similar), and sit expectantly for an intermediate driver to download
> > the
> > firmware, which will then require the HWA driver.
> >  
> > It may also be completely vendor-specific, in which case all bets
> > are
> > off.
> > 

> 
> I am not sure if this indicates vendor specific or firmware download.
> 
> Thanks again.
> 
> Chris
> 
> 
> 
> 
> 
> --
> <a href="http://www.finalescape.com/home.php?refcode=AgKF5C">Join
> FinalEscape!</a> 
> 
> For those of you who like text adventuring with a touch of cyberpunk.
>


More information about the Libdlo mailing list