All of lore.kernel.org
 help / color / mirror / Atom feed
* Genesys Logic UVC microscopes used to work with Linux, but no longer do
@ 2021-06-05 21:32 Hans Petter Selasky
  2021-06-06 13:32 ` [PATCH] Genesys Logic UVC microscopes used to work with Linux Hans Petter Selasky
  2021-06-06 19:41 ` Genesys Logic UVC microscopes used to work with Linux, but no longer do Ricardo Ribalda Delgado
  0 siblings, 2 replies; 6+ messages in thread
From: Hans Petter Selasky @ 2021-06-05 21:32 UTC (permalink / raw)
  To: Linux Media Mailing List

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-06-07 22:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-05 21:32 Genesys Logic UVC microscopes used to work with Linux, but no longer do Hans Petter Selasky
2021-06-06 13:32 ` [PATCH] Genesys Logic UVC microscopes used to work with Linux Hans Petter Selasky
2021-06-07 20:17   ` Ricardo Ribalda Delgado
2021-06-07 22:29     ` Laurent Pinchart
2021-06-06 19:41 ` Genesys Logic UVC microscopes used to work with Linux, but no longer do Ricardo Ribalda Delgado
2021-06-07 13:09   ` Hans Petter Selasky

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.