Hi Hans Could you try running git bisect to figure out exactly at what commit the device stops working? https://git-scm.com/docs/git-bisect Usually in 7 steps or so you will get an answer and it will really help the debug process. Thanks! On Sat, Jun 5, 2021 at 11:41 PM Hans Petter Selasky <hps@xxxxxxxxxxx> wrote: > > Hi, > > The following device used to work with Linux, but has stopped working. > I'm currently using Linux-5.13.rc2. > > When I open /dev/video0 I see that the isochronous endpoint gets going, > but only 12 bytes is received for each frame: > > frame[116] READ 12 bytes > 0000 0C 8C 00 00 00 00 76 11 76 1C A3 02 -- -- -- -- |......v.v... | > frame[117] READ 12 bytes > 0000 0C 8C 00 00 00 00 C2 2E 76 1C A3 02 -- -- -- -- |........v... | > frame[118] READ 12 bytes > 0000 0C 8C 00 00 00 00 10 4C 76 1C A3 02 -- -- -- -- |.......Lv... | > frame[119] READ 12 bytes > 0000 0C 8C 00 00 00 00 5C 69 76 1C A3 02 -- -- -- -- |......\iv... | > frame[120] READ 12 bytes > 0000 0C 8C 00 00 00 00 A8 86 76 1C A4 02 -- -- -- -- |........v... | > frame[121] READ 12 bytes > 0000 0C 8C 00 00 00 00 F4 A3 76 1C A4 02 -- -- -- -- |........v... | > frame[122] READ 12 bytes > 0000 0C 8C 00 00 00 00 42 C1 76 1C A4 02 -- -- -- -- |......B.v... | > frame[123] READ 12 bytes > 0000 0C 8C 00 00 00 00 8E DE 76 1C A4 02 -- -- -- -- |........v... | > frame[124] READ 12 bytes > 0000 0C 8C 00 00 00 00 DA FB 76 1C A4 02 -- -- -- -- |........v... | > frame[125] READ 12 bytes > 0000 0C 8C 00 00 00 00 26 19 77 1C A4 02 -- -- -- -- |......&.w... | > frame[126] READ 12 bytes > 0000 0C 8C 00 00 00 00 72 36 77 1C A4 02 -- -- -- -- |......r6w... | > frame[127] READ 12 bytes > 0000 0C 8C 00 00 00 00 BE 53 77 1C A4 02 -- -- -- -- |.......Sw... | > > Works fine with UVC driver in MacOSX, in between. > > I suspect the device is missing some control endpoint command to > activate the stream. Maybe someone here can help identify the problem or > give some pointers where to look in the code. > > The only error I see from the kernel is this: > > webcamd 7520 - - ERR: : Failed to query (GET_INFO) UVC control 4 on unit > 1: -32 (exp. 1). > > > Here is the output from lsusb (FreeBSD): > > Bus /dev/usb Device /dev/ugen0.4: ID 05e3:f12a Genesys Logic, Inc. > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.00 > bDeviceClass 239 Miscellaneous Device > bDeviceSubClass 2 ? > bDeviceProtocol 1 Interface Association > bMaxPacketSize0 64 > idVendor 0x05e3 Genesys Logic, Inc. > idProduct 0xf12a > bcdDevice 6.16 > iManufacturer 0 > iProduct 1 USB2.0 Digital Camera > iSerial 1 USB2.0 Digital Camera > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 425 > 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 USB2.0 Digital Camera > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 1 > bInterfaceClass 14 Video > bInterfaceSubClass 1 Video Control > bInterfaceProtocol 0 > iInterface 1 USB2.0 Digital Camera > VideoControl Interface Descriptor: > bLength 13 > bDescriptorType 36 > bDescriptorSubtype 1 (HEADER) > bcdUVC 1.00 > wTotalLength 105 > dwClockFrequency 60.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 2 > iTerminal 0 > VideoControl Interface Descriptor: > bLength 27 > bDescriptorType 36 > bDescriptorSubtype 6 (EXTENSION_UNIT) > bUnitID 2 > guidExtensionCode {0b365d5e-5fe4-8145-9b0b-374669ba05d4} > bNumControl 16 > bNrPins 1 > baSourceID( 0) 5 > bControlSize 2 > bmControls( 0) 0xff > bmControls( 1) 0x00 > iExtension 0 > VideoControl Interface Descriptor: > bLength 27 > bDescriptorType 36 > bDescriptorSubtype 6 (EXTENSION_UNIT) > bUnitID 5 > guidExtensionCode {03dfdaec-e38f-274d-893b-a18d25aeee09} > bNumControl 16 > bNrPins 1 > baSourceID( 0) 3 > bControlSize 2 > bmControls( 0) 0xff > bmControls( 1) 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 0x00000008 > Exposure Time (Absolute) > VideoControl Interface Descriptor: > bLength 11 > bDescriptorType 36 > bDescriptorSubtype 5 (PROCESSING_UNIT) > Warning: Descriptor too short > bUnitID 3 > bSourceID 1 > wMaxMultiplier 0 > bControlSize 2 > bmControls 0x0000177f > Brightness > Contrast > Hue > Saturation > Sharpness > Gamma > White Balance Temperature > Backlight Compensation > Gain > Power Line Frequency > White Balance Temperature, Auto > iProcessing 0 > bmVideoStandards 0x e > NTSC - 525/60 > PAL - 625/50 > SECAM - 625/50 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x83 EP 3 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x0017 1x 23 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 257 > bEndPointAddress 129 > bmInfo 0 > bTerminalLink 4 > bStillCaptureMethod 2 > bTriggerSupport 1 > bTriggerUsage 1 > bControlSize 1 > bmaControls( 0) 27 > VideoStreaming Interface Descriptor: > bLength 27 > bDescriptorType 36 > bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) > bFormatIndex 1 > 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 15360000 > dwMaxBitRate 15360000 > dwMaxVideoFrameBufferSize 614400 > dwDefaultFrameInterval 400000 > bFrameIntervalType 1 > dwFrameInterval( 0) 400000 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) > bFrameIndex 2 > bmCapabilities 0x00 > Still image unsupported > wWidth 160 > wHeight 120 > dwMinBitRate 960000 > dwMaxBitRate 960000 > dwMaxVideoFrameBufferSize 38400 > 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 176 > wHeight 144 > dwMinBitRate 1267200 > dwMaxBitRate 1267200 > dwMaxVideoFrameBufferSize 50688 > dwDefaultFrameInterval 400000 > bFrameIntervalType 1 > dwFrameInterval( 0) 400000 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) > bFrameIndex 4 > bmCapabilities 0x00 > Still image unsupported > wWidth 320 > wHeight 240 > dwMinBitRate 3840000 > dwMaxBitRate 3840000 > dwMaxVideoFrameBufferSize 153600 > dwDefaultFrameInterval 400000 > bFrameIntervalType 1 > dwFrameInterval( 0) 400000 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) > bFrameIndex 5 > bmCapabilities 0x00 > Still image unsupported > wWidth 352 > wHeight 288 > dwMinBitRate 5068800 > dwMaxBitRate 5068800 > dwMaxVideoFrameBufferSize 202752 > dwDefaultFrameInterval 400000 > bFrameIntervalType 1 > dwFrameInterval( 0) 400000 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) > bFrameIndex 6 > bmCapabilities 0x00 > Still image unsupported > wWidth 640 > wHeight 480 > dwMinBitRate 15360000 > dwMaxBitRate 15360000 > dwMaxVideoFrameBufferSize 614400 > dwDefaultFrameInterval 400000 > bFrameIntervalType 1 > dwFrameInterval( 0) 400000 > VideoStreaming Interface Descriptor: > bLength 30 > bDescriptorType 36 > bDescriptorSubtype 3 (STILL_IMAGE_FRAME) > bEndpointAddress 0 > bNumImageSizePatterns 6 > wWidth( 0) 640 > wHeight( 0) 480 > wWidth( 1) 160 > wHeight( 1) 120 > wWidth( 2) 176 > wHeight( 2) 144 > wWidth( 3) 320 > wHeight( 3) 240 > wWidth( 4) 352 > wHeight( 4) 288 > wWidth( 5) 640 > wHeight( 5) 480 > bNumCompressionPatterns 6 > 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 > 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) > > --HPS -- Ricardo Ribalda