Hi everybody,
I recently bought a Logitech Quickcam Fusion. The comments in the Windows
driver seemed to imply that the device complies with the USB Video Class, so
I thought I would give it a go and see if I can hack a simple Video Class
driver.
After plugging the webcam, oh joy! the ALSA USB Audio driver detected the
microphone. Would Logitech start complying with standards ? Anyway, I soon
got disillusionned when I read the device descriptors using lsusb. The device
class is 0xff (vendor), and there are 3 unknown descriptors.
UNRECOGNIZED: 08 0b 00 02 ff 03 00 00
UNRECOGNIZED: 20 41 01 08 82 06 61 63 70 50 ab 49 b8 cc b3 85 5e 8d 22 51 03
01 04 03 19 00 00 00 00 00 00 00
UNRECOGNIZED: 20 41 01 0a 82 06 61 63 70 50 ab 49 b8 cc b3 85 5e 8d 22 52 01
01 04 03 00 40 00 00 00 00 00 00
The first one doesn't worry me. usbutils (and for that matter libusb) are not
aware of the IAD (Interface Association Descriptor) which are used by the
Video Class compliant devices (among others).
The two other ones are more puzzling. I haven't been able to figure out what
they are. Do they seem familiar to anybody ?
I pasted the beginning of the device descriptors' dump at the end of this
e-mail. Even though the device reports a vendor class, the subclass numbers
match the Video Control and Video Streaming subclasses, and the alternate
settings for interface 1 (not all are shown here) seem to be compatible with
a Video Class device.
I'll try sending a few Video Class commands later today to see if they are
recognized. Has anyone played with the Quickcam Fusion before ? Have you got
any success (or failure) that you can report ?
Laurent Pinchart
------------------------------
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 1
bMaxPacketSize0 64
idVendor 0x046d Logitech, Inc.
idProduct 0x08c1
bcdDevice 0.05
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 1361
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
MaxPower 500mA
UNRECOGNIZED: 08 0b 00 02 ff 03 00 00
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 1
bInterfaceProtocol 0
iInterface 0
UNRECOGNIZED: 20 41 01 08 82 06 61 63 70 50 ab 49 b8 cc b3 85 5e 8d 22
51 03 01 04 03 19 00 00 00 00 00 00 00
UNRECOGNIZED: 20 41 01 0a 82 06 61 63 70 50 ab 49 b8 cc b3 85 5e 8d 22
52 01 01 04 03 00 40 00 00 00 00 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 8
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 2
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 1
Transfer Type Isochronous
Synch Type None
Usage Type Data
wMaxPacketSize 0x00c0 1x 192 bytes
bInterval 1
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel