[Linux-uvc-devel] support for 05ca:183a

Pivo roidelapluie at gmail.com
Sat Feb 21 19:58:02 CET 2009


Hi Laurent,
I have the same webcam, the same problems than petr but the problem is not
solve and I think you didn't get the answers you wanted.

> Hi Petr,
>
> On Monday 10 November 2008, Petr Menšík wrote:
> > hi,
> >
> > i found interesting news. my camera will change its resolution, but only
> > to 640x480 and 1280x1024 correctly. I was astonished when high
> > resolution worked, i did not expect that. I got working svn version of
> > luvcview, but really lower resolutions are still wrong in that also.
>
> Could you please send me the USB descriptors of your camera ? You can
retrieve
> them with 'lsusb -v'.

Bus 001 Device 002: ID 05ca:183b Ricoh Co., Ltd
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x05ca Ricoh Co., Ltd
  idProduct          0x183b
  bcdDevice            1.00
  iManufacturer           0
  iProduct                0
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          396
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass         14 Video
      bFunctionSubClass       3 Video Interface Collection
      bFunctionProtocol       0
      iFunction               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      1 Video Control
      bInterfaceProtocol      0
      iInterface              0
      VideoControl Interface Descriptor:
        bLength                13
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdUVC               1.00
        wTotalLength           78
        dwClockFrequency       30.000000MHz
        bInCollection           1
        baInterfaceNr( 0)       1
      VideoControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          1
        bSourceID               4
        iTerminal               0
      VideoControl Interface Descriptor:
        bLength                26
        bDescriptorType        36
        bDescriptorSubtype      6 (EXTENSION_UNIT)
        bUnitID                 4
        guidExtensionCode         {1c624144-8989-4643-afb3-20f37590304e}
        bNumControl             1
        bNrPins                 1
        baSourceID( 0)          2
        bControlSize            1
        bmControls( 0)       0xff
        iExtension              0
      VideoControl Interface Descriptor:
        bLength                18
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID             1
        wTerminalType      0x0201 Camera Sensor
        bAssocTerminal          3
        iTerminal               0
        wObjectiveFocalLengthMin      0
        wObjectiveFocalLengthMax      0
        wOcularFocalLength            0
        bControlSize                  3
        bmControls           0x00000000
      VideoControl Interface Descriptor:
        bLength                12
        bDescriptorType        36
        bDescriptorSubtype      5 (PROCESSING_UNIT)
      Warning: Descriptor too short
        bUnitID                 2
        bSourceID               1
        wMaxMultiplier          0
        bControlSize            3
        bmControls     0x0000053f
          Brightness
          Contrast
          Hue
          Saturation
          Sharpness
          Gamma
          Backlight Compensation
          Power Line Frequency
        iProcessing             0
        bmVideoStandards     0x 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               6
    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                      191
        bEndPointAddress                  134
        bmInfo                              1
        bTerminalLink                       3
        bStillCaptureMethod                 0
        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                 0x02
          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                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         1
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            640
        wHeight                           480
        dwMinBitRate                147456000
        dwMaxBitRate                147456000
        dwMaxVideoFrameBufferSize      614400
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         2
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                           1280
        wHeight                          1024
        dwMinBitRate                157286400
        dwMaxBitRate                157286400
        dwMaxVideoFrameBufferSize     2621440
        dwDefaultFrameInterval        1333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)           1333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         3
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            320
        wHeight                           240
        dwMinBitRate                 36864000
        dwMaxBitRate                 36864000
        dwMaxVideoFrameBufferSize      153600
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         4
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            176
        wHeight                           144
        dwMinBitRate                 12165120
        dwMaxBitRate                 12165120
        dwMaxVideoFrameBufferSize       50688
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         5
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            160
        wHeight                           120
        dwMinBitRate                  9216000
        dwMaxBitRate                  9216000
        dwMaxVideoFrameBufferSize       38400
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
    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     0x86  EP 6 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x13d4  3x 980 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     0x86  EP 6 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x13ec  3x 1004 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     0x86  EP 6 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0364  1x 868 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       4
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0278  1x 632 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       5
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0320  1x 800 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)


> > Yes, lower resolutions worked fine in ekiga before, i believe it is
> > using lowest one, 160x120.
>
> So there's probably a problem on the host side (or at least in the host
<->
> device communication). Your tests seem to point to the resolution change
not
> being understood by the camera.
>
> To confirm that, I'd like you to check the kernel log with the uvcvideo
trace
> parameter set to 128 (either when loading the driver, or later with 'echo
128
> > /sys/modules/uvcvideo/parameters/trace').

>
> Clear the kernel log (dmesg -c), run a video application in 640x480 for a
> second or two (longer would write too much messages to the log), close the

> application and capture the kernel log. Rerun the same test procedure in a

> lower, faulty resolution such as 320x240.

# luvcview -s 640x480 -f yuv -i 30
luvcview version 0.2.1
 size width: 640 height: 480
 interval: 30 fps
Video driver: x11
A window manager is available
video /dev/video0

Stop asked
 Clean Up done Quit

# dmesg
[20451.408588] uvcvideo: Frame complete (EOF found).
[20451.438601] uvcvideo: Frame complete (EOF found).
[20451.473589] uvcvideo: Frame complete (EOF found).
[20451.508575] uvcvideo: Frame complete (EOF found).
[20451.538596] uvcvideo: Frame complete (EOF found).
[20451.573583] uvcvideo: Frame complete (EOF found).
[20451.608585] uvcvideo: Frame complete (EOF found).
[20451.673620] uvcvideo: Frame complete (EOF found).
[20451.738601] uvcvideo: Frame complete (EOF found).
[20451.873623] uvcvideo: Frame complete (EOF found).
[20452.008584] uvcvideo: Frame complete (EOF found).
[20452.138638] uvcvideo: Frame complete (EOF found).
[20452.273605] uvcvideo: Frame complete (EOF found).
[20452.408576] uvcvideo: Frame complete (EOF found).
[20452.538635] uvcvideo: Frame complete (EOF found).
[20452.673607] uvcvideo: Frame complete (EOF found).
[20452.808574] uvcvideo: Frame complete (EOF found).
[20452.938600] uvcvideo: Frame complete (EOF found).
[20453.073578] uvcvideo: Frame complete (EOF found).
[20453.208535] uvcvideo: Frame complete (EOF found).
[20453.338595] uvcvideo: Frame complete (EOF found).
[20453.473590] uvcvideo: Frame complete (EOF found).
[20453.603653] uvcvideo: Frame complete (EOF found).
[20453.738619] uvcvideo: Frame complete (EOF found).
[20453.873587] uvcvideo: Frame complete (EOF found).
[20454.003620] uvcvideo: Frame complete (EOF found).
[20454.138615] uvcvideo: Frame complete (EOF found).
[20454.273582] uvcvideo: Frame complete (EOF found).
[20454.403646] uvcvideo: Frame complete (EOF found).
[20454.538612] uvcvideo: Frame complete (EOF found).
[20454.673581] uvcvideo: Frame complete (EOF found).
[20454.803637] uvcvideo: Frame complete (EOF found).
[20454.938611] uvcvideo: Frame complete (EOF found).
[20455.073570] uvcvideo: Frame complete (EOF found).
[20455.203595] uvcvideo: Frame complete (EOF found).
[20455.338602] uvcvideo: Frame complete (EOF found).
[20455.473571] uvcvideo: Frame complete (EOF found).
[20455.603626] uvcvideo: Frame complete (EOF found).
[20455.738599] uvcvideo: Frame complete (EOF found).
[20455.868638] uvcvideo: Frame complete (EOF found).
[20456.003625] uvcvideo: Frame complete (EOF found).
[20456.138594] uvcvideo: Frame complete (EOF found).

# luvcview -s 320x240 -f yuv -i 30
luvcview version 0.2.1
 size width: 320 height: 240
 interval: 30 fps
Video driver: x11
A window manager is available
video /dev/video0
^C
Stop asked
 Clean Up done Quit

# dmesg
[20516.062625] uvcvideo: Frame complete (overflow).
[20516.062637] uvcvideo: Dropping payload (out of sync).
[20516.062641] uvcvideo: Dropping payload (out of sync).
[20516.062645] uvcvideo: Dropping payload (out of sync).
[20516.062649] uvcvideo: Dropping payload (out of sync).
[20516.062653] uvcvideo: Dropping payload (out of sync).
[20516.062657] uvcvideo: Dropping payload (out of sync).
[20516.062661] uvcvideo: Dropping payload (out of sync).
[20516.062664] uvcvideo: Dropping payload (out of sync).
[20516.062668] uvcvideo: Dropping payload (out of sync).
[20516.062672] uvcvideo: Dropping payload (out of sync).
[20516.062676] uvcvideo: Dropping payload (out of sync).
[20516.062680] uvcvideo: Dropping payload (out of sync).
[20516.062684] uvcvideo: Dropping payload (out of sync).
[20516.062688] uvcvideo: Dropping payload (out of sync).
[20516.067540] uvcvideo: Dropping payload (out of sync).
[20516.067547] uvcvideo: Dropping payload (out of sync).
[20516.067551] uvcvideo: Dropping payload (out of sync).
[20516.067554] uvcvideo: Dropping payload (out of sync).
[20516.067558] uvcvideo: Dropping payload (out of sync).
[20516.067562] uvcvideo: Dropping payload (out of sync).
[20516.067566] uvcvideo: Dropping payload (out of sync).
[20516.067569] uvcvideo: Dropping payload (out of sync).
[20516.067573] uvcvideo: Dropping payload (out of sync).
[20516.067577] uvcvideo: Dropping payload (out of sync).
[20516.067581] uvcvideo: Dropping payload (out of sync).
[20516.067585] uvcvideo: Dropping payload (out of sync).
[20516.067589] uvcvideo: Dropping payload (out of sync).
[20516.067593] uvcvideo: Dropping payload (out of sync).
[20516.067596] uvcvideo: Dropping payload (out of sync).
[20516.067600] uvcvideo: Dropping payload (out of sync).
[20516.067604] uvcvideo: Dropping payload (out of sync).
[20516.067608] uvcvideo: Dropping payload (out of sync).
[20516.067612] uvcvideo: Dropping payload (out of sync).
[20516.067615] uvcvideo: Dropping payload (out of sync).
[20516.067619] uvcvideo: Dropping payload (out of sync).
[20516.067623] uvcvideo: Dropping payload (out of sync).
[20516.067627] uvcvideo: Dropping payload (out of sync).
[20516.067631] uvcvideo: Dropping payload (out of sync).

Many and many lines like that!

> If, as I suspect, the camera doesn't understand the resolution change
> properly, it should send a whole 640x480 frame even when the driver
expects a
> lower resolution. Excess video data should be dropped and logged by the
> driver with a "Dropping payload (out of sync)" message. Those messages
should
> not occur in 640x480 (or at least be way less frequent than in 320x240).

You are right!

> Best regards,
>
> Laurent Pinchart
>


Thank you for your time,

roidelapluie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.berlios.de/pipermail/linux-uvc-devel/attachments/20090221/b617ee58/attachment.html>


More information about the Linux-uvc-devel mailing list