Cheese detects only low-res YUYV stream from camera

Bug #1804333 reported by Andrew Gerald
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Cheese
Fix Released
Unknown
cheese (Ubuntu)
Triaged
High
Unassigned

Bug Description

Cheese v3.30.0 (3.30.0-0ubuntu1)
Xubuntu 18.04 LTS

Cheese detects and reports/offers/accesses ONLY the resolutions in the YUYV stream, index 1, which results in low-res video and especially (what I use the cam for) still images. Previously, in 16.04 LTS, everything was working perfectly with Cheese; for example, it offered and accessed the 3264x2448 stream, which is what I'd been using.

>>> Currently, guvcview and VLC report/offer/access/display both streams and all resolutions perfectly.

=================================================================
ls /dev/video*
/dev/video0
/dev/video1

=================================================================
v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
 Index : 0
 Type : Video Capture
 Pixel Format: 'MJPG' (compressed)
 Name : Motion-JPEG
  Size: Discrete 640x480
   Interval: Discrete 0.033s (30.000 fps)
  Size: Discrete 800x600
   Interval: Discrete 0.033s (30.000 fps)
  Size: Discrete 1024x768
   Interval: Discrete 0.033s (30.000 fps)
  Size: Discrete 1280x720
   Interval: Discrete 0.033s (30.000 fps)
  Size: Discrete 1600x1200
   Interval: Discrete 0.033s (30.000 fps)
  Size: Discrete 1920x1080
   Interval: Discrete 0.033s (30.000 fps)
  Size: Discrete 2048x1536
   Interval: Discrete 0.067s (15.000 fps)
  Size: Discrete 2592x1944
   Interval: Discrete 0.067s (15.000 fps)
  Size: Discrete 3264x1836
   Interval: Discrete 0.067s (15.000 fps)
  Size: Discrete 3264x2448
   Interval: Discrete 0.067s (15.000 fps)

 Index : 1
 Type : Video Capture
 Pixel Format: 'YUYV'
 Name : YUYV 4:2:2
  Size: Discrete 640x480
   Interval: Discrete 0.033s (30.000 fps)
  Size: Discrete 800x600
   Interval: Discrete 0.040s (25.000 fps)
  Size: Discrete 1024x768
   Interval: Discrete 0.067s (15.000 fps)
  Size: Discrete 1280x720
   Interval: Discrete 0.100s (10.000 fps)
  Size: Discrete 1600x1200
   Interval: Discrete 0.143s (7.000 fps)
  Size: Discrete 1920x1080
   Interval: Discrete 0.200s (5.000 fps)

=================================================================
lsusb returns:

Bus 007 Device 002: ID 1778:0221
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 239 Miscellaneous Device
  bDeviceSubClass 2 ?
  bDeviceProtocol 1 Interface Association
  bMaxPacketSize0 64
  idVendor 0x1778
  idProduct 0x0221
  bcdDevice 10.21
  iManufacturer 1 IPEVO Inc.
  iProduct 2 IPEVO Ziggi-HD Plus
  iSerial 0
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 930
    bNumInterfaces 4
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0x80
      (Bus Powered)
    MaxPower 500mA
    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 161
        dwClockFrequency 300.000000MHz
        bInCollection 1
        baInterfaceNr( 0) 1
      VideoControl Interface Descriptor:
        bLength 9
        bDescriptorType 36
        bDescriptorSubtype 3 (OUTPUT_TERMINAL)
        bTerminalID 4
        wTerminalType 0x0101 USB Streaming
        bAssocTerminal 0
        bSourceID 8
        iTerminal 0
      VideoControl Interface Descriptor:
        bLength 27
        bDescriptorType 36
        bDescriptorSubtype 6 (EXTENSION_UNIT)
        bUnitID 8
        guidExtensionCode {41769ea2-04de-e347-8b2b-f4341aff003b}
        bNumControl 11
        bNrPins 1
        baSourceID( 0) 2
        bControlSize 2
        bmControls( 0) 0x07
        bmControls( 1) 0x7f
        iExtension 0
      VideoControl Interface Descriptor:
        bLength 27
        bDescriptorType 36
        bDescriptorSubtype 6 (EXTENSION_UNIT)
        bUnitID 2
        guidExtensionCode {7cbc0249-9670-ef49-891c-d01e7618a2fd}
        bNumControl 1
        bNrPins 1
        baSourceID( 0) 6
        bControlSize 2
        bmControls( 0) 0x01
        bmControls( 1) 0x00
        iExtension 0
      VideoControl Interface Descriptor:
        bLength 27
        bDescriptorType 36
        bDescriptorSubtype 6 (EXTENSION_UNIT)
        bUnitID 6
        guidExtensionCode {d09ee423-7811-314f-ae52-d2fb8a8d3b48}
        bNumControl 5
        bNrPins 1
        baSourceID( 0) 7
        bControlSize 2
        bmControls( 0) 0xff
        bmControls( 1) 0xef
        iExtension 0
      VideoControl Interface Descriptor:
        bLength 29
        bDescriptorType 36
        bDescriptorSubtype 6 (EXTENSION_UNIT)
        bUnitID 7
        guidExtensionCode {b42153bd-35d6-45ca-b203-4e0149b301bc}
        bNumControl 32
        bNrPins 1
        baSourceID( 0) 3
        bControlSize 4
        bmControls( 0) 0x9f
        bmControls( 1) 0x3f
        bmControls( 2) 0x80
        bmControls( 3) 0x03
        iExtension 0
      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 0x00020020
          Focus (Absolute)
          Focus, Auto
      VideoControl Interface Descriptor:
        bLength 11
        bDescriptorType 36
        bDescriptorSubtype 5 (PROCESSING_UNIT)
      Warning: Descriptor too short
        bUnitID 3
        bSourceID 1
        wMaxMultiplier 0
        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 0x 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 3
          Transfer Type Interrupt
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 8
    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 15
        bDescriptorType 36
        bDescriptorSubtype 1 (INPUT_HEADER)
        bNumFormats 2
        wTotalLength 599
        bEndPointAddress 129
        bmInfo 0
        bTerminalLink 4
        bStillCaptureMethod 2
        bTriggerSupport 1
        bTriggerUsage 0
        bControlSize 1
        bmaControls( 0) 11
        bmaControls( 1) 11
      VideoStreaming Interface Descriptor:
        bLength 11
        bDescriptorType 36
        bDescriptorSubtype 6 (FORMAT_MJPEG)
        bFormatIndex 1
        bNumFrameDescriptors 10
        bFlags 0
          Fixed-size samples: No
        bDefaultFrameIndex 1
        bAspectRatioX 0
        bAspectRatioY 0
        bmInterlaceFlags 0x00
          Interlaced stream or variable: No
          Fields per frame: 1 fields
          Field 1 first: No
          Field pattern: Field 1 only
          bCopyProtect 0
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 7 (FRAME_MJPEG)
        bFrameIndex 1
        bmCapabilities 0x01
          Still image supported
        wWidth 640
        wHeight 480
        dwMinBitRate 3686400
        dwMaxBitRate 94371840
        dwMaxVideoFrameBufferSize 1048576
        dwDefaultFrameInterval 333333
        bFrameIntervalType 1
        dwFrameInterval( 0) 333333
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 7 (FRAME_MJPEG)
        bFrameIndex 2
        bmCapabilities 0x01
          Still image supported
        wWidth 800
        wHeight 600
        dwMinBitRate 3686400
        dwMaxBitRate 94371840
        dwMaxVideoFrameBufferSize 1048576
        dwDefaultFrameInterval 333333
        bFrameIntervalType 1
        dwFrameInterval( 0) 333333
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 7 (FRAME_MJPEG)
        bFrameIndex 3
        bmCapabilities 0x01
          Still image supported
        wWidth 1024
        wHeight 768
        dwMinBitRate 3686400
        dwMaxBitRate 94371840
        dwMaxVideoFrameBufferSize 1048576
        dwDefaultFrameInterval 333333
        bFrameIntervalType 1
        dwFrameInterval( 0) 333333
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 7 (FRAME_MJPEG)
        bFrameIndex 4
        bmCapabilities 0x01
          Still image supported
        wWidth 1280
        wHeight 720
        dwMinBitRate 3686400
        dwMaxBitRate 94371840
        dwMaxVideoFrameBufferSize 1048576
        dwDefaultFrameInterval 333333
        bFrameIntervalType 1
        dwFrameInterval( 0) 333333
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 7 (FRAME_MJPEG)
        bFrameIndex 5
        bmCapabilities 0x01
          Still image supported
        wWidth 1600
        wHeight 1200
        dwMinBitRate 3686400
        dwMaxBitRate 94371840
        dwMaxVideoFrameBufferSize 1048576
        dwDefaultFrameInterval 333333
        bFrameIntervalType 1
        dwFrameInterval( 0) 333333
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 7 (FRAME_MJPEG)
        bFrameIndex 6
        bmCapabilities 0x01
          Still image supported
        wWidth 1920
        wHeight 1080
        dwMinBitRate 3686400
        dwMaxBitRate 94371840
        dwMaxVideoFrameBufferSize 1048576
        dwDefaultFrameInterval 333333
        bFrameIntervalType 1
        dwFrameInterval( 0) 333333
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 7 (FRAME_MJPEG)
        bFrameIndex 7
        bmCapabilities 0x01
          Still image supported
        wWidth 2048
        wHeight 1536
        dwMinBitRate 1843200
        dwMaxBitRate 47185920
        dwMaxVideoFrameBufferSize 1048576
        dwDefaultFrameInterval 666666
        bFrameIntervalType 1
        dwFrameInterval( 0) 666666
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 7 (FRAME_MJPEG)
        bFrameIndex 8
        bmCapabilities 0x01
          Still image supported
        wWidth 2592
        wHeight 1944
        dwMinBitRate 1843200
        dwMaxBitRate 47185920
        dwMaxVideoFrameBufferSize 1048576
        dwDefaultFrameInterval 666666
        bFrameIntervalType 1
        dwFrameInterval( 0) 666666
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 7 (FRAME_MJPEG)
        bFrameIndex 9
        bmCapabilities 0x01
          Still image supported
        wWidth 3264
        wHeight 1836
        dwMinBitRate 1843200
        dwMaxBitRate 47185920
        dwMaxVideoFrameBufferSize 1048576
        dwDefaultFrameInterval 666666
        bFrameIntervalType 1
        dwFrameInterval( 0) 666666
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 7 (FRAME_MJPEG)
        bFrameIndex 10
        bmCapabilities 0x01
          Still image supported
        wWidth 3264
        wHeight 2448
        dwMinBitRate 1843200
        dwMaxBitRate 47185920
        dwMaxVideoFrameBufferSize 1048576
        dwDefaultFrameInterval 666666
        bFrameIntervalType 1
        dwFrameInterval( 0) 666666
      VideoStreaming Interface Descriptor:
        bLength 35
        bDescriptorType 36
        bDescriptorSubtype 3 (STILL_IMAGE_FRAME)
        bEndpointAddress 0
        bNumImageSizePatterns 7
        wWidth( 0) 3264
        wHeight( 0) 2448
        wWidth( 1) 1600
        wHeight( 1) 1200
        wWidth( 2) 1280
        wHeight( 2) 720
        wWidth( 3) 800
        wHeight( 3) 600
        wWidth( 4) 640
        wHeight( 4) 480
        wWidth( 5) 320
        wHeight( 5) 240
        wWidth( 6) 160
        wHeight( 6) 120
        bNumCompressionPatterns 7
        bCompression( 0) 3
      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))
      VideoStreaming Interface Descriptor:
        bLength 27
        bDescriptorType 36
        bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED)
        bFormatIndex 2
        bNumFrameDescriptors 6
        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 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 800
        wHeight 600
        dwMinBitRate 192000000
        dwMaxBitRate 192000000
        dwMaxVideoFrameBufferSize 960000
        dwDefaultFrameInterval 400000
        bFrameIntervalType 1
        dwFrameInterval( 0) 400000
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
        bFrameIndex 3
        bmCapabilities 0x00
          Still image unsupported
        wWidth 1024
        wHeight 768
        dwMinBitRate 188743680
        dwMaxBitRate 188743680
        dwMaxVideoFrameBufferSize 1572864
        dwDefaultFrameInterval 666666
        bFrameIntervalType 1
        dwFrameInterval( 0) 666666
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
        bFrameIndex 4
        bmCapabilities 0x00
          Still image unsupported
        wWidth 1280
        wHeight 720
        dwMinBitRate 147456000
        dwMaxBitRate 147456000
        dwMaxVideoFrameBufferSize 1843200
        dwDefaultFrameInterval 1000000
        bFrameIntervalType 1
        dwFrameInterval( 0) 1000000
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
        bFrameIndex 5
        bmCapabilities 0x00
          Still image unsupported
        wWidth 1600
        wHeight 1200
        dwMinBitRate 215040000
        dwMaxBitRate 215040000
        dwMaxVideoFrameBufferSize 3840000
        dwDefaultFrameInterval 1428571
        bFrameIntervalType 1
        dwFrameInterval( 0) 1428571
      VideoStreaming Interface Descriptor:
        bLength 30
        bDescriptorType 36
        bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
        bFrameIndex 6
        bmCapabilities 0x00
          Still image unsupported
        wWidth 1920
        wHeight 1080
        dwMinBitRate 165888000
        dwMaxBitRate 165888000
        dwMaxVideoFrameBufferSize 4147200
        dwDefaultFrameInterval 2000000
        bFrameIntervalType 1
        dwFrameInterval( 0) 2000000
      VideoStreaming Interface Descriptor:
        bLength 19
        bDescriptorType 36
        bDescriptorSubtype 3 (STILL_IMAGE_FRAME)
        bEndpointAddress 0
        bNumImageSizePatterns 3
        wWidth( 0) 640
        wHeight( 0) 480
        wWidth( 1) 320
        wHeight( 1) 240
        wWidth( 2) 160
        wHeight( 2) 120
        bNumCompressionPatterns 3
        bCompression( 0) 3
      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 0x13f8 3x 1016 bytes
        bInterval 1
    Interface Association:
      bLength 8
      bDescriptorType 11
      bFirstInterface 3
      bInterfaceCount 2
      bFunctionClass 1 Audio
      bFunctionSubClass 2 Streaming
      bFunctionProtocol 0
      iFunction 0
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 3
      bAlternateSetting 0
      bNumEndpoints 0
      bInterfaceClass 1 Audio
      bInterfaceSubClass 1 Control Device
      bInterfaceProtocol 0
      iInterface 0
      AudioControl Interface Descriptor:
        bLength 9
        bDescriptorType 36
        bDescriptorSubtype 1 (HEADER)
        bcdADC 1.00
        wTotalLength 38
        bInCollection 1
        baInterfaceNr( 0) 4
      AudioControl Interface Descriptor:
        bLength 12
        bDescriptorType 36
        bDescriptorSubtype 2 (INPUT_TERMINAL)
        bTerminalID 1
        wTerminalType 0x0201 Microphone
        bAssocTerminal 0
        bNrChannels 2
        wChannelConfig 0x0003
          Left Front (L)
          Right Front (R)
        iChannelNames 0
        iTerminal 0
      AudioControl Interface Descriptor:
        bLength 9
        bDescriptorType 36
        bDescriptorSubtype 3 (OUTPUT_TERMINAL)
        bTerminalID 3
        wTerminalType 0x0101 USB Streaming
        bAssocTerminal 0
        bSourceID 5
        iTerminal 0
      AudioControl Interface Descriptor:
        bLength 8
        bDescriptorType 36
        bDescriptorSubtype 6 (FEATURE_UNIT)
        bUnitID 5
        bSourceID 1
        bControlSize 1
        bmaControls( 0) 0x03
          Mute Control
          Volume Control
        iFeature 0
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 4
      bAlternateSetting 0
      bNumEndpoints 0
      bInterfaceClass 1 Audio
      bInterfaceSubClass 2 Streaming
      bInterfaceProtocol 0
      iInterface 0
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 4
      bAlternateSetting 1
      bNumEndpoints 1
      bInterfaceClass 1 Audio
      bInterfaceSubClass 2 Streaming
      bInterfaceProtocol 0
      iInterface 0
      AudioStreaming Interface Descriptor:
        bLength 7
        bDescriptorType 36
        bDescriptorSubtype 1 (AS_GENERAL)
        bTerminalLink 3
        bDelay 2 frames
        wFormatTag 1 PCM
      AudioStreaming Interface Descriptor:
        bLength 11
        bDescriptorType 36
        bDescriptorSubtype 2 (FORMAT_TYPE)
        bFormatType 1 (FORMAT_TYPE_I)
        bNrChannels 2
        bSubframeSize 2
        bBitResolution 16
        bSamFreqType 1 Discrete
        tSamFreq[ 0] 16000
      Endpoint Descriptor:
        bLength 9
        bDescriptorType 5
        bEndpointAddress 0x82 EP 2 IN
        bmAttributes 13
          Transfer Type Isochronous
          Synch Type Synchronous
          Usage Type Data
        wMaxPacketSize 0x0200 1x 512 bytes
        bInterval 4
        bRefresh 0
        bSynchAddress 0
        AudioControl Endpoint Descriptor:
          bLength 7
          bDescriptorType 37
          bDescriptorSubtype 1 (EP_GENERAL)
          bmAttributes 0x01
            Sampling Frequency
          bLockDelayUnits 0 Undefined
          wLockDelay 0 Undefined
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)

=================================================================
usbview returns:

IPEVO Ziggi-HD Plus
Manufacturer: IPEVO Inc.
Speed: 480Mb/s (high)
Bus: 7
Address: 2
USB Version: 2.00
Device Class: ef(misc )
Device Subclass: 02
Device Protocol: 01
Maximum Default Endpoint Size: 64
Number of Configurations: 1
Vendor Id: 1778
Product Id: 0221
Revision Number: 10.21

Config Number: 1
 Number of Interfaces: 4
 Attributes: 80
 MaxPower Needed: 500mA

 Interface Number: 0
  Name: uvcvideo
  Alternate Number: 0
  Class: 0e(video)
  Sub Class: 01
  Protocol: 00
  Number of Endpoints: 1

   Endpoint Address: 83
   Direction: in
   Attribute: 3
   Type: Int.
   Max Packet Size: 64
   Interval: 16ms

 Interface Number: 1
  Name: uvcvideo
  Alternate Number: 0
  Class: 0e(video)
  Sub Class: 02
  Protocol: 00
  Number of Endpoints: 0

 Interface Number: 1
  Name: uvcvideo
  Alternate Number: 1
  Class: 0e(video)
  Sub Class: 02
  Protocol: 00
  Number of Endpoints: 1

   Endpoint Address: 81
   Direction: in
   Attribute: 5
   Type: Isoc
   Max Packet Size: 3048
   Interval: 125us

 Interface Number: 3
  Name: snd-usb-audio
  Alternate Number: 0
  Class: 01(audio)
  Sub Class: 01
  Protocol: 00
  Number of Endpoints: 0

 Interface Number: 4
  Name: snd-usb-audio
  Alternate Number: 0
  Class: 01(audio)
  Sub Class: 02
  Protocol: 00
  Number of Endpoints: 0

 Interface Number: 4
  Name: snd-usb-audio
  Alternate Number: 1
  Class: 01(audio)
  Sub Class: 02
  Protocol: 00
  Number of Endpoints: 1

   Endpoint Address: 82
   Direction: in
   Attribute: 13
   Type: Isoc
   Max Packet Size: 512
   Interval: 1ms

Tags: focal
Revision history for this message
Andrew Gerald (co6aka) wrote :

I forgot to add that on the Cheese reference page...
https://developer.gnome.org/cheese/stable/cheese.html
...under "Invocation: cheese takes a list of options as arguments: Options:" a command line switch is documented that supposedly permits selecting the video device...
"--device=DEVICE, -d DEVICE Use the supplied DEVICE as the video capture device."
...but this has no effect, and even when entering a nonexistent video device (or random characters) no error message is returned; apparently this functionality is missing.
I've tried all permutations of video device, ex- "/dev/video#" and just "video#"

Revision history for this message
Andrew Gerald (co6aka) wrote :

Here's the problem:
https://gitlab.gnome.org/GNOME/cheese/issues/4
Cheese uses "ID_V4L_PRODUCT" to differentiate video devices...
My camera and others have multiple video streams which are enumerated as "video0" "video1" "video2" etcetera.
In all instances/streams "ID_V4L_PRODUCT" is the same...

udevadm info --query=all --name=/dev/video0
P: /devices/pci0000:00/0000:00:10.1/usb7/7-2/7-2:1.0/video4linux/video0
N: video0
S: v4l/by-id/usb-IPEVO_Inc._IPEVO_Ziggi-HD_Plus-video-index0
S: v4l/by-path/pci-0000:00:10.1-usb-0:2:1.0-video-index0
E: DEVLINKS=/dev/v4l/by-path/pci-0000:00:10.1-usb-0:2:1.0-video-index0 /dev/v4l/by-id/usb-IPEVO_Inc._IPEVO_Ziggi-HD_Plus-video-index0
E: DEVNAME=/dev/video0
E: DEVPATH=/devices/pci0000:00/0000:00:10.1/usb7/7-2/7-2:1.0/video4linux/video0
E: ID_BUS=usb
E: ID_FOR_SEAT=video4linux-pci-0000_00_10_1-usb-0_2_1_0
E: ID_MODEL=IPEVO_Ziggi-HD_Plus
E: ID_MODEL_ENC=IPEVO\x20Ziggi-HD\x20Plus
E: ID_MODEL_ID=0221
E: ID_PATH=pci-0000:00:10.1-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_00_10_1-usb-0_2_1_0
E: ID_REVISION=1021
E: ID_SERIAL=IPEVO_Inc._IPEVO_Ziggi-HD_Plus
E: ID_TYPE=video
E: ID_USB_DRIVER=uvcvideo
E: ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
E: ID_USB_INTERFACE_NUM=00
E: ID_V4L_CAPABILITIES=:capture:
E: ID_V4L_PRODUCT=IPEVO Ziggi-HD Plus
E: ID_V4L_VERSION=2
E: ID_VENDOR=IPEVO_Inc.
E: ID_VENDOR_ENC=IPEVO\x20Inc.
E: ID_VENDOR_ID=1778
E: MAJOR=81
E: MINOR=0
E: SUBSYSTEM=video4linux
E: TAGS=:uaccess:seat:
E: USEC_INITIALIZED=85117738827

udevadm info --query=all --name=/dev/video1
P: /devices/pci0000:00/0000:00:10.1/usb7/7-2/7-2:1.0/video4linux/video1
N: video1
S: v4l/by-id/usb-IPEVO_Inc._IPEVO_Ziggi-HD_Plus-video-index1
S: v4l/by-path/pci-0000:00:10.1-usb-0:2:1.0-video-index1
E: DEVLINKS=/dev/v4l/by-path/pci-0000:00:10.1-usb-0:2:1.0-video-index1 /dev/v4l/by-id/usb-IPEVO_Inc._IPEVO_Ziggi-HD_Plus-video-index1
E: DEVNAME=/dev/video1
E: DEVPATH=/devices/pci0000:00/0000:00:10.1/usb7/7-2/7-2:1.0/video4linux/video1
E: ID_BUS=usb
E: ID_FOR_SEAT=video4linux-pci-0000_00_10_1-usb-0_2_1_0
E: ID_MODEL=IPEVO_Ziggi-HD_Plus
E: ID_MODEL_ENC=IPEVO\x20Ziggi-HD\x20Plus
E: ID_MODEL_ID=0221
E: ID_PATH=pci-0000:00:10.1-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_00_10_1-usb-0_2_1_0
E: ID_REVISION=1021
E: ID_SERIAL=IPEVO_Inc._IPEVO_Ziggi-HD_Plus
E: ID_TYPE=video
E: ID_USB_DRIVER=uvcvideo
E: ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
E: ID_USB_INTERFACE_NUM=00
E: ID_V4L_CAPABILITIES=:capture:
E: ID_V4L_PRODUCT=IPEVO Ziggi-HD Plus
E: ID_V4L_VERSION=2
E: ID_VENDOR=IPEVO_Inc.
E: ID_VENDOR_ENC=IPEVO\x20Inc.
E: ID_VENDOR_ID=1778
E: MAJOR=81
E: MINOR=1
E: SUBSYSTEM=video4linux
E: TAGS=:seat:uaccess:
E: USEC_INITIALIZED=85117740524

Revision history for this message
Andrew Gerald (co6aka) wrote :

Any hope of this being addressed? It makes Cheese essentially useless for multi-stream cameras because a particular stream cannot be selected.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanls for the bug report & upstream reference

Changed in cheese (Ubuntu):
importance: Undecided → High
status: New → Confirmed
status: Confirmed → Triaged
Revision history for this message
Andrew Gerald (co6aka) wrote :

Thank you!

Cheese should changed to search for and enumerate, or manually select, cameras by /dev/device#, such as for example:

$ cheese -d "/dev/video1"

Instead of the way it's currently programmed, such as for example:

$ cheese -d "Secret Squirrel Webcam"

(The contents of the "ID_V4L_PRODUCT" variable.)

OR: Perhaps the combination of both methods should be employed to find and enumerate ALL devices and streams. Perhaps like this:

"Secret Squirrel Webcam (video0)"
"Secret Squirrel Webcam (video1)"
"Secret Squirrel Webcam (video2)"
"Some Other Camera Device (video3)"

Max (m-gorodok)
tags: added: focal
Revision history for this message
Max (m-gorodok) wrote :

I think https://gitlab.gnome.org/GNOME/cheese/-/issues/28 "Cheese only uses video/x-raw formats, and not image/jpeg" better matches the heading of this issue, so I have added it as a tracked bug.

It is fixed, but Ubuntu-20.04 is still affected. Live image with 21.04 fails to boot on the affected laptop (AMD Ryzen), so unsure concerning bug status in the latest distro.

Changed in cheese:
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.