I just received V-Gear TalkCam MX6 AF camera
<http://vgear.com/products/list.asp?ProdID=AMVG1-010-076-G>. I tested it with
luvcview and preview works fine with YUYV format and 320x240, 640x480, 1024x768
and 1280x1024 resolutions (the sensor resolution is 1280x1024). Driver accepts
requests to change brightness, contrast, saturation etc., but the image is not
affected - camera seems to be stuck on automatic mode. Here is the dump from
UVCView (I've omitted the audio part):
---===>Device Information<===---
English product name: "USB 2.0 Camera"
ConnectionStatus:
Current Config Value: 0x01 -> Device Bus Speed: High
Device Address: 0x02
Open Pipes: 1
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x83 -> Direction: IN - EndpointID: 3
bmAttributes: 0x03 -> Interrupt Transfer Type
wMaxPacketSize: 0x0010 = 1 transactions per microframe, 0x10
max bytes
bInterval: 0x06
===>Device Descriptor<===
bLength: 0x12
bDescriptorType: 0x01
bcdUSB: 0x0200
bDeviceClass: 0xEF -> This is a Multi-interface Function
Code Device
bDeviceSubClass: 0x02 -> This is the Common Class Sub Class
bDeviceProtocol: 0x01 -> This is the Interface Association
Descriptor protocol
bMaxPacketSize0: 0x40 = (64) Bytes
idVendor: 0x0C45 = Sonix Technology Co., Ltd.
idProduct: 0x62C0
bcdDevice: 0x0100
iManufacturer: 0x02
English (United States) "Sonix Technology Co., Ltd."
iProduct: 0x01
English (United States) "USB 2.0 Camera"
iSerialNumber: 0x03
English (United States) "SN0001"
bNumConfigurations: 0x01
===>Configuration Descriptor<===
bLength: 0x09
bDescriptorType: 0x02
wTotalLength: 0x02F1 -> Validated
bNumInterfaces: 0x04
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0x80 -> Bus Powered
MaxPower: 0xFA = 500 mA
===>IAD Descriptor<===
bLength: 0x08
bDescriptorType: 0x0B
bFirstInterface: 0x00
bInterfaceCount: 0x02
bFunctionClass: 0x0E -> Video Interface Class
bFunctionSubClass: 0x03 -> Video Interface Collection
bFunctionProtocol: 0x00 -> PC_PROTOCOL_UNDEFINED protocol
iFunction: 0x01
English (United States) "USB 2.0 Camera"
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x01
bInterfaceClass: 0x0E -> Video Interface Class
bInterfaceSubClass: 0x01 -> Video Control Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x01
English (United States) "USB 2.0 Camera"
===>Class-Specific Video Control Interface Header Descriptor<===
bLength: 0x0D
bDescriptorType: 0x24
bDescriptorSubtype: 0x01
bcdVDC: 0x0100
wTotalLength: 0x004D -> Validated
dwClockFrequency: 0x005B8D80 = (6000000) Hz
bInCollection: 0x01
baInterfaceNr[1]: 0x01
===>Video Control Output Terminal Descriptor<===
bLength: 0x09
bDescriptorType: 0x24
bDescriptorSubtype: 0x03
bTerminalID: 0x02
wTerminalType: 0x0101 = (TT_STREAMING)
bAssocTerminal: 0x00
bSourceID: 0x04
iTerminal: 0x00
===>Video Control Extension Unit Descriptor<===
bLength: 0x1A
bDescriptorType: 0x24
bDescriptorSubtype: 0x06
bUnitID: 0x04
guidExtensionCode: {28F03370-6311-4A2E-BA2C-6890EB334016}
bNumControls: 0x01
bNrInPins: 0x01
===>List of Connected Units and Terminal ID's
baSourceID[1]: 0x03
bControlSize: 0x01
bmControls : 0x01
D00 = 1 yes - Vendor-Specific (Optional)
D01 = 0 no - Vendor-Specific (Optional)
D02 = 0 no - Vendor-Specific (Optional)
D03 = 0 no - Vendor-Specific (Optional)
D04 = 0 no - Vendor-Specific (Optional)
D05 = 0 no - Vendor-Specific (Optional)
D06 = 0 no - Vendor-Specific (Optional)
D07 = 0 no - Vendor-Specific (Optional)
iExtension: 0x00
===>Video Control Input Terminal Descriptor<===
bLength: 0x12
bDescriptorType: 0x24
bDescriptorSubtype: 0x02
bTerminalID: 0x01
wTerminalType: 0x0201 = (ITT_CAMERA)
bAssocTerminal: 0x00
iTerminal: 0x00
===>Camera Input Terminal Data
wObjectiveFocalLengthMin: 0x0000
wObjectiveFocalLengthMax: 0x0000
wOcularFocalLength: 0x0000
bControlSize: 0x03
bmControls : 0x00 0x00 0x00
D00 = 0 no - Scanning Mode
D01 = 0 no - Auto-Exposure Mode
D02 = 0 no - Auto-Exposure Priority
D03 = 0 no - Exposure Time (Absolute)
D04 = 0 no - Exposure Time (Relative)
D05 = 0 no - Focus (Absolute)
D06 = 0 no - Focus (Relative)
D07 = 0 no - Iris (Absolute)
D08 = 0 no - Iris (Relative)
D09 = 0 no - Zoom (Absolute)
D10 = 0 no - Zoom (Relative)
D11 = 0 no - Pan (Absolute)
D12 = 0 no - Pan (Relative)
D13 = 0 no - Roll (Absolute)
D14 = 0 no - Roll (Relative)
D15 = 0 no - Tilt (Absolute)
D16 = 0 no - Tilt (Relative)
D17 = 0 no - Focus Auto
D18 = 0 no - Reserved
D19 = 0 no - Reserved
D20 = 0 no - Reserved
D21 = 0 no - Reserved
D22 = 0 no - Reserved
D23 = 0 no - Reserved
===>Video Control Processing Unit Descriptor<===
bLength: 0x0B
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bUnitID: 0x03
bSourceID: 0x01
wMaxMultiplier: 0x0000
bControlSize: 0x02
bmControls : 0x3F 0x05
D00 = 1 yes - Brightness
D01 = 1 yes - Contrast
D02 = 1 yes - Hue
D03 = 1 yes - Saturation
D04 = 1 yes - Sharpness
D05 = 1 yes - Gamma
D06 = 0 no - White Balance Temperature
D07 = 0 no - White Balance Component
D08 = 1 yes - Backlight Compensation
D09 = 0 no - Gain
D10 = 1 yes - Power Line Frequency
D11 = 0 no - Hue, Auto
D12 = 0 no - White Balance Temperature, Auto
D13 = 0 no - White Balance Component, Auto
D14 = 0 no - Digital Multiplier
D15 = 0 no - Digital Multiplier Limit
iProcessing: 0x00
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x83 -> Direction: IN - EndpointID: 3
bmAttributes: 0x03 -> Interrupt Transfer Type
wMaxPacketSize: 0x0010 = 1 transactions per microframe, 0x10
max bytes
bInterval: 0x06
===>Class-specific VC Interrupt Endpoint Descriptor<===
bLength: 0x05
bDescriptorType: 0x25
bDescriptorSubType: 0x03
wMaxTransferSize: 0x0010 = (16) Bytes
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x00
bNumEndpoints: 0x00
bInterfaceClass: 0x0E -> Video Interface Class
bInterfaceSubClass: 0x02 -> Video Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Video Class-Specific VS Video Input Header Descriptor<===
bLength: 0x0E
bDescriptorType: 0x24
bDescriptorSubtype: 0x01
bNumFormats: 0x01
wTotalLength: 0x0197 -> Validated
bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1
bmInfo: 0x00 -> Dynamic Format Change not Supported
bTerminalLink: 0x02
bStillCaptureMethod: 0x02 -> Still Capture Method 2
bTriggerSupport: 0x01 -> Hardware Triggering Support
bTriggerUsage: 0x00 -> Host will initiate still image
capture
bControlSize: 0x01
Video Payload Format 1 0x00
D00 = 0 no - Key Frame Rate
D01 = 0 no - P Frame Rate
D02 = 0 no - Compression Quality
D03 = 0 no - Compression Window Size
D04 = 0 no - Generate Key Frame
D05 = 0 no - Update Frame Segment
D06 = 0 no - Reserved
D07 = 0 no - Reserved
===>Video Streaming Uncompressed Format Type Descriptor<===
bLength: 0x1B
bDescriptorType: 0x24
bDescriptorSubtype: 0x04
bFormatIndex: 0x01
bNumFrameDescriptors: 0x07
guidFormat: {32595559-0000-0010-8000-00AA00389B71} =
YUY2 Format
bBitsPerPixel: 0x10
bDefaultFrameIndex: 0x00
bAspectRatioX: 0x00
bAspectRatioY: 0x00
bmInterlaceFlags: 0x00
D0 = 0x00 Interlaced stream or variable: No
D1 = 0x00 Fields per frame: 2 fields
D2 = 0x00 Field 1 first: No
D3 = 0x00 Reserved
D4..5 = 0x00 Field patterns -> Field 1 only
D6..7 = 0x00 Display Mode -> Bob only
bCopyProtect: 0x00 -> Duplication Unrestricted
===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x32
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x01
bmCapabilities: 0x00
wWidth: 0x0280
wHeight: 0x01E0
dwMinBitRate: 0x00096000
dwMaxBitRate: 0x01194000
dwMaxVideoFrameBufferSize: 0x00096000
dwDefaultFrameInterval: 0x00051615
bFrameIntervalType: 0x06
===>Additional Discrete Frame Type Data
dwFrameInterval[1]: 0x00051615
dwFrameInterval[2]: 0x0007A120
dwFrameInterval[3]: 0x000A2C2A
dwFrameInterval[4]: 0x000F4240
dwFrameInterval[5]: 0x001E8480
dwFrameInterval[6]: 0x00989680
===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x32
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x02
bmCapabilities: 0x00
wWidth: 0x0160
wHeight: 0x0120
dwMinBitRate: 0x00031800
dwMaxBitRate: 0x005CD000
dwMaxVideoFrameBufferSize: 0x00031800
dwDefaultFrameInterval: 0x00051615
bFrameIntervalType: 0x06
===>Additional Discrete Frame Type Data
dwFrameInterval[1]: 0x00051615
dwFrameInterval[2]: 0x0007A120
dwFrameInterval[3]: 0x000A2C2A
dwFrameInterval[4]: 0x000F4240
dwFrameInterval[5]: 0x001E8480
dwFrameInterval[6]: 0x00989680
===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x32
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x03
bmCapabilities: 0x00
wWidth: 0x0140
wHeight: 0x00F0
dwMinBitRate: 0x00025800
dwMaxBitRate: 0x00465000
dwMaxVideoFrameBufferSize: 0x00025800
dwDefaultFrameInterval: 0x00051615
bFrameIntervalType: 0x06
===>Additional Discrete Frame Type Data
dwFrameInterval[1]: 0x00051615
dwFrameInterval[2]: 0x0007A120
dwFrameInterval[3]: 0x000A2C2A
dwFrameInterval[4]: 0x000F4240
dwFrameInterval[5]: 0x001E8480
dwFrameInterval[6]: 0x00989680
===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x32
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x04
bmCapabilities: 0x00
wWidth: 0x00B0
wHeight: 0x0090
dwMinBitRate: 0x0000C600
dwMaxBitRate: 0x00173400
dwMaxVideoFrameBufferSize: 0x0000C600
dwDefaultFrameInterval: 0x00051615
bFrameIntervalType: 0x06
===>Additional Discrete Frame Type Data
dwFrameInterval[1]: 0x00051615
dwFrameInterval[2]: 0x0007A120
dwFrameInterval[3]: 0x000A2C2A
dwFrameInterval[4]: 0x000F4240
dwFrameInterval[5]: 0x001E8480
dwFrameInterval[6]: 0x00989680
===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x32
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x05
bmCapabilities: 0x00
wWidth: 0x00A0
wHeight: 0x0078
dwMinBitRate: 0x00009600
dwMaxBitRate: 0x00119400
dwMaxVideoFrameBufferSize: 0x00009600
dwDefaultFrameInterval: 0x00051615
bFrameIntervalType: 0x06
===>Additional Discrete Frame Type Data
dwFrameInterval[1]: 0x00051615
dwFrameInterval[2]: 0x0007A120
dwFrameInterval[3]: 0x000A2C2A
dwFrameInterval[4]: 0x000F4240
dwFrameInterval[5]: 0x001E8480
dwFrameInterval[6]: 0x00989680
===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x26
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x06
bmCapabilities: 0x00
wWidth: 0x0500
wHeight: 0x03C0
dwMinBitRate: 0x00258000
dwMaxBitRate: 0x01518000
dwMaxVideoFrameBufferSize: 0x00258000
dwDefaultFrameInterval: 0x0010F447
bFrameIntervalType: 0x03
===>Additional Discrete Frame Type Data
dwFrameInterval[1]: 0x0010F447
dwFrameInterval[2]: 0x001E8480
dwFrameInterval[3]: 0x00989680
===>Video Streaming Uncompressed Frame Type Descriptor<===
bLength: 0x26
bDescriptorType: 0x24
bDescriptorSubtype: 0x05
bFrameIndex: 0x07
bmCapabilities: 0x00
wWidth: 0x0500
wHeight: 0x0400
dwMinBitRate: 0x00280000
dwMaxBitRate: 0x01680000
dwMaxVideoFrameBufferSize: 0x00280000
dwDefaultFrameInterval: 0x0010F447
bFrameIntervalType: 0x03
===>Additional Discrete Frame Type Data
dwFrameInterval[1]: 0x0010F447
dwFrameInterval[2]: 0x001E8480
dwFrameInterval[3]: 0x00989680
===>Still Image Frame Type Descriptor<===
bLength: 0x22
bDescriptorType: 0x24
bDescriptorSubtype: 0x03
bEndpointAddress: 0x00
bNumImageSizePatterns: 0x07
wWidth[1]: 0x0500
wHeight[1]: 0x0400
wWidth[2]: 0x0500
wHeight[2]: 0x03C0
wWidth[3]: 0x0280
wHeight[3]: 0x01E0
wWidth[4]: 0x0160
wHeight[4]: 0x0120
wWidth[5]: 0x0140
wHeight[5]: 0x00F0
wWidth[6]: 0x00B0
wHeight[6]: 0x0090
wWidth[7]: 0x00A0
wHeight[7]: 0x0078
bNumCompressionPattern: 0x00
===>Color Matching Descriptor<===
bLength: 0x06
bDescriptorType: 0x24
bDescriptorSubtype: 0x0D
bColorPrimaries: 0x01
bTransferCharacteristics: 0x01
bMatrixCoefficients: 0x04
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x01
bNumEndpoints: 0x01
bInterfaceClass: 0x0E -> Video Interface Class
bInterfaceSubClass: 0x02 -> Video Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1
bmAttributes: 0x05 -> Isochronous Transfer Type
Synchronization Type = Asynchronous
Bulk Transfer Type
wMaxPacketSize: 0x0080 = 1 transactions per microframe, 0x80
max bytes
bInterval: 0x01
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x02
bNumEndpoints: 0x01
bInterfaceClass: 0x0E -> Video Interface Class
bInterfaceSubClass: 0x02 -> Video Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1
bmAttributes: 0x05 -> Isochronous Transfer Type
Synchronization Type = Asynchronous
Bulk Transfer Type
wMaxPacketSize: 0x0100 = 1 transactions per microframe, 0x100
max bytes
bInterval: 0x01
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x03
bNumEndpoints: 0x01
bInterfaceClass: 0x0E -> Video Interface Class
bInterfaceSubClass: 0x02 -> Video Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1
bmAttributes: 0x05 -> Isochronous Transfer Type
Synchronization Type = Asynchronous
Bulk Transfer Type
wMaxPacketSize: 0x0320 = 1 transactions per microframe, 0x320
max bytes
bInterval: 0x01
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x04
bNumEndpoints: 0x01
bInterfaceClass: 0x0E -> Video Interface Class
bInterfaceSubClass: 0x02 -> Video Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1
bmAttributes: 0x05 -> Isochronous Transfer Type
Synchronization Type = Asynchronous
Bulk Transfer Type
wMaxPacketSize: 0x0B20 = 2 transactions per microframe, 0x320
max bytes
bInterval: 0x01
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x05
bNumEndpoints: 0x01
bInterfaceClass: 0x0E -> Video Interface Class
bInterfaceSubClass: 0x02 -> Video Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1
bmAttributes: 0x05 -> Isochronous Transfer Type
Synchronization Type = Asynchronous
Bulk Transfer Type
wMaxPacketSize: 0x1320 = 3 transactions per microframe, 0x320
max bytes
bInterval: 0x01
===>Interface Descriptor<===
bLength: 0x09
bDescriptorType: 0x04
bInterfaceNumber: 0x01
bAlternateSetting: 0x06
bNumEndpoints: 0x01
bInterfaceClass: 0x0E -> Video Interface Class
bInterfaceSubClass: 0x02 -> Video Streaming Interface SubClass
bInterfaceProtocol: 0x00
iInterface: 0x00
===>Endpoint Descriptor<===
bLength: 0x07
bDescriptorType: 0x05
bEndpointAddress: 0x81 -> Direction: IN - EndpointID: 1
bmAttributes: 0x05 -> Isochronous Transfer Type
Synchronization Type = Asynchronous
Bulk Transfer Type
wMaxPacketSize: 0x13E8 = 3 transactions per microframe, 0x3E8
max bytes
bInterval: 0x01
____________________________________________________________________________________
Expecting? Get great news right away with email Auto-Check.
Try the Yahoo! Mail Beta.
http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel