UVCIOC_CTRL_MAP not work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

# Environment:

OS = Ubuntu 22.04 LTS (Linux version 5.19.0-41-generic)
Program Language = C Language

# Overview:

We plug in our UVC camera to PC, and try to use `UVCIOC_CTRL_MAP` function on PC to create the v4l2 control mapping, but we got error `UVCIOC_CTRL_MAP: Inappropriate ioctl for device`
Development with `C language` in `Ubuntu 22.04 LTS` 

# Description:

We have a custom UVC camera and we can modify the extension unit(XU) by ourself. (USB descriptions reference attachments `uvc_xu_descriptor.PNG` & `usb_decriptions.txt`)

We make sure that UVCIOC_CTRL_QUERY is work to control our XU item (demo code in attachment `uvc_xu_ioctl_demo.c`)

but UVCIOC_CTRL_MAP function fail with error message `UVCIOC_CTRL_MAP: Inappropriate ioctl for device` (demo code in attachment `uvc_xu_v4l_mapping_demo.c`)

# Problems:

1.	Is UVCIOC_CTRL_MAP function using in the PC host?
2.	Can you found any syntax problem in our demo code `uvc_xu_v4l_mapping_demo.c`?
3.	Is there any sample code about struct `uvc_xu_control_mapping` using?

Looking forward to your reply,
Best Regards,
Hardy#2374

*****CONFIDENTIAL INFORMATION*****

This email is intended only for the use of the person or entity to whom it is
addressed and contains information that may be subject to and/or may be
restricted from disclosure by contract or applicable law. If you are not the 
intended recipient of this email, be advised that any disclosure, copy, 
distribution or use of the contents of this message is strictly prohibited. 
If you are not the intended recipient of this email, please notify the sender 
that you have received this in error by replying to this message. Then, 
please delete it from your system. Our Privacy Policy is available here 
https://www.msi.com/page/privacy-policy. Thank you.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/usb/video.h>
#include <linux/uvcvideo.h>
#include <linux/videodev2.h>

#define XU_QUERY_SIZE 0x3C

char originStr[XU_QUERY_SIZE];
char modifyStr[XU_QUERY_SIZE] = "Test123";

bool getUVC_XU_DemoString(char* buf, int size);
bool setUVC_XU_DemoString(char* buf, int size);

int main(int argc, char **argv)
{
    if(getUVC_XU_DemoString(originStr, XU_QUERY_SIZE)){
        printf("XU GET: %s\n", originStr);
    }
    if(setUVC_XU_DemoString(modifyStr, XU_QUERY_SIZE)){
        printf("XU SET: %s\n", modifyStr);
    }
    if(getUVC_XU_DemoString(modifyStr, XU_QUERY_SIZE)){
        printf("XU GET: %s\n", modifyStr);
    }
    if(setUVC_XU_DemoString(originStr, XU_QUERY_SIZE)){
        printf("XU SET: %s\n", originStr);
    }
    return 0;
}

bool getUVC_XU_DemoString(char* buf, int size){
    int fd = open("/dev/video0", O_RDWR);
    bool result = true;
    if(fd < 0) {
        perror("File Open Fail");
        result = false;
        goto ret;
    }
    if(size < XU_QUERY_SIZE){
        perror("Invalid buffer size");
        result = false;
        goto ret;
    }
    struct uvc_xu_control_query query = {
        .query = UVC_GET_CUR,
        .unit = 0x4,
        .selector = 0x01,
        .size = XU_QUERY_SIZE,
        .data = (unsigned char*)malloc(XU_QUERY_SIZE),
    };
    if (ioctl(fd, UVCIOC_CTRL_QUERY, &query) < 0) {
        perror("UVCIOC_CTRL_QUERY");
        result = false;
        goto ret;
    }
    memcpy(buf, query.data, query.size);
    free(query.data);
    ret:
    close(fd);
    return result;
}

bool setUVC_XU_DemoString(char* buf, int size){
int fd = open("/dev/video0", O_RDWR);
    bool result = true;
    if(fd < 0) {
        perror("File Open Fail");
        result = false;
        goto ret;
    }
    if(size > XU_QUERY_SIZE){
        perror("Invalid buffer size");
        result = false;
        goto ret;
    }
    struct uvc_xu_control_query query = {
        .query = UVC_SET_CUR,
        .unit = 0x4,
        .selector = 0x01,
        .size = XU_QUERY_SIZE,
        .data = (unsigned char*)malloc(XU_QUERY_SIZE),
    };
    memcpy(query.data, buf, size);
    if (ioctl(fd, UVCIOC_CTRL_QUERY, &query) < 0) {
        perror("UVCIOC_CTRL_QUERY");
        result = false;
        goto ret;
    }
    free(query.data);
    ret:
    close(fd);
    return result;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/usb/video.h>
#include <linux/uvcvideo.h>
#include <linux/videodev2.h>

int main(){
    int result;
    int fd = open("/dev/video0", O_RDWR);
    if(fd < 0) {
        perror("File Open Fail");
        goto close;
    }

    struct uvc_xu_control_mapping mapping = {
        .id = 0x01,
        .name = "My Extension Unit",
        .entity = {0x10, 0xbc, 0x46, 0xba, 0x28, 0x5a, 0x4d, 0x7b, 0x97, 0x0e, 0xfd, 0x91, 0x46, 0xa5, 0x2f, 0x2d},
        .selector = 0x01,
        .size = 0x3C,
        .offset = 0x00,
        .v4l2_type = V4L2_CTRL_TYPE_STRING,
        .data_type = UVC_CTRL_DATA_TYPE_RAW,
        .menu_info = NULL,
        .menu_count = 0,
        .reserved = {0},
    };

    result = ioctl(fd, _IOWR('u', 0x20, struct uvc_xu_control_mapping), &mapping);
    if (result != 0) {
        perror("UVCIOC_CTRL_MAP");
        goto close;
    }

    close:
    close(fd);
    return 0;
}
Bus 001 Device 002: ID 2245:1230 Aspeed Technology, Inc. Cupola360 Camera

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               2.10

  bDeviceClass          239 Miscellaneous Device

  bDeviceSubClass         2 

  bDeviceProtocol         1 Interface Association

  bMaxPacketSize0        64

  idVendor           0x2245 Aspeed Technology, Inc.

  idProduct          0x1230 

  bcdDevice            1.00

  iManufacturer           1 ASPEED Technology Inc.

  iProduct                2 Cupola360 Camera

  iSerial                 3 123456

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength       0x02b8

    bNumInterfaces          8

    bConfigurationValue     1

    iConfiguration          0 

    bmAttributes         0x80

      (Bus Powered)

    MaxPower              500mA

    Interface Association:

      bLength                 8

      bDescriptorType        11

      bFirstInterface         0

      bInterfaceCount         2

      bFunctionClass         14 Video

      bFunctionSubClass       3 Video Interface Collection

      bFunctionProtocol       0 

      iFunction               0 

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           1

      bInterfaceClass        14 Video

      bInterfaceSubClass      1 Video Control

      bInterfaceProtocol      0 

      iInterface              0 

      VideoControl Interface Descriptor:

        bLength                13

        bDescriptorType        36

        bDescriptorSubtype      1 (HEADER)

        bcdUVC               1.00

        wTotalLength       0x006d

        dwClockFrequency        1.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           0x00000a0e

          Auto-Exposure Mode

          Auto-Exposure Priority

          Exposure Time (Absolute)

          Zoom (Absolute)

          PanTilt (Absolute)

      VideoControl Interface Descriptor:

        bLength                11

        bDescriptorType        36

        bDescriptorSubtype      5 (PROCESSING_UNIT)

      Warning: Descriptor too short

        bUnitID                 2

        bSourceID               1

        wMaxMultiplier      16384

        bControlSize            2

        bmControls     0x0000157b

          Brightness

          Contrast

          Saturation

          Sharpness

          Gamma

          White Balance Temperature

          Backlight Compensation

          Power Line Frequency

          White Balance Temperature, Auto

        iProcessing             0 

        bmVideoStandards     0x1d

          None

          PAL - 625/50

          SECAM - 625/50

          NTSC - 625/50

      VideoControl Interface Descriptor:

        bLength                29

        bDescriptorType        36

        bDescriptorSubtype      6 (EXTENSION_UNIT)

        bUnitID                 3

        guidExtensionCode         {c11e4cc3-68f9-4b92-aca4-2d73c4d49348}

        bNumControls           32

        bNrInPins               1

        baSourceID( 0)          2

        bControlSize            4

        bmControls( 0)       0x01

        bmControls( 1)       0x00

        bmControls( 2)       0x00

        bmControls( 3)       0x00

        iExtension              0 

      VideoControl Interface Descriptor:

        bLength                29

        bDescriptorType        36

        bDescriptorSubtype      6 (EXTENSION_UNIT)

        bUnitID                 4

        guidExtensionCode         {10bc46ba-285a-4d7b-970e-fd9146a52f2d}

        bNumControls           32

        bNrInPins               1

        baSourceID( 0)          3

        bControlSize            4

        bmControls( 0)       0x01

        bmControls( 1)       0x00

        bmControls( 2)       0x00

        bmControls( 3)       0x00

        iExtension              0 

      VideoControl Interface Descriptor:

        bLength                 9

        bDescriptorType        36

        bDescriptorSubtype      3 (OUTPUT_TERMINAL)

        bTerminalID             6

        wTerminalType      0x0101 USB Streaming

        bAssocTerminal          0

        bSourceID               4

        iTerminal               0 

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x85  EP 5 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               8

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        1

      bAlternateSetting       0

      bNumEndpoints           1

      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                   0x0107

        bEndpointAddress                 0x81  EP 1 IN

        bmInfo                              0

        bTerminalLink                       6

        bStillCaptureMethod                 0

        bTriggerSupport                     0

        bTriggerUsage                       0

        bControlSize                        1

        bmaControls( 0)                     0

        bmaControls( 1)                     0

      VideoStreaming Interface Descriptor:

        bLength                            27

        bDescriptorType                    36

        bDescriptorSubtype                  4 (FORMAT_UNCOMPRESSED)

        bFormatIndex                        1

        bNumFrameDescriptors                1

        guidFormat                            {32595559-0000-0010-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                            34

        bDescriptorType                    36

        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)

        bFrameIndex                         1

        bmCapabilities                   0x00

          Still image unsupported

        wWidth                            640

        wHeight                           360

        dwMinBitRate                 55296000

        dwMaxBitRate                110592000

        dwMaxVideoFrameBufferSize      460800

        dwDefaultFrameInterval         333333

        bFrameIntervalType                  2

        dwFrameInterval( 0)            333333

        dwFrameInterval( 1)            666666

      VideoStreaming Interface Descriptor:

        bLength                            11

        bDescriptorType                    36

        bDescriptorSubtype                  6 (FORMAT_MJPEG)

        bFormatIndex                        2

        bNumFrameDescriptors                5

        bFlags                              0

          Fixed-size samples: No

        bDefaultFrameIndex                  1

        bAspectRatioX                       0

        bAspectRatioY                       0

        bmInterlaceFlags                 0x00

          Interlaced stream or variable: No

          Fields per frame: 1 fields

          Field 1 first: No

          Field pattern: Field 1 only

        bCopyProtect                        0

      VideoStreaming Interface Descriptor:

        bLength                            34

        bDescriptorType                    36

        bDescriptorSubtype                  7 (FRAME_MJPEG)

        bFrameIndex                         1

        bmCapabilities                   0x00

          Still image unsupported

        wWidth                           1920

        wHeight                          1080

        dwMinBitRate                248832000

        dwMaxBitRate                497664000

        dwMaxVideoFrameBufferSize     2073600

        dwDefaultFrameInterval         333333

        bFrameIntervalType                  2

        dwFrameInterval( 0)            333333

        dwFrameInterval( 1)            666666

      VideoStreaming Interface Descriptor:

        bLength                            34

        bDescriptorType                    36

        bDescriptorSubtype                  7 (FRAME_MJPEG)

        bFrameIndex                         2

        bmCapabilities                   0x00

          Still image unsupported

        wWidth                           1280

        wHeight                           720

        dwMinBitRate                110592000

        dwMaxBitRate                221184000

        dwMaxVideoFrameBufferSize      921600

        dwDefaultFrameInterval         333333

        bFrameIntervalType                  2

        dwFrameInterval( 0)            333333

        dwFrameInterval( 1)            666666

      VideoStreaming Interface Descriptor:

        bLength                            34

        bDescriptorType                    36

        bDescriptorSubtype                  7 (FRAME_MJPEG)

        bFrameIndex                         3

        bmCapabilities                   0x00

          Still image unsupported

        wWidth                           3840

        wHeight                          1712

        dwMinBitRate                788889600

        dwMaxBitRate                1577779200

        dwMaxVideoFrameBufferSize     6574080

        dwDefaultFrameInterval         333333

        bFrameIntervalType                  2

        dwFrameInterval( 0)            333333

        dwFrameInterval( 1)            666666

      VideoStreaming Interface Descriptor:

        bLength                            34

        bDescriptorType                    36

        bDescriptorSubtype                  7 (FRAME_MJPEG)

        bFrameIndex                         4

        bmCapabilities                   0x00

          Still image unsupported

        wWidth                           2560

        wHeight                          1136

        dwMinBitRate                348979200

        dwMaxBitRate                697958400

        dwMaxVideoFrameBufferSize     2908160

        dwDefaultFrameInterval         333333

        bFrameIntervalType                  2

        dwFrameInterval( 0)            333333

        dwFrameInterval( 1)            666666

      VideoStreaming Interface Descriptor:

        bLength                            34

        bDescriptorType                    36

        bDescriptorSubtype                  7 (FRAME_MJPEG)

        bFrameIndex                         5

        bmCapabilities                   0x00

          Still image unsupported

        wWidth                           2560

        wHeight                          1440

        dwMinBitRate                442368000

        dwMaxBitRate                884736000

        dwMaxVideoFrameBufferSize     3686400

        dwDefaultFrameInterval         333333

        bFrameIntervalType                  2

        dwFrameInterval( 0)            333333

        dwFrameInterval( 1)            666666

      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))

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0200  1x 512 bytes

        bInterval               0

    Interface Association:

      bLength                 8

      bDescriptorType        11

      bFirstInterface         2

      bInterfaceCount         3

      bFunctionClass          1 Audio

      bFunctionSubClass       0 

      bFunctionProtocol       0 

      iFunction               0 

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        2

      bAlternateSetting       0

      bNumEndpoints           0

      bInterfaceClass         1 Audio

      bInterfaceSubClass      1 Control Device

      bInterfaceProtocol      0 

      iInterface              9 Cupola360 Audio

      AudioControl Interface Descriptor:

        bLength                10

        bDescriptorType        36

        bDescriptorSubtype      1 (HEADER)

        bcdADC               1.00

        wTotalLength       0x003e

        bInCollection           2

        baInterfaceNr(0)        3

        baInterfaceNr(1)        4

      AudioControl Interface Descriptor:

        bLength                12

        bDescriptorType        36

        bDescriptorSubtype      2 (INPUT_TERMINAL)

        bTerminalID             1

        wTerminalType      0x0101 USB Streaming

        bAssocTerminal          0

        bNrChannels             2

        wChannelConfig     0x0000

        iChannelNames           0 

        iTerminal               0 

      AudioControl Interface Descriptor:

        bLength                10

        bDescriptorType        36

        bDescriptorSubtype      6 (FEATURE_UNIT)

        bUnitID                 2

        bSourceID               1

        bControlSize            1

        bmaControls(0)       0x03

          Mute Control

          Volume Control

        bmaControls(1)       0x00

        bmaControls(2)       0x00

        iFeature                0 

      AudioControl Interface Descriptor:

        bLength                 9

        bDescriptorType        36

        bDescriptorSubtype      3 (OUTPUT_TERMINAL)

        bTerminalID             3

        wTerminalType      0x0301 Speaker

        bAssocTerminal          0

        bSourceID               2

        iTerminal               0 

      AudioControl Interface Descriptor:

        bLength                12

        bDescriptorType        36

        bDescriptorSubtype      2 (INPUT_TERMINAL)

        bTerminalID            17

        wTerminalType      0x0201 Microphone

        bAssocTerminal          0

        bNrChannels             1

        wChannelConfig     0x0000

        iChannelNames           0 

        iTerminal               0 

      AudioControl Interface Descriptor:

        bLength                 9

        bDescriptorType        36

        bDescriptorSubtype      3 (OUTPUT_TERMINAL)

        bTerminalID            19

        wTerminalType      0x0101 USB Streaming

        bAssocTerminal          0

        bSourceID              17

        iTerminal               0 

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        3

      bAlternateSetting       0

      bNumEndpoints           0

      bInterfaceClass         1 Audio

      bInterfaceSubClass      2 Streaming

      bInterfaceProtocol      0 

      iInterface              4 Speaker

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        3

      bAlternateSetting       1

      bNumEndpoints           1

      bInterfaceClass         1 Audio

      bInterfaceSubClass      2 Streaming

      bInterfaceProtocol      0 

      iInterface              4 Speaker

      AudioStreaming Interface Descriptor:

        bLength                 7

        bDescriptorType        36

        bDescriptorSubtype      1 (AS_GENERAL)

        bTerminalLink           1

        bDelay                  1 frames

        wFormatTag         0x0001 PCM

      AudioStreaming Interface Descriptor:

        bLength                11

        bDescriptorType        36

        bDescriptorSubtype      2 (FORMAT_TYPE)

        bFormatType             1 (FORMAT_TYPE_I)

        bNrChannels             2

        bSubframeSize           2

        bBitResolution         16

        bSamFreqType            1 Discrete

        tSamFreq[ 0]        48000

      Endpoint Descriptor:

        bLength                 9

        bDescriptorType         5

        bEndpointAddress     0x01  EP 1 OUT

        bmAttributes            9

          Transfer Type            Isochronous

          Synch Type               Adaptive

          Usage Type               Data

        wMaxPacketSize     0x00c0  1x 192 bytes

        bInterval               4

        bRefresh                0

        bSynchAddress           0

        AudioStreaming Endpoint Descriptor:

          bLength                 7

          bDescriptorType        37

          bDescriptorSubtype      1 (EP_GENERAL)

          bmAttributes         0x01

            Sampling Frequency

          bLockDelayUnits         1 Milliseconds

          wLockDelay         0x0001

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        4

      bAlternateSetting       0

      bNumEndpoints           0

      bInterfaceClass         1 Audio

      bInterfaceSubClass      2 Streaming

      bInterfaceProtocol      0 

      iInterface              5 Microphone

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        4

      bAlternateSetting       1

      bNumEndpoints           1

      bInterfaceClass         1 Audio

      bInterfaceSubClass      2 Streaming

      bInterfaceProtocol      0 

      iInterface              5 Microphone

      AudioStreaming Interface Descriptor:

        bLength                 7

        bDescriptorType        36

        bDescriptorSubtype      1 (AS_GENERAL)

        bTerminalLink          19

        bDelay                  1 frames

        wFormatTag         0x0001 PCM

      AudioStreaming Interface Descriptor:

        bLength                11

        bDescriptorType        36

        bDescriptorSubtype      2 (FORMAT_TYPE)

        bFormatType             1 (FORMAT_TYPE_I)

        bNrChannels             1

        bSubframeSize           2

        bBitResolution         16

        bSamFreqType            1 Discrete

        tSamFreq[ 0]        16000

      Endpoint Descriptor:

        bLength                 9

        bDescriptorType         5

        bEndpointAddress     0x86  EP 6 IN

        bmAttributes            5

          Transfer Type            Isochronous

          Synch Type               Asynchronous

          Usage Type               Data

        wMaxPacketSize     0x0024  1x 36 bytes

        bInterval               4

        bRefresh                0

        bSynchAddress           0

        AudioStreaming Endpoint Descriptor:

          bLength                 7

          bDescriptorType        37

          bDescriptorSubtype      1 (EP_GENERAL)

          bmAttributes         0x01

            Sampling Frequency

          bLockDelayUnits         0 Undefined

          wLockDelay         0x0001

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        5

      bAlternateSetting       0

      bNumEndpoints           2

      bInterfaceClass       255 Vendor Specific Class

      bInterfaceSubClass      0 

      bInterfaceProtocol      0 

      iInterface              8 AstStream

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x02  EP 2 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0200  1x 512 bytes

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x82  EP 2 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0200  1x 512 bytes

        bInterval               0

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        6

      bAlternateSetting       0

      bNumEndpoints           2

      bInterfaceClass         3 Human Interface Device

      bInterfaceSubClass      0 

      bInterfaceProtocol      0 

      iInterface              7 HidExtension

        HID Device Descriptor:

          bLength                 9

          bDescriptorType        33

          bcdHID               1.11

          bCountryCode            0 Not supported

          bNumDescriptors         1

          bDescriptorType        34 Report

          wDescriptorLength      38

         Report Descriptors: 

           ** UNAVAILABLE **

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x03  EP 3 OUT

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               1

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x89  EP 9 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               1

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        7

      bAlternateSetting       0

      bNumEndpoints           2

      bInterfaceClass         3 Human Interface Device

      bInterfaceSubClass      0 

      bInterfaceProtocol      0 

      iInterface             11 HidCustom

        HID Device Descriptor:

          bLength                 9

          bDescriptorType        33

          bcdHID               1.11

          bCountryCode            0 Not supported

          bNumDescriptors         1

          bDescriptorType        34 Report

          wDescriptorLength      38

         Report Descriptors: 

           ** UNAVAILABLE **

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x04  EP 4 OUT

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               4

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x84  EP 4 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               4

Binary Object Store Descriptor:

  bLength                 5

  bDescriptorType        15

  wTotalLength       0x0032

  bNumDeviceCaps          3

  Platform Device Capability:

    bLength                28

    bDescriptorType        16

    bDevCapabilityType      5

    bReserved               0

    PlatformCapabilityUUID    {d8dd60df-4589-4cc7-9cd2-659d9e648a9f}

    CapabilityData[0]    0x00

    CapabilityData[1]    0x00

    CapabilityData[2]    0x03

    CapabilityData[3]    0x06

    CapabilityData[4]    0xb2

    CapabilityData[5]    0x00

    CapabilityData[6]    0x01

    CapabilityData[7]    0x00

  USB 2.0 Extension Device Capability:

    bLength                 7

    bDescriptorType        16

    bDevCapabilityType      2

    bmAttributes   0x0000050e

      BESL Link Power Management (LPM) Supported

    BESL value     1280 us 

  SuperSpeed USB Device Capability:

    bLength                10

    bDescriptorType        16

    bDevCapabilityType      3

    bmAttributes         0x00

    wSpeedsSupported   0x000c

      Device can operate at High Speed (480Mbps)

      Device can operate at SuperSpeed (5Gbps)

    bFunctionalitySupport   2

      Lowest fully-functional device speed is High Speed (480Mbps)

    bU1DevExitLat          10 micro seconds

    bU2DevExitLat         511 micro seconds

Device Status:     0x0000

  (Bus Powered)

Attachment: uvc_xu_descriptor.PNG
Description: uvc_xu_descriptor.PNG


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux