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
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to