Hi Johannes,
On Saturday 07 June 2014 23:51:43 Johannes Berg wrote:
> I just obtained a new (special-purpose) webcam, and it doesn't seem to
> work at all. On kernel torvals/linux.git next branch, it doesn't even
> really connect, on 3.13 (which I'm running on my laptop) I get errors
> like this:
>
> xhci_hcd 0000:00:14.0: ERROR Transfer event TRB DMA ptr not part of
> current TD
>
> when running uvccapture. When running e.g. cheese or the like, the
> screen stays blank. uvccapture also reports:
>
> ioctl querycontrol error 22
>
> and then the kernel message repeats forever, while I can't even exit
> uvccapture unless I kill it hard, at which point I get
>
> xhci_hcd 0000:00:14.0: Signal while waiting for configure endpoint command
> usb 1-3.4.4.3: Not enough bandwidth for altsetting 0
>
> from the kernel.
This looks like low-level USB issues, CC'ing the linux-usb mailing list.
> The device really is detected as UVC, of course:
>
> [ 3423.299311] usb 1-3.4.4.3: new high-speed USB device number 12 using
> xhci_hcd
> [ 3423.426280] usb 1-3.4.4.3: New USB device found, idVendor=058f,
> idProduct=5608
> [ 3423.426286] usb 1-3.4.4.3: New USB device strings: Mfr=3, Product=1,
> SerialNumber=0 [ 3423.426290] usb 1-3.4.4.3: Product: USB 2.0 PC Camera
> [ 3423.426293] usb 1-3.4.4.3: Manufacturer: Alcor Micro, Corp.
> [ 3423.432137] uvcvideo: Found UVC 1.00 device USB 2.0 PC Camera
> (058f:5608)
> [ 3423.435383] input: USB 2.0 PC Camera as
> /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4.4/1-3.4.4.3/1-3.4.4.3
> :1.0/input/input36
>
> (see also full lsusb below)
>
> I see a device from the same manufacturer has a kernel driver as a
> vendor device but actually being UVC, but this one reports being UVC and
> doesn't really work.
>
> Any thoughts? Just to rule out hardware defects I connected it to my
> windows 7 work machine and it works fine without even installing a
> driver.
Could you try connecting it to an EHCI controller instead of XHCI on a Linux
machine ?
> I can arrange remote access to the device (maybe as a VM to be able to
> experiment with the kernel more easily?) if anyone wants it.
>
> johannes
>
> lsusb:
>
> Bus 001 Device 012: ID 058f:5608 Alcor Micro Corp.
> Device Descriptor:
> bLength 18
> bDescriptorType 1
> bcdUSB 2.00
> bDeviceClass 239 Miscellaneous Device
> bDeviceSubClass 2 ?
> bDeviceProtocol 1 Interface Association
> bMaxPacketSize0 64
> idVendor 0x058f Alcor Micro Corp.
> idProduct 0x5608
> bcdDevice 0.03
> iManufacturer 3 Alcor Micro, Corp.
> iProduct 1 USB 2.0 PC Camera
> iSerial 0
> bNumConfigurations 1
> Configuration Descriptor:
> bLength 9
> bDescriptorType 2
> wTotalLength 407
> bNumInterfaces 2
> bConfigurationValue 1
> iConfiguration 0
> bmAttributes 0x80
> (Bus Powered)
> MaxPower 200mA
> Interface Association:
> bLength 8
> bDescriptorType 11
> bFirstInterface 0
> bInterfaceCount 2
> bFunctionClass 14 Video
> bFunctionSubClass 3 Video Interface Collection
> bFunctionProtocol 0
> iFunction 1 USB 2.0 PC Camera
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 0
> bAlternateSetting 0
> bNumEndpoints 1
> bInterfaceClass 14 Video
> bInterfaceSubClass 1 Video Control
> bInterfaceProtocol 0
> iInterface 1 USB 2.0 PC Camera
> VideoControl Interface Descriptor:
> bLength 13
> bDescriptorType 36
> bDescriptorSubtype 1 (HEADER)
> bcdUVC 1.00
> wTotalLength 85
> dwClockFrequency 30.000000MHz
> bInCollection 1
> baInterfaceNr( 0) 1
> VideoControl Interface Descriptor:
> bLength 18
> bDescriptorType 36
> bDescriptorSubtype 2 (INPUT_TERMINAL)
> bTerminalID 1
> wTerminalType 0x0201 Camera Sensor
> bAssocTerminal 0
> iTerminal 0
> wObjectiveFocalLengthMin 0
> wObjectiveFocalLengthMax 0
> wOcularFocalLength 0
> bControlSize 3
> bmControls 0x00000000
> VideoControl Interface Descriptor:
> bLength 9
> bDescriptorType 36
> bDescriptorSubtype 3 (OUTPUT_TERMINAL)
> bTerminalID 3
> wTerminalType 0x0101 USB Streaming
> bAssocTerminal 0
> bSourceID 6
> iTerminal 0
> VideoControl Interface Descriptor:
> bLength 7
> bDescriptorType 36
> bDescriptorSubtype 4 (SELECTOR_UNIT)
> bUnitID 4
> bNrInPins 1
> baSource( 0) 1
> iSelector 0
> VideoControl Interface Descriptor:
> bLength 11
> bDescriptorType 36
> bDescriptorSubtype 5 (PROCESSING_UNIT)
> Warning: Descriptor too short
> bUnitID 5
> bSourceID 4
> wMaxMultiplier 32208
> bControlSize 2
> bmControls 0x0000157f
> Brightness
> Contrast
> Hue
> Saturation
> Sharpness
> Gamma
> White Balance Temperature
> Backlight Compensation
> Power Line Frequency
> White Balance Temperature, Auto
> iProcessing 0
> bmVideoStandards 0x1b
> None
> NTSC - 525/60
> SECAM - 625/50
> NTSC - 625/50
> VideoControl Interface Descriptor:
> bLength 27
> bDescriptorType 36
> bDescriptorSubtype 6 (EXTENSION_UNIT)
> bUnitID 6
> guidExtensionCode {564c97a7-7ea7-904b-8cbf-1c71ec303000}
> bNumControl 16
> bNrPins 1
> baSourceID( 0) 5
> bControlSize 2
> bmControls( 0) 0xff
> bmControls( 1) 0xff
> iExtension 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x82 EP 2 IN
> bmAttributes 3
> Transfer Type Interrupt
> Synch Type None
> Usage Type Data
> wMaxPacketSize 0x0010 1x 16 bytes
> bInterval 15
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 0
> bNumEndpoints 0
> bInterfaceClass 14 Video
> bInterfaceSubClass 2 Video Streaming
> bInterfaceProtocol 0
> iInterface 0
> VideoStreaming Interface Descriptor:
> bLength 14
> bDescriptorType 36
> bDescriptorSubtype 1 (INPUT_HEADER)
> bNumFormats 1
> wTotalLength 227
> bEndPointAddress 129
> bmInfo 0
> bTerminalLink 3
> bStillCaptureMethod 2
> bTriggerSupport 0
> bTriggerUsage 0
> bControlSize 1
> bmaControls( 0) 27
> VideoStreaming Interface Descriptor:
> bLength 27
> bDescriptorType 36
> bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED)
> bFormatIndex 1
> bNumFrameDescriptors 5
> guidFormat
> {59555932-0000-1000-8000-00aa00389b71}
> bBitsPerPixel 16
> bDefaultFrameIndex 1
> bAspectRatioX 0
> bAspectRatioY 0
> bmInterlaceFlags 0x00
> Interlaced stream or variable: No
> Fields per frame: 2 fields
> Field 1 first: No
> Field pattern: Field 1 only
> bCopyProtect 0
> VideoStreaming Interface Descriptor:
> bLength 34
> bDescriptorType 36
> bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
> bFrameIndex 1
> bmCapabilities 0x00
> Still image unsupported
> wWidth 640
> wHeight 480
> dwMinBitRate 73728000
> dwMaxBitRate 147456000
> dwMaxVideoFrameBufferSize 614400
> dwDefaultFrameInterval 333332
> bFrameIntervalType 2
> dwFrameInterval( 0) 333332
> dwFrameInterval( 1) 666666
> VideoStreaming Interface Descriptor:
> bLength 34
> bDescriptorType 36
> bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
> bFrameIndex 2
> bmCapabilities 0x00
> Still image unsupported
> wWidth 320
> wHeight 240
> dwMinBitRate 18432000
> dwMaxBitRate 36864000
> dwMaxVideoFrameBufferSize 153600
> dwDefaultFrameInterval 333332
> bFrameIntervalType 2
> dwFrameInterval( 0) 333332
> dwFrameInterval( 1) 666666
> VideoStreaming Interface Descriptor:
> bLength 34
> bDescriptorType 36
> bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
> bFrameIndex 3
> bmCapabilities 0x00
> Still image unsupported
> wWidth 160
> wHeight 120
> dwMinBitRate 4608000
> dwMaxBitRate 9216000
> dwMaxVideoFrameBufferSize 38400
> dwDefaultFrameInterval 333332
> bFrameIntervalType 2
> dwFrameInterval( 0) 333332
> dwFrameInterval( 1) 666666
> VideoStreaming Interface Descriptor:
> bLength 34
> bDescriptorType 36
> bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
> bFrameIndex 4
> bmCapabilities 0x00
> Still image unsupported
> wWidth 352
> wHeight 288
> dwMinBitRate 24330240
> dwMaxBitRate 48660480
> dwMaxVideoFrameBufferSize 202752
> dwDefaultFrameInterval 333332
> bFrameIntervalType 2
> dwFrameInterval( 0) 333332
> dwFrameInterval( 1) 666666
> VideoStreaming Interface Descriptor:
> bLength 34
> bDescriptorType 36
> bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
> bFrameIndex 5
> bmCapabilities 0x00
> Still image unsupported
> wWidth 176
> wHeight 144
> dwMinBitRate 6082560
> dwMaxBitRate 12165120
> dwMaxVideoFrameBufferSize 50688
> dwDefaultFrameInterval 333332
> bFrameIntervalType 2
> dwFrameInterval( 0) 333332
> dwFrameInterval( 1) 666666
> VideoStreaming Interface Descriptor:
> bLength 10
> bDescriptorType 36
> bDescriptorSubtype 3 (STILL_IMAGE_FRAME)
> bEndpointAddress 0
> bNumImageSizePatterns 1
> wWidth( 0) 640
> wHeight( 0) 480
> bNumCompressionPatterns 1
> VideoStreaming Interface Descriptor:
> bLength 6
> bDescriptorType 36
> bDescriptorSubtype 13 (COLORFORMAT)
> bColorPrimaries 1 (BT.709,sRGB)
> bTransferCharacteristics 1 (BT.709)
> bMatrixCoefficients 4 (SMPTE 170M (BT.601))
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 1
> bNumEndpoints 1
> bInterfaceClass 14 Video
> bInterfaceSubClass 2 Video Streaming
> bInterfaceProtocol 0
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x1400 3x 1024 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 2
> bNumEndpoints 1
> bInterfaceClass 14 Video
> bInterfaceSubClass 2 Video Streaming
> bInterfaceProtocol 0
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x1400 3x 1024 bytes
> bInterval 1
> Interface Descriptor:
> bLength 9
> bDescriptorType 4
> bInterfaceNumber 1
> bAlternateSetting 3
> bNumEndpoints 1
> bInterfaceClass 14 Video
> bInterfaceSubClass 2 Video Streaming
> bInterfaceProtocol 0
> iInterface 0
> Endpoint Descriptor:
> bLength 7
> bDescriptorType 5
> bEndpointAddress 0x81 EP 1 IN
> bmAttributes 5
> Transfer Type Isochronous
> Synch Type Asynchronous
> Usage Type Data
> wMaxPacketSize 0x1400 3x 1024 bytes
> bInterval 1
> Device Qualifier (for other device speed):
> bLength 10
> bDescriptorType 6
> bcdUSB 2.00
> bDeviceClass 239 Miscellaneous Device
> bDeviceSubClass 2 ?
> bDeviceProtocol 1 Interface Association
> bMaxPacketSize0 64
> bNumConfigurations 1
> Device Status: 0x0000
> (Bus Powered)
--
Regards,
Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html