All of lore.kernel.org
 help / color / mirror / Atom feed
* uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
@ 2018-03-20 12:20 Paul Menzel
  2018-03-20 13:30 ` Laurent Pinchart
  2018-03-20 17:45 ` Nicolas Dufresne
  0 siblings, 2 replies; 11+ messages in thread
From: Paul Menzel @ 2018-03-20 12:20 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media, linux-kernel, it+linux-media

[-- Attachment #1: Type: text/plain, Size: 2137 bytes --]

Dear Linux folks,


On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.

```
[    2.338094] calling  uvc_init+0x0/0x1000 [uvcvideo] @ 295
[    2.338569] calling  iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt] @ 280
[    2.338570] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
[    2.338713] iTCO_wdt: Found a Intel PCH TCO device (Version=4,
TCOBASE=0x0400)
[    2.338755] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD 
(0bda:58f4)
[    2.338827] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[    2.338851] initcall iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt] 
returned 0 after 271 usecs
[    2.340669] uvcvideo 1-5:1.0: Entity type for entity Extension 4 was 
not initialized!
[    2.340670] uvcvideo 1-5:1.0: Entity type for entity Extension 7 was 
not initialized!
[    2.340672] uvcvideo 1-5:1.0: Entity type for entity Processing 2 was 
not initialized!
[    2.340673] uvcvideo 1-5:1.0: Entity type for entity Camera 1 was not
initialized!
[    2.340736] input: Integrated_Webcam_HD: Integrate as
/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
[    2.341447] uvcvideo: Unknown video format
00000032-0002-0010-8000-00aa00389b71
[    2.341450] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD 
(0bda:58f4)
[    2.343371] uvcvideo: Unable to create debugfs 1-2 directory.
[    2.343420] uvcvideo 1-5:1.2: Entity type for entity Extension 10 was 
not initialized!
[    2.343422] uvcvideo 1-5:1.2: Entity type for entity Extension 12 was 
not initialized!
[    2.343423] uvcvideo 1-5:1.2: Entity type for entity Processing 9 was 
not initialized!
[    2.343424] uvcvideo 1-5:1.2: Entity type for entity Camera 11 was 
not initialized!
[    2.343472] input: Integrated_Webcam_HD: Integrate as
/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input10
[    2.343496] usbcore: registered new interface driver uvcvideo
[    2.343496] USB Video Class driver (1.1.1)
[    2.343501] initcall uvc_init+0x0/0x1000 [uvcvideo] returned 0 after 
5275 usecs
```

Please tell me, what I can do to improve the situation.


Kind regards,

Paul


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 5174 bytes --]

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

* Re: uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
  2018-03-20 12:20 uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71 Paul Menzel
@ 2018-03-20 13:30 ` Laurent Pinchart
  2018-03-20 16:46   ` Paul Menzel
  2018-03-20 17:45 ` Nicolas Dufresne
  1 sibling, 1 reply; 11+ messages in thread
From: Laurent Pinchart @ 2018-03-20 13:30 UTC (permalink / raw)
  To: Paul Menzel; +Cc: linux-media, linux-kernel, it+linux-media

Hi Paul,

On Tuesday, 20 March 2018 14:20:14 EET Paul Menzel wrote:
> Dear Linux folks,
> 
> 
> On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.
> 
> ```
> [    2.338094] calling  uvc_init+0x0/0x1000 [uvcvideo] @ 295
> [    2.338569] calling  iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt] @ 280
> [    2.338570] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
> [    2.338713] iTCO_wdt: Found a Intel PCH TCO device (Version=4,
> TCOBASE=0x0400)
> [    2.338755] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> (0bda:58f4)
> [    2.338827] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
> [    2.338851] initcall iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt]
> returned 0 after 271 usecs
> [    2.340669] uvcvideo 1-5:1.0: Entity type for entity Extension 4 was
> not initialized!
> [    2.340670] uvcvideo 1-5:1.0: Entity type for entity Extension 7 was
> not initialized!
> [    2.340672] uvcvideo 1-5:1.0: Entity type for entity Processing 2 was
> not initialized!
> [    2.340673] uvcvideo 1-5:1.0: Entity type for entity Camera 1 was not
> initialized!
> [    2.340736] input: Integrated_Webcam_HD: Integrate as
> /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
> [    2.341447] uvcvideo: Unknown video format
> 00000032-0002-0010-8000-00aa00389b71
> [    2.341450] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> (0bda:58f4)
> [    2.343371] uvcvideo: Unable to create debugfs 1-2 directory.
> [    2.343420] uvcvideo 1-5:1.2: Entity type for entity Extension 10 was
> not initialized!
> [    2.343422] uvcvideo 1-5:1.2: Entity type for entity Extension 12 was
> not initialized!
> [    2.343423] uvcvideo 1-5:1.2: Entity type for entity Processing 9 was
> not initialized!
> [    2.343424] uvcvideo 1-5:1.2: Entity type for entity Camera 11 was
> not initialized!
> [    2.343472] input: Integrated_Webcam_HD: Integrate as
> /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input10
> [    2.343496] usbcore: registered new interface driver uvcvideo
> [    2.343496] USB Video Class driver (1.1.1)
> [    2.343501] initcall uvc_init+0x0/0x1000 [uvcvideo] returned 0 after
> 5275 usecs
> ```
> 
> Please tell me, what I can do to improve the situation.

Some vendors routinely implement new formats without bothering to send a patch 
for the uvcvideo driver. It would be easy to do so, but it requires knowing 
which format is meant by the GUID. Most format GUIDs are of the form 
32595559-0000-0010-8000-00aa00389b71 that starts with a 4CC, but that's not 
the case here.

Could you send me the output of

lsusb -v -d 0bda:58f4

running as root if possible ?

-- 
Regards,

Laurent Pinchart

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

* Re: uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
  2018-03-20 13:30 ` Laurent Pinchart
@ 2018-03-20 16:46   ` Paul Menzel
  2018-03-21  9:25     ` Laurent Pinchart
  0 siblings, 1 reply; 11+ messages in thread
From: Paul Menzel @ 2018-03-20 16:46 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: linux-media, linux-kernel, it+linux-media, Mario Limonciello

[-- Attachment #1: Type: text/plain, Size: 1144 bytes --]

Dear Laurent,


On 03/20/18 14:30, Laurent Pinchart wrote:

> On Tuesday, 20 March 2018 14:20:14 EET Paul Menzel wrote:

>> On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.
>>
>> ```

[…]

>> [    2.340736] input: Integrated_Webcam_HD: Integrate as
>> /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
>> [    2.341447] uvcvideo: Unknown video format
>> 00000032-0002-0010-8000-00aa00389b71 >> [    2.341450] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
>> (0bda:58f4)

[…]

>> ```
>>
>> Please tell me, what I can do to improve the situation.
> 
> Some vendors routinely implement new formats without bothering to send a patch
> for the uvcvideo driver. It would be easy to do so, but it requires knowing
> which format is meant by the GUID. Most format GUIDs are of the form
> 32595559-0000-0010-8000-00aa00389b71 that starts with a 4CC, but that's not
> the case here.

I am adding Mario to the receiver list, though he is currently on vacation.

> Could you send me the output of
> 
> lsusb -v -d 0bda:58f4
> 
> running as root if possible ?

Sure, please find it attached.


Kind regards,

Paul

[-- Attachment #2: lsusb-v-d-0bda58f4.txt --]
[-- Type: text/plain, Size: 34078 bytes --]


Bus 001 Device 002: ID 0bda:58f4 Realtek Semiconductor Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x0bda Realtek Semiconductor Corp.
  idProduct          0x58f4 
  bcdDevice           76.05
  iManufacturer           3 CN0FFMHCLOG0081JBA49A00
  iProduct                1 Integrated_Webcam_HD
  iSerial                 2 200901010001
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength         1047
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          4 USB Camera
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    ** UNRECOGNIZED:  28 ff 42 49 53 54 00 01 06 07 10 00 00 00 00 00 01 08 f4 01 02 09 f4 01 03 0a f4 01 04 0b f4 01 05 0c f4 01 06 0d e8 03
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass         14 Video
      bFunctionSubClass       3 Video Interface Collection
      bFunctionProtocol       0 
      iFunction               5 Integrated Webcam
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      1 Video Control
      bInterfaceProtocol      0 
      iInterface              5 Integrated Webcam
      VideoControl Interface Descriptor:
        bLength                13
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdUVC               1.00
        wTotalLength          107
        dwClockFrequency       15.000000MHz
        bInCollection           1
        baInterfaceNr( 0)       1
      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           0x0000000e
          Auto-Exposure Mode
          Auto-Exposure Priority
          Exposure Time (Absolute)
      VideoControl Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      5 (PROCESSING_UNIT)
      Warning: Descriptor too short
        bUnitID                 2
        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 9
          None
          SECAM - 625/50
      VideoControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             3
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID               4
        iTerminal               0 
      VideoControl Interface Descriptor:
        bLength                27
        bDescriptorType        36
        bDescriptorSubtype      6 (EXTENSION_UNIT)
        bUnitID                 4
        guidExtensionCode         {8ca72912-b447-9440-b0ce-db07386fb938}
        bNumControl             2
        bNrPins                 1
        baSourceID( 0)          7
        bControlSize            2
        bmControls( 0)       0x00
        bmControls( 1)       0x06
        iExtension              0 
      VideoControl Interface Descriptor:
        bLength                29
        bDescriptorType        36
        bDescriptorSubtype      6 (EXTENSION_UNIT)
        bUnitID                 7
        guidExtensionCode         {c385b80f-c268-4745-90f7-8f47579d95fc}
        bNumControl             0
        bNrPins                 1
        baSourceID( 0)          2
        bControlSize            4
        bmControls( 0)       0x0f
        bmControls( 1)       0x00
        bmControls( 2)       0x00
        bmControls( 3)       0x00
        iExtension              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 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                            15
        bDescriptorType                    36
        bDescriptorSubtype                  1 (INPUT_HEADER)
        bNumFormats                         2
        wTotalLength                      401
        bEndPointAddress                  129
        bmInfo                              0
        bTerminalLink                       3
        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                4
        bFlags                              1
          Fixed-size samples: Yes
        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                   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                  7 (FRAME_MJPEG)
        bFrameIndex                         2
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            848
        wHeight                           480
        dwMinBitRate                195379200
        dwMaxBitRate                195379200
        dwMaxVideoFrameBufferSize      814080
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  7 (FRAME_MJPEG)
        bFrameIndex                         3
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            960
        wHeight                           540
        dwMinBitRate                248832000
        dwMaxBitRate                248832000
        dwMaxVideoFrameBufferSize     1036800
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  7 (FRAME_MJPEG)
        bFrameIndex                         4
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                           1280
        wHeight                           720
        dwMinBitRate                442368000
        dwMaxBitRate                442368000
        dwMaxVideoFrameBufferSize     1843200
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            18
        bDescriptorType                    36
        bDescriptorSubtype                  3 (STILL_IMAGE_FRAME)
        bEndpointAddress                    0
        bNumImageSizePatterns               3
        wWidth( 0)                       1280
        wHeight( 0)                       720
        wWidth( 1)                        960
        wHeight( 1)                       540
        wWidth( 2)                        848
        wHeight( 2)                       480
        bNumCompressionPatterns             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                            640
        wHeight                           360
        dwMinBitRate                110592000
        dwMaxBitRate                110592000
        dwMaxVideoFrameBufferSize      460800
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         3
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            424
        wHeight                           240
        dwMinBitRate                 48844800
        dwMaxBitRate                 48844800
        dwMaxVideoFrameBufferSize      203520
        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                            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                         5
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            320
        wHeight                           180
        dwMinBitRate                 27648000
        dwMaxBitRate                 27648000
        dwMaxVideoFrameBufferSize      115200
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         6
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            160
        wHeight                           120
        dwMinBitRate                  9216000
        dwMaxBitRate                  9216000
        dwMaxVideoFrameBufferSize       38400
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            18
        bDescriptorType                    36
        bDescriptorSubtype                  3 (STILL_IMAGE_FRAME)
        bEndpointAddress                    0
        bNumImageSizePatterns               3
        wWidth( 0)                       1280
        wHeight( 0)                       720
        wWidth( 1)                        960
        wHeight( 1)                       540
        wWidth( 2)                        848
        wHeight( 2)                       480
        bNumCompressionPatterns             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     0x0400  1x 1024 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     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0a40  2x 576 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     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0ba2  2x 930 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     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0c00  2x 1024 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     0x81  EP 1 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x12ea  3x 746 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       6
      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     0x13aa  3x 938 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       7
      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
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         2
      bInterfaceCount         2
      bFunctionClass         14 Video
      bFunctionSubClass       3 Video Interface Collection
      bFunctionProtocol       0 
      iFunction               6 Integrated Webcam
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      1 Video Control
      bInterfaceProtocol      0 
      iInterface              6 Integrated Webcam
      VideoControl Interface Descriptor:
        bLength                13
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdUVC               1.00
        wTotalLength          103
        dwClockFrequency       15.000000MHz
        bInCollection           1
        baInterfaceNr( 0)       3
      VideoControl Interface Descriptor:
        bLength                18
        bDescriptorType        36
        bDescriptorSubtype      2 (INPUT_TERMINAL)
        bTerminalID            11
        wTerminalType      0x0201 Camera Sensor
        bAssocTerminal          0
        iTerminal               0 
        wObjectiveFocalLengthMin      0
        wObjectiveFocalLengthMax      0
        wOcularFocalLength            0
        bControlSize                  3
        bmControls           0x00000000
      VideoControl Interface Descriptor:
        bLength                11
        bDescriptorType        36
        bDescriptorSubtype      5 (PROCESSING_UNIT)
      Warning: Descriptor too short
        bUnitID                 9
        bSourceID              11
        wMaxMultiplier          0
        bControlSize            2
        bmControls     0x00000000
        iProcessing             0 
        bmVideoStandards     0x 9
          None
          SECAM - 625/50
      VideoControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (OUTPUT_TERMINAL)
        bTerminalID             8
        wTerminalType      0x0101 USB Streaming
        bAssocTerminal          0
        bSourceID              10
        iTerminal               0 
      VideoControl Interface Descriptor:
        bLength                25
        bDescriptorType        36
        bDescriptorSubtype      6 (EXTENSION_UNIT)
        bUnitID                12
        guidExtensionCode         {73dab545-c123-3d4a-a368-610f078c4397}
        bNumControl             0
        bNrPins                 1
        baSourceID( 0)          9
        bControlSize            0
        iExtension              0 
      VideoControl Interface Descriptor:
        bLength                27
        bDescriptorType        36
        bDescriptorSubtype      6 (EXTENSION_UNIT)
        bUnitID                10
        guidExtensionCode         {8ca72912-b447-9440-b0ce-db07386fb938}
        bNumControl             2
        bNrPins                 1
        baSourceID( 0)         12
        bControlSize            2
        bmControls( 0)       0x00
        bmControls( 1)       0x06
        iExtension              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 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        3
      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                       87
        bEndPointAddress                  130
        bmInfo                              0
        bTerminalLink                       8
        bStillCaptureMethod                 2
        bTriggerSupport                     1
        bTriggerUsage                       0
        bControlSize                        1
        bmaControls( 0)                    27
      VideoStreaming Interface Descriptor:
        bLength                            27
        bDescriptorType                    36
        bDescriptorSubtype                  4 (FORMAT_UNCOMPRESSED)
        bFormatIndex                        1
        bNumFrameDescriptors                1
        guidFormat                            {32000000-0200-1000-8000-00aa00389b71}
        bBitsPerPixel                       8
        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                            340
        wHeight                           340
        dwMinBitRate                 55488000
        dwMaxBitRate                 55488000
        dwMaxVideoFrameBufferSize      115600
        dwDefaultFrameInterval         166666
        bFrameIntervalType                  1
        dwFrameInterval( 0)            166666
      VideoStreaming Interface Descriptor:
        bLength                            10
        bDescriptorType                    36
        bDescriptorSubtype                  3 (STILL_IMAGE_FRAME)
        bEndpointAddress                    0
        bNumImageSizePatterns               1
        wWidth( 0)                        640
        wHeight( 0)                       480
        bNumCompressionPatterns             1
      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        3
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       2
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0a40  2x 576 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       3
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0ba2  2x 930 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       4
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x0c00  2x 1024 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       5
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x12ea  3x 746 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       6
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x13aa  3x 938 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       7
      bNumEndpoints           1
      bInterfaceClass        14 Video
      bInterfaceSubClass      2 Video Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            5
          Transfer Type            Isochronous
          Synch Type               Asynchronous
          Usage Type               Data
        wMaxPacketSize     0x1400  3x 1024 bytes
        bInterval               1
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength           53
  bNumDeviceCaps          2
Device Status:     0x0000
  (Bus Powered)

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

* Re: uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
  2018-03-20 12:20 uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71 Paul Menzel
  2018-03-20 13:30 ` Laurent Pinchart
@ 2018-03-20 17:45 ` Nicolas Dufresne
  2018-03-20 18:04   ` Laurent Pinchart
  1 sibling, 1 reply; 11+ messages in thread
From: Nicolas Dufresne @ 2018-03-20 17:45 UTC (permalink / raw)
  To: Paul Menzel, Laurent Pinchart; +Cc: linux-media, linux-kernel, it+linux-media

[-- Attachment #1: Type: text/plain, Size: 3146 bytes --]

Le mardi 20 mars 2018 à 13:20 +0100, Paul Menzel a écrit :
> Dear Linux folks,
> 
> 
> On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.
> 
> ```
> [    2.338094] calling  uvc_init+0x0/0x1000 [uvcvideo] @ 295
> [    2.338569] calling  iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt] @ 280
> [    2.338570] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
> [    2.338713] iTCO_wdt: Found a Intel PCH TCO device (Version=4,
> TCOBASE=0x0400)
> [    2.338755] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD 
> (0bda:58f4)
> [    2.338827] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
> [    2.338851] initcall iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt] 
> returned 0 after 271 usecs
> [    2.340669] uvcvideo 1-5:1.0: Entity type for entity Extension 4 was 
> not initialized!
> [    2.340670] uvcvideo 1-5:1.0: Entity type for entity Extension 7 was 
> not initialized!
> [    2.340672] uvcvideo 1-5:1.0: Entity type for entity Processing 2 was 
> not initialized!
> [    2.340673] uvcvideo 1-5:1.0: Entity type for entity Camera 1 was not
> initialized!
> [    2.340736] input: Integrated_Webcam_HD: Integrate as
> /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
> [    2.341447] uvcvideo: Unknown video format
> 00000032-0002-0010-8000-00aa00389b71

While the 0002 is suspicious, this is pretty close to a color format.
I've recently come across of similar format using D3DFORMAT instead of
GUID. According to the vendor*, this camera module includes an infrared
camera (340x340), so I suspect this is to specify the format it
outputs. A good guess to start with would be that this is
D3DFMT_X8L8V8U8 (0x32). To test it, you could map this
V4L2_PIX_FMT_YUV32/xRGB and see if the driver is happy with the buffer
size. Then render it to make sure it looks some image of some sort. A
new format will need to be defined as this format is in the wrong
order, and is ambiguous (it may mean AYUV or xYUV). I'm not sure if we
need specific formats to differentiate infrared data from YUV images,
need to be discussed.

*https://dustinweb.azureedge.net/media/338953/xps-13-9370.pdf

> [    2.341450] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD 
> (0bda:58f4)
> [    2.343371] uvcvideo: Unable to create debugfs 1-2 directory.
> [    2.343420] uvcvideo 1-5:1.2: Entity type for entity Extension 10 was 
> not initialized!
> [    2.343422] uvcvideo 1-5:1.2: Entity type for entity Extension 12 was 
> not initialized!
> [    2.343423] uvcvideo 1-5:1.2: Entity type for entity Processing 9 was 
> not initialized!
> [    2.343424] uvcvideo 1-5:1.2: Entity type for entity Camera 11 was 
> not initialized!
> [    2.343472] input: Integrated_Webcam_HD: Integrate as
> /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input10
> [    2.343496] usbcore: registered new interface driver uvcvideo
> [    2.343496] USB Video Class driver (1.1.1)
> [    2.343501] initcall uvc_init+0x0/0x1000 [uvcvideo] returned 0 after 
> 5275 usecs
> ```
> 
> Please tell me, what I can do to improve the situation.
> 
> 
> Kind regards,
> 
> Paul
> 

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

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

* Re: uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
  2018-03-20 17:45 ` Nicolas Dufresne
@ 2018-03-20 18:04   ` Laurent Pinchart
  2018-03-21  3:38     ` Nicolas Dufresne
  0 siblings, 1 reply; 11+ messages in thread
From: Laurent Pinchart @ 2018-03-20 18:04 UTC (permalink / raw)
  To: Nicolas Dufresne; +Cc: Paul Menzel, linux-media, linux-kernel, it+linux-media

Hi Nicolas,

On Tuesday, 20 March 2018 19:45:51 EET Nicolas Dufresne wrote:
> Le mardi 20 mars 2018 à 13:20 +0100, Paul Menzel a écrit :
> > Dear Linux folks,
> > 
> > 
> > On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.
> > 
> > ```
> > [    2.338094] calling  uvc_init+0x0/0x1000 [uvcvideo] @ 295
> > [    2.338569] calling  iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt] @ 280
> > [    2.338570] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
> > [    2.338713] iTCO_wdt: Found a Intel PCH TCO device (Version=4,
> > TCOBASE=0x0400)
> > [    2.338755] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> > (0bda:58f4)
> > [    2.338827] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
> > [    2.338851] initcall iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt]
> > returned 0 after 271 usecs
> > [    2.340669] uvcvideo 1-5:1.0: Entity type for entity Extension 4 was
> > not initialized!
> > [    2.340670] uvcvideo 1-5:1.0: Entity type for entity Extension 7 was
> > not initialized!
> > [    2.340672] uvcvideo 1-5:1.0: Entity type for entity Processing 2 was
> > not initialized!
> > [    2.340673] uvcvideo 1-5:1.0: Entity type for entity Camera 1 was not
> > initialized!
> > [    2.340736] input: Integrated_Webcam_HD: Integrate as
> > /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
> > [    2.341447] uvcvideo: Unknown video format
> > 00000032-0002-0010-8000-00aa00389b71
> 
> While the 0002 is suspicious, this is pretty close to a color format.
> I've recently come across of similar format using D3DFORMAT instead of
> GUID. According to the vendor*, this camera module includes an infrared
> camera (340x340), so I suspect this is to specify the format it
> outputs. A good guess to start with would be that this is
> D3DFMT_X8L8V8U8 (0x32).

Isn't 0x32 D3DFMT_L8, not D3DFMT_X8L8V8U8 ?

> To test it, you could map this
> V4L2_PIX_FMT_YUV32/xRGB and see if the driver is happy with the buffer
> size.

VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         1
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                            340
        wHeight                           340
        dwMinBitRate                 55488000
        dwMaxBitRate                 55488000
        dwMaxVideoFrameBufferSize      115600
        dwDefaultFrameInterval         166666
        bFrameIntervalType                  1
        dwFrameInterval( 0)            166666

340*340 is 115600, so this should be a 8-bit format.

> Then render it to make sure it looks some image of some sort. A
> new format will need to be defined as this format is in the wrong
> order, and is ambiguous (it may mean AYUV or xYUV). I'm not sure if we
> need specific formats to differentiate infrared data from YUV images,
> need to be discussed.

If the format is indeed D3DFMT_L8, it should map to V4L2_PIX_FMT_GREY (8-bit 
luminance). I suspect the camera transmits a depth map though.

> *https://dustinweb.azureedge.net/media/338953/xps-13-9370.pdf
> 
> > [    2.341450] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> > (0bda:58f4)
> > [    2.343371] uvcvideo: Unable to create debugfs 1-2 directory.
> > [    2.343420] uvcvideo 1-5:1.2: Entity type for entity Extension 10 was
> > not initialized!
> > [    2.343422] uvcvideo 1-5:1.2: Entity type for entity Extension 12 was
> > not initialized!
> > [    2.343423] uvcvideo 1-5:1.2: Entity type for entity Processing 9 was
> > not initialized!
> > [    2.343424] uvcvideo 1-5:1.2: Entity type for entity Camera 11 was
> > not initialized!
> > [    2.343472] input: Integrated_Webcam_HD: Integrate as
> > /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input10
> > [    2.343496] usbcore: registered new interface driver uvcvideo
> > [    2.343496] USB Video Class driver (1.1.1)
> > [    2.343501] initcall uvc_init+0x0/0x1000 [uvcvideo] returned 0 after
> > 5275 usecs
> > ```
> > 
> > Please tell me, what I can do to improve the situation.

-- 
Regards,

Laurent Pinchart

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

* Re: uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
  2018-03-20 18:04   ` Laurent Pinchart
@ 2018-03-21  3:38     ` Nicolas Dufresne
  2018-03-21  8:55       ` Laurent Pinchart
  0 siblings, 1 reply; 11+ messages in thread
From: Nicolas Dufresne @ 2018-03-21  3:38 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: Paul Menzel, linux-media, linux-kernel, it+linux-media

Le mardi 20 mars 2018 à 20:04 +0200, Laurent Pinchart a écrit :
> Hi Nicolas,
> 
> On Tuesday, 20 March 2018 19:45:51 EET Nicolas Dufresne wrote:
> > Le mardi 20 mars 2018 à 13:20 +0100, Paul Menzel a écrit :
> > > Dear Linux folks,
> > > 
> > > 
> > > On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.
> > > 
> > > ```
> > > [    2.338094] calling  uvc_init+0x0/0x1000 [uvcvideo] @ 295
> > > [    2.338569] calling  iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt] @ 280
> > > [    2.338570] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
> > > [    2.338713] iTCO_wdt: Found a Intel PCH TCO device (Version=4,
> > > TCOBASE=0x0400)
> > > [    2.338755] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> > > (0bda:58f4)
> > > [    2.338827] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
> > > [    2.338851] initcall iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt]
> > > returned 0 after 271 usecs
> > > [    2.340669] uvcvideo 1-5:1.0: Entity type for entity Extension 4 was
> > > not initialized!
> > > [    2.340670] uvcvideo 1-5:1.0: Entity type for entity Extension 7 was
> > > not initialized!
> > > [    2.340672] uvcvideo 1-5:1.0: Entity type for entity Processing 2 was
> > > not initialized!
> > > [    2.340673] uvcvideo 1-5:1.0: Entity type for entity Camera 1 was not
> > > initialized!
> > > [    2.340736] input: Integrated_Webcam_HD: Integrate as
> > > /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
> > > [    2.341447] uvcvideo: Unknown video format
> > > 00000032-0002-0010-8000-00aa00389b71
> > 
> > While the 0002 is suspicious, this is pretty close to a color format.
> > I've recently come across of similar format using D3DFORMAT instead of
> > GUID. According to the vendor*, this camera module includes an infrared
> > camera (340x340), so I suspect this is to specify the format it
> > outputs. A good guess to start with would be that this is
> > D3DFMT_X8L8V8U8 (0x32).
> 
> Isn't 0x32 D3DFMT_L8, not D3DFMT_X8L8V8U8 ?

You are right, sorry about that, I totally miss-translate. It felt
weird. This is much more likely yes. So maybe it's the same mapping
(but with the -00002- instead) as what I added for the HoloLense
Camera.
> 
> > To test it, you could map this
> > V4L2_PIX_FMT_YUV32/xRGB and see if the driver is happy with the buffer
> > size.
> 
> VideoStreaming Interface Descriptor:
>         bLength                            30
>         bDescriptorType                    36
>         bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
>         bFrameIndex                         1
>         bmCapabilities                   0x00
>           Still image unsupported
>         wWidth                            340
>         wHeight                           340
>         dwMinBitRate                 55488000
>         dwMaxBitRate                 55488000
>         dwMaxVideoFrameBufferSize      115600
>         dwDefaultFrameInterval         166666
>         bFrameIntervalType                  1
>         dwFrameInterval( 0)            166666
> 
> 340*340 is 115600, so this should be a 8-bit format.

Indeed, that matches.

> 
> > Then render it to make sure it looks some image of some sort. A
> > new format will need to be defined as this format is in the wrong
> > order, and is ambiguous (it may mean AYUV or xYUV). I'm not sure if we
> > need specific formats to differentiate infrared data from YUV images,
> > need to be discussed.
> 
> If the format is indeed D3DFMT_L8, it should map to V4L2_PIX_FMT_GREY (8-bit 
> luminance). I suspect the camera transmits a depth map though.

I wonder if we should think of a way to tell userspace this is fnfrared
data rather then black and white ?

> 
> > *https://dustinweb.azureedge.net/media/338953/xps-13-9370.pdf
> > 
> > > [    2.341450] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> > > (0bda:58f4)
> > > [    2.343371] uvcvideo: Unable to create debugfs 1-2 directory.
> > > [    2.343420] uvcvideo 1-5:1.2: Entity type for entity Extension 10 was
> > > not initialized!
> > > [    2.343422] uvcvideo 1-5:1.2: Entity type for entity Extension 12 was
> > > not initialized!
> > > [    2.343423] uvcvideo 1-5:1.2: Entity type for entity Processing 9 was
> > > not initialized!
> > > [    2.343424] uvcvideo 1-5:1.2: Entity type for entity Camera 11 was
> > > not initialized!
> > > [    2.343472] input: Integrated_Webcam_HD: Integrate as
> > > /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input10
> > > [    2.343496] usbcore: registered new interface driver uvcvideo
> > > [    2.343496] USB Video Class driver (1.1.1)
> > > [    2.343501] initcall uvc_init+0x0/0x1000 [uvcvideo] returned 0 after
> > > 5275 usecs
> > > ```
> > > 
> > > Please tell me, what I can do to improve the situation.
> 
> 

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

* Re: uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
  2018-03-21  3:38     ` Nicolas Dufresne
@ 2018-03-21  8:55       ` Laurent Pinchart
  2018-03-21 19:48         ` Nicolas Dufresne
  0 siblings, 1 reply; 11+ messages in thread
From: Laurent Pinchart @ 2018-03-21  8:55 UTC (permalink / raw)
  To: Nicolas Dufresne; +Cc: Paul Menzel, linux-media, linux-kernel, it+linux-media

Hi Nicolas,

On Wednesday, 21 March 2018 05:38:59 EET Nicolas Dufresne wrote:
> Le mardi 20 mars 2018 à 20:04 +0200, Laurent Pinchart a écrit :
> > On Tuesday, 20 March 2018 19:45:51 EET Nicolas Dufresne wrote:
> > > Le mardi 20 mars 2018 à 13:20 +0100, Paul Menzel a écrit :
> > > > Dear Linux folks,
> > > > 
> > > > 
> > > > On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.
> > > > 
> > > > ```
> > > > [    2.338094] calling  uvc_init+0x0/0x1000 [uvcvideo] @ 295
> > > > [    2.338569] calling  iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt] @
> > > > 280
> > > > [    2.338570] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
> > > > [    2.338713] iTCO_wdt: Found a Intel PCH TCO device (Version=4,
> > > > TCOBASE=0x0400)
> > > > [    2.338755] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> > > > (0bda:58f4)
> > > > [    2.338827] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
> > > > [    2.338851] initcall iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt]
> > > > returned 0 after 271 usecs
> > > > [    2.340669] uvcvideo 1-5:1.0: Entity type for entity Extension 4
> > > > was
> > > > not initialized!
> > > > [    2.340670] uvcvideo 1-5:1.0: Entity type for entity Extension 7
> > > > was
> > > > not initialized!
> > > > [    2.340672] uvcvideo 1-5:1.0: Entity type for entity Processing 2
> > > > was
> > > > not initialized!
> > > > [    2.340673] uvcvideo 1-5:1.0: Entity type for entity Camera 1 was
> > > > not
> > > > initialized!
> > > > [    2.340736] input: Integrated_Webcam_HD: Integrate as
> > > > /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
> > > > [    2.341447] uvcvideo: Unknown video format
> > > > 00000032-0002-0010-8000-00aa00389b71
> > > 
> > > While the 0002 is suspicious, this is pretty close to a color format.
> > > I've recently come across of similar format using D3DFORMAT instead of
> > > GUID. According to the vendor*, this camera module includes an infrared
> > > camera (340x340), so I suspect this is to specify the format it
> > > outputs. A good guess to start with would be that this is
> > > D3DFMT_X8L8V8U8 (0x32).
> > 
> > Isn't 0x32 D3DFMT_L8, not D3DFMT_X8L8V8U8 ?
> 
> You are right, sorry about that, I totally miss-translate. It felt
> weird. This is much more likely yes. So maybe it's the same mapping
> (but with the -00002- instead) as what I added for the HoloLense
> Camera.
> 
> > > To test it, you could map this
> > > V4L2_PIX_FMT_YUV32/xRGB and see if the driver is happy with the buffer
> > > size.
> > 
> > VideoStreaming Interface Descriptor:
> >         bLength                            30
> >         bDescriptorType                    36
> >         bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
> >         bFrameIndex                         1
> >         bmCapabilities                   0x00
> >         
> >           Still image unsupported
> >         
> >         wWidth                            340
> >         wHeight                           340
> >         dwMinBitRate                 55488000
> >         dwMaxBitRate                 55488000
> >         dwMaxVideoFrameBufferSize      115600
> >         dwDefaultFrameInterval         166666
> >         bFrameIntervalType                  1
> >         dwFrameInterval( 0)            166666
> > 
> > 340*340 is 115600, so this should be a 8-bit format.
> 
> Indeed, that matches.
> 
> > > Then render it to make sure it looks some image of some sort. A
> > > new format will need to be defined as this format is in the wrong
> > > order, and is ambiguous (it may mean AYUV or xYUV). I'm not sure if we
> > > need specific formats to differentiate infrared data from YUV images,
> > > need to be discussed.
> > 
> > If the format is indeed D3DFMT_L8, it should map to V4L2_PIX_FMT_GREY
> > (8-bit luminance). I suspect the camera transmits a depth map though.
> 
> I wonder if we should think of a way to tell userspace this is fnfrared
> data rather then black and white ?

I think we need such a mechanism, yes. Would you like to propose one ? :-)

I've found https://www.magnumdb.com/search?q=value%3A
%2200000032-0002-0010-8000-00aa00389b71%22 and https://docs.microsoft.com/en-us/windows-hardware/drivers/stream/infrared-stream-support-in-uvc that confirm 
this is a 8-bit IR format.

> > > *https://dustinweb.azureedge.net/media/338953/xps-13-9370.pdf
> > > 
> > > > [    2.341450] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> > > > (0bda:58f4)
> > > > [    2.343371] uvcvideo: Unable to create debugfs 1-2 directory.
> > > > [    2.343420] uvcvideo 1-5:1.2: Entity type for entity Extension 10
> > > > was
> > > > not initialized!
> > > > [    2.343422] uvcvideo 1-5:1.2: Entity type for entity Extension 12
> > > > was
> > > > not initialized!
> > > > [    2.343423] uvcvideo 1-5:1.2: Entity type for entity Processing 9
> > > > was
> > > > not initialized!
> > > > [    2.343424] uvcvideo 1-5:1.2: Entity type for entity Camera 11 was
> > > > not initialized!
> > > > [    2.343472] input: Integrated_Webcam_HD: Integrate as
> > > > /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input10
> > > > [    2.343496] usbcore: registered new interface driver uvcvideo
> > > > [    2.343496] USB Video Class driver (1.1.1)
> > > > [    2.343501] initcall uvc_init+0x0/0x1000 [uvcvideo] returned 0
> > > > after
> > > > 5275 usecs
> > > > ```
> > > > 
> > > > Please tell me, what I can do to improve the situation.

-- 
Regards,

Laurent Pinchart

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

* Re: uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
  2018-03-20 16:46   ` Paul Menzel
@ 2018-03-21  9:25     ` Laurent Pinchart
  2018-03-21 12:34       ` Paul Menzel
  0 siblings, 1 reply; 11+ messages in thread
From: Laurent Pinchart @ 2018-03-21  9:25 UTC (permalink / raw)
  To: Paul Menzel; +Cc: linux-media, linux-kernel, it+linux-media, Mario Limonciello

Hi Paul,

On Tuesday, 20 March 2018 18:46:24 EET Paul Menzel wrote:
> On 03/20/18 14:30, Laurent Pinchart wrote:
> > On Tuesday, 20 March 2018 14:20:14 EET Paul Menzel wrote:
> >> On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.
> >> 
> >> ```
> 
> […]
> 
> >> [    2.340736] input: Integrated_Webcam_HD: Integrate as
> >> /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
> >> [    2.341447] uvcvideo: Unknown video format
> >> 00000032-0002-0010-8000-00aa00389b71 >> [    2.341450] uvcvideo: Found
> >> UVC 1.00 device Integrated_Webcam_HD (0bda:58f4)
> 
> […]
> 
> >> ```
> >> 
> >> Please tell me, what I can do to improve the situation.
> > 
> > Some vendors routinely implement new formats without bothering to send a
> > patch for the uvcvideo driver. It would be easy to do so, but it requires
> > knowing which format is meant by the GUID. Most format GUIDs are of the
> > form 32595559-0000-0010-8000-00aa00389b71 that starts with a 4CC, but
> > that's not the case here.
> 
> I am adding Mario to the receiver list, though he is currently on vacation.
> 
> > Could you send me the output of
> > 
> > lsusb -v -d 0bda:58f4
> > 
> > running as root if possible ?
> 
> Sure, please find it attached.

Thank you.

Could you please try the following patch ?

commit 7b3dea984b380f5b4b5c1956a9c6c23966af2149
Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date:   Wed Mar 21 11:16:40 2018 +0200

    media: uvcvideo: Add KSMedia 8-bit IR format support
    
    Add support for the 8-bit IR format GUID defined in the Microsoft Kernel
    Streaming Media API.
    
    Reported-by: Paul Menzel <pmenzel+linux-media@molgen.mpg.de>
    Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
index 2469b49b2b30..3691d87ef869 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -99,6 +99,11 @@ static struct uvc_format_desc uvc_fmts[] = {
 		.guid		= UVC_GUID_FORMAT_D3DFMT_L8,
 		.fcc		= V4L2_PIX_FMT_GREY,
 	},
+	{
+		.name		= "IR 8-bit (L8_IR)",
+		.guid		= UVC_GUID_FORMAT_KSMEDIA_L8_IR,
+		.fcc		= V4L2_PIX_FMT_GREY,
+	},
 	{
 		.name		= "Greyscale 10-bit (Y10 )",
 		.guid		= UVC_GUID_FORMAT_Y10,
diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
index be5cf179228b..6b955e0dd956 100644
--- a/drivers/media/usb/uvc/uvcvideo.h
+++ b/drivers/media/usb/uvc/uvcvideo.h
@@ -157,6 +157,9 @@
 #define UVC_GUID_FORMAT_D3DFMT_L8 \
 	{0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, \
 	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
+#define UVC_GUID_FORMAT_KSMEDIA_L8_IR \
+	{0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, \
+	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
 
 
 /* ------------------------------------------------------------------------

-- 
Regards,

Laurent Pinchart

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

* Re: uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
  2018-03-21  9:25     ` Laurent Pinchart
@ 2018-03-21 12:34       ` Paul Menzel
  2018-03-26  7:32         ` Mario.Limonciello
  0 siblings, 1 reply; 11+ messages in thread
From: Paul Menzel @ 2018-03-21 12:34 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: linux-media, linux-kernel, it+linux-media, Mario Limonciello

Dear Laurent,


On 03/21/2018 10:25 AM, Laurent Pinchart wrote:

> On Tuesday, 20 March 2018 18:46:24 EET Paul Menzel wrote:
>> On 03/20/18 14:30, Laurent Pinchart wrote:
>>> On Tuesday, 20 March 2018 14:20:14 EET Paul Menzel wrote:
>>>> On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.
>>>>
>>>> ```
>>
>> […]
>>
>>>> [    2.340736] input: Integrated_Webcam_HD: Integrate as
>>>> /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
>>>> [    2.341447] uvcvideo: Unknown video format
>>>> 00000032-0002-0010-8000-00aa00389b71 >> [    2.341450] uvcvideo: Found
>>>> UVC 1.00 device Integrated_Webcam_HD (0bda:58f4)
>>
>> […]
>>
>>>> ```
>>>>
>>>> Please tell me, what I can do to improve the situation.
>>>
>>> Some vendors routinely implement new formats without bothering to send a
>>> patch for the uvcvideo driver. It would be easy to do so, but it requires
>>> knowing which format is meant by the GUID. Most format GUIDs are of the
>>> form 32595559-0000-0010-8000-00aa00389b71 that starts with a 4CC, but
>>> that's not the case here.
>>
>> I am adding Mario to the receiver list, though he is currently on vacation.
>>
>>> Could you send me the output of
>>>
>>> lsusb -v -d 0bda:58f4
>>>
>>> running as root if possible ?
>>
>> Sure, please find it attached.
> 
> Thank you.
> 
> Could you please try the following patch ?
> 
> commit 7b3dea984b380f5b4b5c1956a9c6c23966af2149
> Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Date:   Wed Mar 21 11:16:40 2018 +0200
> 
>      media: uvcvideo: Add KSMedia 8-bit IR format support
>      
>      Add support for the 8-bit IR format GUID defined in the Microsoft Kernel
>      Streaming Media API.
>      
>      Reported-by: Paul Menzel <pmenzel+linux-media@molgen.mpg.de>
>      Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
> diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> index 2469b49b2b30..3691d87ef869 100644
> --- a/drivers/media/usb/uvc/uvc_driver.c
> +++ b/drivers/media/usb/uvc/uvc_driver.c
> @@ -99,6 +99,11 @@ static struct uvc_format_desc uvc_fmts[] = {
>   		.guid		= UVC_GUID_FORMAT_D3DFMT_L8,
>   		.fcc		= V4L2_PIX_FMT_GREY,
>   	},
> +	{
> +		.name		= "IR 8-bit (L8_IR)",
> +		.guid		= UVC_GUID_FORMAT_KSMEDIA_L8_IR,
> +		.fcc		= V4L2_PIX_FMT_GREY,
> +	},
>   	{
>   		.name		= "Greyscale 10-bit (Y10 )",
>   		.guid		= UVC_GUID_FORMAT_Y10,
> diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
> index be5cf179228b..6b955e0dd956 100644
> --- a/drivers/media/usb/uvc/uvcvideo.h
> +++ b/drivers/media/usb/uvc/uvcvideo.h
> @@ -157,6 +157,9 @@
>   #define UVC_GUID_FORMAT_D3DFMT_L8 \
>   	{0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, \
>   	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
> +#define UVC_GUID_FORMAT_KSMEDIA_L8_IR \
> +	{0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, \
> +	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
>   
>   
>   /* ------------------------------------------------------------------------

Sure. After fighting how to apply with Mozilla Thunderbird as my mailer 
– hints are welcome –, the warning is gone.

```
[    2.569788] calling  uvc_init+0x0/0x1000 [uvcvideo] @ 297
[    2.570011] calling  cryptd_init+0x0/0x1000 [cryptd] @ 287
[    2.570018] cryptd: max_cpu_qlen set to 1000
[    2.570022] initcall cryptd_init+0x0/0x1000 [cryptd] returned 0 after 
7 usecs
[    2.570030] calling  init_nls_cp437+0x0/0x1000 [nls_cp437] @ 332
[    2.570033] initcall init_nls_cp437+0x0/0x1000 [nls_cp437] returned 0 
after 0 usecs
[    2.570502] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD 
(0bda:58f4)
[    2.573583] uvcvideo 1-5:1.0: Entity type for entity Extension 4 was 
not initialized!
[    2.573585] uvcvideo 1-5:1.0: Entity type for entity Extension 7 was 
not initialized!
[    2.573586] uvcvideo 1-5:1.0: Entity type for entity Processing 2 was 
not initialized!
[    2.573587] uvcvideo 1-5:1.0: Entity type for entity Camera 1 was not 
initialized!
[    2.573652] input: Integrated_Webcam_HD: Integrate as 
/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input10
[    2.574192] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD 
(0bda:58f4)
[    2.575629] proc_thermal 0000:00:04.0: enabling device (0000 -> 0002)
[    2.576052] uvcvideo: Unable to create debugfs 1-2 directory.
[    2.576118] uvcvideo 1-5:1.2: Entity type for entity Extension 10 was 
not initialized!
[    2.576119] uvcvideo 1-5:1.2: Entity type for entity Extension 12 was 
not initialized!
[    2.576120] uvcvideo 1-5:1.2: Entity type for entity Processing 9 was 
not initialized!
[    2.576121] uvcvideo 1-5:1.2: Entity type for entity Camera 11 was 
not initialized!
[    2.576184] input: Integrated_Webcam_HD: Integrate as 
/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input11
[    2.576229] usbcore: registered new interface driver uvcvideo
[    2.576230] USB Video Class driver (1.1.1)
[    2.576236] initcall uvc_init+0x0/0x1000 [uvcvideo] returned 0 after 
6290 usecs
```

Tested-by: Paul Menzel <pmenzel+linux-media@molgen.mpg.de>


Kind regards,

Paul

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

* Re: uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
  2018-03-21  8:55       ` Laurent Pinchart
@ 2018-03-21 19:48         ` Nicolas Dufresne
  0 siblings, 0 replies; 11+ messages in thread
From: Nicolas Dufresne @ 2018-03-21 19:48 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: Paul Menzel, linux-media, linux-kernel, it+linux-media

Le mercredi 21 mars 2018 à 10:55 +0200, Laurent Pinchart a écrit :
> Hi Nicolas,
> 
> On Wednesday, 21 March 2018 05:38:59 EET Nicolas Dufresne wrote:
> > Le mardi 20 mars 2018 à 20:04 +0200, Laurent Pinchart a écrit :
> > > On Tuesday, 20 March 2018 19:45:51 EET Nicolas Dufresne wrote:
> > > > Le mardi 20 mars 2018 à 13:20 +0100, Paul Menzel a écrit :
> > > > > Dear Linux folks,
> > > > > 
> > > > > 
> > > > > On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.
> > > > > 
> > > > > ```
> > > > > [    2.338094] calling  uvc_init+0x0/0x1000 [uvcvideo] @ 295
> > > > > [    2.338569] calling  iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt] @
> > > > > 280
> > > > > [    2.338570] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
> > > > > [    2.338713] iTCO_wdt: Found a Intel PCH TCO device (Version=4,
> > > > > TCOBASE=0x0400)
> > > > > [    2.338755] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> > > > > (0bda:58f4)
> > > > > [    2.338827] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
> > > > > [    2.338851] initcall iTCO_wdt_init_module+0x0/0x1000 [iTCO_wdt]
> > > > > returned 0 after 271 usecs
> > > > > [    2.340669] uvcvideo 1-5:1.0: Entity type for entity Extension 4
> > > > > was
> > > > > not initialized!
> > > > > [    2.340670] uvcvideo 1-5:1.0: Entity type for entity Extension 7
> > > > > was
> > > > > not initialized!
> > > > > [    2.340672] uvcvideo 1-5:1.0: Entity type for entity Processing 2
> > > > > was
> > > > > not initialized!
> > > > > [    2.340673] uvcvideo 1-5:1.0: Entity type for entity Camera 1 was
> > > > > not
> > > > > initialized!
> > > > > [    2.340736] input: Integrated_Webcam_HD: Integrate as
> > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
> > > > > [    2.341447] uvcvideo: Unknown video format
> > > > > 00000032-0002-0010-8000-00aa00389b71
> > > > 
> > > > While the 0002 is suspicious, this is pretty close to a color format.
> > > > I've recently come across of similar format using D3DFORMAT instead of
> > > > GUID. According to the vendor*, this camera module includes an infrared
> > > > camera (340x340), so I suspect this is to specify the format it
> > > > outputs. A good guess to start with would be that this is
> > > > D3DFMT_X8L8V8U8 (0x32).
> > > 
> > > Isn't 0x32 D3DFMT_L8, not D3DFMT_X8L8V8U8 ?
> > 
> > You are right, sorry about that, I totally miss-translate. It felt
> > weird. This is much more likely yes. So maybe it's the same mapping
> > (but with the -00002- instead) as what I added for the HoloLense
> > Camera.
> > 
> > > > To test it, you could map this
> > > > V4L2_PIX_FMT_YUV32/xRGB and see if the driver is happy with the buffer
> > > > size.
> > > 
> > > VideoStreaming Interface Descriptor:
> > >         bLength                            30
> > >         bDescriptorType                    36
> > >         bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
> > >         bFrameIndex                         1
> > >         bmCapabilities                   0x00
> > >         
> > >           Still image unsupported
> > >         
> > >         wWidth                            340
> > >         wHeight                           340
> > >         dwMinBitRate                 55488000
> > >         dwMaxBitRate                 55488000
> > >         dwMaxVideoFrameBufferSize      115600
> > >         dwDefaultFrameInterval         166666
> > >         bFrameIntervalType                  1
> > >         dwFrameInterval( 0)            166666
> > > 
> > > 340*340 is 115600, so this should be a 8-bit format.
> > 
> > Indeed, that matches.
> > 
> > > > Then render it to make sure it looks some image of some sort. A
> > > > new format will need to be defined as this format is in the wrong
> > > > order, and is ambiguous (it may mean AYUV or xYUV). I'm not sure if we
> > > > need specific formats to differentiate infrared data from YUV images,
> > > > need to be discussed.
> > > 
> > > If the format is indeed D3DFMT_L8, it should map to V4L2_PIX_FMT_GREY
> > > (8-bit luminance). I suspect the camera transmits a depth map though.
> > 
> > I wonder if we should think of a way to tell userspace this is fnfrared
> > data rather then black and white ?
> 
> I think we need such a mechanism, yes. Would you like to propose one ? :-)

Ok, meanwhile I've looked over how this camera was used. It seems
that's it's combined with a IR light in order to create a near field
depth. As we already exposes couple of depth sensors as GREY, I think
your patch is ok, and should be merged. It's not really clear in
general how the driver can really figure-out what type of data is
delivered. So I'm not sure where to start.

> 
> I've found https://www.magnumdb.com/search?q=value%3A
> %2200000032-0002-0010-8000-00aa00389b71%22 and https://docs.microsoft.com/en-us/windows-hardware/drivers/stream/infrared-stream-support-in-uvc that confirm 
> this is a 8-bit IR format.
> 
> > > > *https://dustinweb.azureedge.net/media/338953/xps-13-9370.pdf
> > > > 
> > > > > [    2.341450] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> > > > > (0bda:58f4)
> > > > > [    2.343371] uvcvideo: Unable to create debugfs 1-2 directory.
> > > > > [    2.343420] uvcvideo 1-5:1.2: Entity type for entity Extension 10
> > > > > was
> > > > > not initialized!
> > > > > [    2.343422] uvcvideo 1-5:1.2: Entity type for entity Extension 12
> > > > > was
> > > > > not initialized!
> > > > > [    2.343423] uvcvideo 1-5:1.2: Entity type for entity Processing 9
> > > > > was
> > > > > not initialized!
> > > > > [    2.343424] uvcvideo 1-5:1.2: Entity type for entity Camera 11 was
> > > > > not initialized!
> > > > > [    2.343472] input: Integrated_Webcam_HD: Integrate as
> > > > > /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input10
> > > > > [    2.343496] usbcore: registered new interface driver uvcvideo
> > > > > [    2.343496] USB Video Class driver (1.1.1)
> > > > > [    2.343501] initcall uvc_init+0x0/0x1000 [uvcvideo] returned 0
> > > > > after
> > > > > 5275 usecs
> > > > > ```
> > > > > 
> > > > > Please tell me, what I can do to improve the situation.
> 
> 

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

* RE: uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71
  2018-03-21 12:34       ` Paul Menzel
@ 2018-03-26  7:32         ` Mario.Limonciello
  0 siblings, 0 replies; 11+ messages in thread
From: Mario.Limonciello @ 2018-03-26  7:32 UTC (permalink / raw)
  To: pmenzel+linux-media, laurent.pinchart
  Cc: linux-media, linux-kernel, it+linux-media

> -----Original Message-----
> From: Paul Menzel [mailto:pmenzel+linux-media@molgen.mpg.de]
> Sent: Wednesday, March 21, 2018 7:35 AM
> To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: linux-media@vger.kernel.org; linux-kernel@vger.kernel.org; it+linux-
> media@molgen.mpg.de; Limonciello, Mario <Mario_Limonciello@Dell.com>
> Subject: Re: uvcvideo: Unknown video format,00000032-0002-0010-8000-
> 00aa00389b71
> 
> Dear Laurent,
> 
> 
> On 03/21/2018 10:25 AM, Laurent Pinchart wrote:
> 
> > On Tuesday, 20 March 2018 18:46:24 EET Paul Menzel wrote:
> >> On 03/20/18 14:30, Laurent Pinchart wrote:
> >>> On Tuesday, 20 March 2018 14:20:14 EET Paul Menzel wrote:
> >>>> On the Dell XPS 13 9370, Linux 4.16-rc6 outputs the messages below.
> >>>>
> >>>> ```
> >>
> >> […]
> >>
> >>>> [    2.340736] input: Integrated_Webcam_HD: Integrate as
> >>>> /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input9
> >>>> [    2.341447] uvcvideo: Unknown video format
> >>>> 00000032-0002-0010-8000-00aa00389b71 >> [    2.341450] uvcvideo: Found
> >>>> UVC 1.00 device Integrated_Webcam_HD (0bda:58f4)
> >>
> >> […]
> >>
> >>>> ```
> >>>>
> >>>> Please tell me, what I can do to improve the situation.
> >>>
> >>> Some vendors routinely implement new formats without bothering to send a
> >>> patch for the uvcvideo driver. It would be easy to do so, but it requires
> >>> knowing which format is meant by the GUID. Most format GUIDs are of the
> >>> form 32595559-0000-0010-8000-00aa00389b71 that starts with a 4CC, but
> >>> that's not the case here.
> >>
> >> I am adding Mario to the receiver list, though he is currently on vacation.
> >>
> >>> Could you send me the output of
> >>>
> >>> lsusb -v -d 0bda:58f4
> >>>
> >>> running as root if possible ?
> >>
> >> Sure, please find it attached.
> >
> > Thank you.
> >
> > Could you please try the following patch ?
> >
> > commit 7b3dea984b380f5b4b5c1956a9c6c23966af2149
> > Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > Date:   Wed Mar 21 11:16:40 2018 +0200
> >
> >      media: uvcvideo: Add KSMedia 8-bit IR format support
> >
> >      Add support for the 8-bit IR format GUID defined in the Microsoft Kernel
> >      Streaming Media API.
> >
> >      Reported-by: Paul Menzel <pmenzel+linux-media@molgen.mpg.de>
> >      Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >
> > diff --git a/drivers/media/usb/uvc/uvc_driver.c
> b/drivers/media/usb/uvc/uvc_driver.c
> > index 2469b49b2b30..3691d87ef869 100644
> > --- a/drivers/media/usb/uvc/uvc_driver.c
> > +++ b/drivers/media/usb/uvc/uvc_driver.c
> > @@ -99,6 +99,11 @@ static struct uvc_format_desc uvc_fmts[] = {
> >   		.guid		= UVC_GUID_FORMAT_D3DFMT_L8,
> >   		.fcc		= V4L2_PIX_FMT_GREY,
> >   	},
> > +	{
> > +		.name		= "IR 8-bit (L8_IR)",
> > +		.guid		= UVC_GUID_FORMAT_KSMEDIA_L8_IR,
> > +		.fcc		= V4L2_PIX_FMT_GREY,
> > +	},
> >   	{
> >   		.name		= "Greyscale 10-bit (Y10 )",
> >   		.guid		= UVC_GUID_FORMAT_Y10,
> > diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
> > index be5cf179228b..6b955e0dd956 100644
> > --- a/drivers/media/usb/uvc/uvcvideo.h
> > +++ b/drivers/media/usb/uvc/uvcvideo.h
> > @@ -157,6 +157,9 @@
> >   #define UVC_GUID_FORMAT_D3DFMT_L8 \
> >   	{0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, \
> >   	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
> > +#define UVC_GUID_FORMAT_KSMEDIA_L8_IR \
> > +	{0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, \
> > +	 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}
> >
> >
> >   /* ------------------------------------------------------------------------
> 
> Sure. After fighting how to apply with Mozilla Thunderbird as my mailer
> – hints are welcome –, the warning is gone.
> 
> ```
> [    2.569788] calling  uvc_init+0x0/0x1000 [uvcvideo] @ 297
> [    2.570011] calling  cryptd_init+0x0/0x1000 [cryptd] @ 287
> [    2.570018] cryptd: max_cpu_qlen set to 1000
> [    2.570022] initcall cryptd_init+0x0/0x1000 [cryptd] returned 0 after
> 7 usecs
> [    2.570030] calling  init_nls_cp437+0x0/0x1000 [nls_cp437] @ 332
> [    2.570033] initcall init_nls_cp437+0x0/0x1000 [nls_cp437] returned 0
> after 0 usecs
> [    2.570502] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> (0bda:58f4)
> [    2.573583] uvcvideo 1-5:1.0: Entity type for entity Extension 4 was
> not initialized!
> [    2.573585] uvcvideo 1-5:1.0: Entity type for entity Extension 7 was
> not initialized!
> [    2.573586] uvcvideo 1-5:1.0: Entity type for entity Processing 2 was
> not initialized!
> [    2.573587] uvcvideo 1-5:1.0: Entity type for entity Camera 1 was not
> initialized!
> [    2.573652] input: Integrated_Webcam_HD: Integrate as
> /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/input/input10
> [    2.574192] uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD
> (0bda:58f4)
> [    2.575629] proc_thermal 0000:00:04.0: enabling device (0000 -> 0002)
> [    2.576052] uvcvideo: Unable to create debugfs 1-2 directory.
> [    2.576118] uvcvideo 1-5:1.2: Entity type for entity Extension 10 was
> not initialized!
> [    2.576119] uvcvideo 1-5:1.2: Entity type for entity Extension 12 was
> not initialized!
> [    2.576120] uvcvideo 1-5:1.2: Entity type for entity Processing 9 was
> not initialized!
> [    2.576121] uvcvideo 1-5:1.2: Entity type for entity Camera 11 was
> not initialized!
> [    2.576184] input: Integrated_Webcam_HD: Integrate as
> /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input11
> [    2.576229] usbcore: registered new interface driver uvcvideo
> [    2.576230] USB Video Class driver (1.1.1)
> [    2.576236] initcall uvc_init+0x0/0x1000 [uvcvideo] returned 0 after
> 6290 usecs
> ```
> 
> Tested-by: Paul Menzel <pmenzel+linux-media@molgen.mpg.de>
> 

Great to hear.  Laurent, when you submit this with Paul's tag would you
please consider to also CC @stable.

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

end of thread, other threads:[~2018-03-26  7:33 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-20 12:20 uvcvideo: Unknown video format,00000032-0002-0010-8000-00aa00389b71 Paul Menzel
2018-03-20 13:30 ` Laurent Pinchart
2018-03-20 16:46   ` Paul Menzel
2018-03-21  9:25     ` Laurent Pinchart
2018-03-21 12:34       ` Paul Menzel
2018-03-26  7:32         ` Mario.Limonciello
2018-03-20 17:45 ` Nicolas Dufresne
2018-03-20 18:04   ` Laurent Pinchart
2018-03-21  3:38     ` Nicolas Dufresne
2018-03-21  8:55       ` Laurent Pinchart
2018-03-21 19:48         ` Nicolas Dufresne

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.