diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 00000000..c2098a2d --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "linux-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "/usr/bin/gcc", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "linux-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..2c52b48e --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": false, + "cwd": "/home/mark/src/TinyUSB/Adafruit_TinyUSB_Arduino-branches/src/class/cdc", + "program": "/home/mark/src/TinyUSB/Adafruit_TinyUSB_Arduino-branches/src/class/cdc/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/examples/MassStorage/msc_external_flash/.skip.txt b/examples/MassStorage/msc_external_flash/.skip.txt index ae593a87..95010c8f 100644 --- a/examples/MassStorage/msc_external_flash/.skip.txt +++ b/examples/MassStorage/msc_external_flash/.skip.txt @@ -1,3 +1,4 @@ feather_esp32_v2 pico_rp2040_tinyusb_host CH32V20x_EVT +feather_rp2040_tinyusb diff --git a/examples/MassStorage/msc_external_flash_sdcard/.skip.txt b/examples/MassStorage/msc_external_flash_sdcard/.skip.txt index ae593a87..95010c8f 100644 --- a/examples/MassStorage/msc_external_flash_sdcard/.skip.txt +++ b/examples/MassStorage/msc_external_flash_sdcard/.skip.txt @@ -1,3 +1,4 @@ feather_esp32_v2 pico_rp2040_tinyusb_host CH32V20x_EVT +feather_rp2040_tinyusb diff --git a/examples/MassStorage/msc_sdfat/.skip.txt b/examples/MassStorage/msc_sdfat/.skip.txt index e4f9319b..42342d5e 100644 --- a/examples/MassStorage/msc_sdfat/.skip.txt +++ b/examples/MassStorage/msc_sdfat/.skip.txt @@ -1,2 +1,3 @@ feather_esp32_v2 pico_rp2040_tinyusb_host +feather_rp2040_tinyusb diff --git a/lsusb.txt b/lsusb.txt new file mode 100644 index 00000000..a876dec3 --- /dev/null +++ b/lsusb.txt @@ -0,0 +1,6048 @@ + +Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.00 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 1 Single TT + bMaxPacketSize0 64 + idVendor 0x1d6b Linux Foundation + idProduct 0x0002 2.0 root hub + bcdDevice 6.14 + iManufacturer 3 Linux 6.14.0-37-generic xhci-hcd + iProduct 2 xHCI Host Controller + iSerial 1 0000:00:0d.0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0019 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 12 + +Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x1d6b Linux Foundation + idProduct 0x0003 3.0 root hub + bcdDevice 6.14 + iManufacturer 3 Linux 6.14.0-37-generic xhci-hcd + iProduct 2 xHCI Host Controller + iSerial 1 0000:00:0d.0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x001f + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 12 + bMaxBurst 0 + +Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.00 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 1 Single TT + bMaxPacketSize0 64 + idVendor 0x1d6b Linux Foundation + idProduct 0x0002 2.0 root hub + bcdDevice 6.14 + iManufacturer 3 Linux 6.14.0-37-generic xhci-hcd + iProduct 2 xHCI Host Controller + iSerial 1 0000:00:14.0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0019 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 12 + +Bus 003 Device 003: ID 27c6:63ac Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.00 + bDeviceClass 239 Miscellaneous Device + bDeviceSubClass 0 [unknown] + bDeviceProtocol 0 + bMaxPacketSize0 64 + idVendor 0x27c6 Shenzhen Goodix Technology Co.,Ltd. + idProduct 0x63ac Goodix USB2.0 MISC + bcdDevice 1.00 + iManufacturer 1 Goodix Technology Co., Ltd. + iProduct 2 Goodix USB2.0 MISC + iSerial 3 UID8E3802C4_XXXX_MOC_B0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0020 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 3 + bmAttributes 0xa0 + (Bus Powered) + Remote Wakeup + MaxPower 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 2 + bInterfaceClass 255 Vendor Specific Class + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 + iInterface 4 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 bytes + bInterval 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x01 EP 1 OUT + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 bytes + bInterval 0 + +Bus 003 Device 005: ID 0c45:6a11 Microdia Integrated_Webcam_HD +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.01 + bDeviceClass 239 Miscellaneous Device + bDeviceSubClass 2 [unknown] + bDeviceProtocol 1 Interface Association + bMaxPacketSize0 64 + idVendor 0x0c45 Microdia + idProduct 0x6a11 Integrated_Webcam_HD + bcdDevice 9.29 + iManufacturer 2 CKFKH20R44643002F0D0 + iProduct 1 Integrated_Webcam_HD + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x03f9 + bNumInterfaces 4 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0x80 + (Bus Powered) + MaxPower 500mA + ** UNRECOGNIZED: 28 ff 42 49 53 54 00 01 06 01 10 00 00 00 00 00 d1 10 d0 07 d2 11 f4 01 d3 12 f4 01 d4 13 f4 01 d5 14 d0 07 d6 15 f4 01 + Interface Association: + bLength 8 + bDescriptorType 11 + bFirstInterface 0 + bInterfaceCount 2 + bFunctionClass 14 Video + bFunctionSubClass 3 Video Interface Collection + bFunctionProtocol 0 + iFunction 5 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 14 Video + bInterfaceSubClass 1 Video Control + bInterfaceProtocol 0 + iInterface 5 + VideoControl Interface Descriptor: + bLength 13 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdUVC 1.00 + wTotalLength 0x0082 + dwClockFrequency 15.000000MHz + bInCollection 1 + baInterfaceNr( 0) 1 + VideoControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 6 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bSourceID 5 + iTerminal 0 + VideoControl Interface Descriptor: + bLength 26 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 3 + guidExtensionCode {28f03370-6311-4a2e-ba2c-6890eb334016} + bNumControls 8 + bNrInPins 1 + baSourceID( 0) 2 + bControlSize 1 + bmControls( 0) 0xbf + iExtension 0 + VideoControl Interface Descriptor: + bLength 26 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 4 + guidExtensionCode {0fb885c3-68c2-4547-90f7-8f47579d95fc} + bNumControls 8 + bNrInPins 1 + baSourceID( 0) 3 + bControlSize 1 + bmControls( 0) 0x0f + iExtension 0 + VideoControl Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 5 + guidExtensionCode {0f3f95dc-2632-4c4e-92c9-a04782f43bc8} + bNumControls 16 + bNrInPins 1 + baSourceID( 0) 4 + bControlSize 2 + bmControls( 0) 0x00 + bmControls( 1) 0x00 + iExtension 0 + VideoControl Interface Descriptor: + bLength 18 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 1 + wTerminalType 0x0201 Camera Sensor + bAssocTerminal 0 + iTerminal 0 + wObjectiveFocalLengthMin 0 + wObjectiveFocalLengthMax 0 + wOcularFocalLength 0 + bControlSize 3 + bmControls 0x0020000e + 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 0x00 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 bytes + bInterval 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 0x0185 + 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 11 + bDescriptorType 36 + bDescriptorSubtype 6 (FORMAT_MJPEG) + bFormatIndex 1 + 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 30 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 1 + bmCapabilities 0x00 + Still image unsupported + wWidth 1280 + wHeight 720 + dwMinBitRate 442368000 + dwMaxBitRate 442368000 + dwMaxVideoFrameBufferSize 1843789 + 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 960 + wHeight 540 + dwMinBitRate 248832000 + dwMaxBitRate 248832000 + dwMaxVideoFrameBufferSize 1037389 + 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 848 + wHeight 480 + dwMinBitRate 195379200 + dwMaxBitRate 195379200 + dwMaxVideoFrameBufferSize 814669 + 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 640 + wHeight 480 + dwMinBitRate 147456000 + dwMaxBitRate 147456000 + dwMaxVideoFrameBufferSize 614989 + dwDefaultFrameInterval 333333 + bFrameIntervalType 1 + dwFrameInterval( 0) 333333 + VideoStreaming Interface Descriptor: + bLength 30 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 5 + bmCapabilities 0x00 + Still image unsupported + wWidth 640 + wHeight 360 + dwMinBitRate 110592000 + dwMaxBitRate 110592000 + dwMaxVideoFrameBufferSize 461389 + dwDefaultFrameInterval 333333 + bFrameIntervalType 1 + dwFrameInterval( 0) 333333 + VideoStreaming Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) + bFormatIndex 2 + bNumFrameDescriptors 6 + 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 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 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 0x0080 1x 128 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 0x0100 1x 256 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 0x0320 1x 800 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 0x0b20 2x 800 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 0x1320 3x 800 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 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 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 14 Video + bInterfaceSubClass 1 Video Control + bInterfaceProtocol 0 + iInterface 6 + VideoControl Interface Descriptor: + bLength 13 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdUVC 1.00 + wTotalLength 0x0068 + dwClockFrequency 15.000000MHz + bInCollection 1 + baInterfaceNr( 0) 3 + VideoControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 5 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bSourceID 4 + iTerminal 0 + VideoControl Interface Descriptor: + bLength 26 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 3 + guidExtensionCode {28f03370-6311-4a2e-ba2c-6890eb334016} + bNumControls 8 + bNrInPins 1 + baSourceID( 0) 2 + bControlSize 1 + bmControls( 0) 0x00 + iExtension 0 + VideoControl Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 4 + guidExtensionCode {0f3f95dc-2632-4c4e-92c9-a04782f43bc8} + bNumControls 16 + bNrInPins 1 + baSourceID( 0) 3 + bControlSize 2 + bmControls( 0) 0x20 + bmControls( 1) 0x01 + iExtension 0 + VideoControl Interface Descriptor: + bLength 18 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 1 + wTerminalType 0x0201 Camera Sensor + bAssocTerminal 0 + iTerminal 0 + wObjectiveFocalLengthMin 0 + wObjectiveFocalLengthMax 0 + wOcularFocalLength 0 + bControlSize 3 + bmControls 0x00200000 + VideoControl Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 5 (PROCESSING_UNIT) + Warning: Descriptor too short + bUnitID 2 + bSourceID 1 + wMaxMultiplier 0 + bControlSize 2 + bmControls 0x00000000 + iProcessing 0 + bmVideoStandards 0x21 + None + PAL - 525/60 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x86 EP 6 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 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 0x004d + bEndpointAddress 0x82 EP 2 IN + bmInfo 0 + bTerminalLink 5 + bStillCaptureMethod 0 + bTriggerSupport 0 + bTriggerUsage 0 + bControlSize 1 + bmaControls( 0) 0 + VideoStreaming Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) + bFormatIndex 1 + bNumFrameDescriptors 1 + guidFormat {00000032-0002-0010-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 640 + wHeight 360 + dwMinBitRate 55296000 + dwMaxBitRate 55296000 + dwMaxVideoFrameBufferSize 230400 + dwDefaultFrameInterval 333333 + bFrameIntervalType 1 + dwFrameInterval( 0) 333333 + 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 0x0080 1x 128 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 0x0100 1x 256 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 0x0320 1x 800 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 0x0a80 2x 640 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 0x1320 3x 800 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 0x1400 3x 1024 bytes + bInterval 1 + +Bus 003 Device 006: ID 8087:0026 Intel Corp. AX201 Bluetooth +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.01 + bDeviceClass 224 Wireless + bDeviceSubClass 1 Radio Frequency + bDeviceProtocol 1 Bluetooth + bMaxPacketSize0 64 + idVendor 0x8087 Intel Corp. + idProduct 0x0026 AX201 Bluetooth + bcdDevice 0.02 + iManufacturer 0 + iProduct 0 + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x00c8 + bNumInterfaces 2 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 3 + bInterfaceClass 224 Wireless + bInterfaceSubClass 1 Radio Frequency + bInterfaceProtocol 1 Bluetooth + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + 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 0x02 EP 2 OUT + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 bytes + bInterval 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x82 EP 2 IN + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 2 + bInterfaceClass 224 Wireless + bInterfaceSubClass 1 Radio Frequency + bInterfaceProtocol 1 Bluetooth + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x03 EP 3 OUT + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0000 1x 0 bytes + bInterval 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0000 1x 0 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 1 + bNumEndpoints 2 + bInterfaceClass 224 Wireless + bInterfaceSubClass 1 Radio Frequency + bInterfaceProtocol 1 Bluetooth + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x03 EP 3 OUT + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0009 1x 9 bytes + bInterval 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0009 1x 9 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 2 + bNumEndpoints 2 + bInterfaceClass 224 Wireless + bInterfaceSubClass 1 Radio Frequency + bInterfaceProtocol 1 Bluetooth + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x03 EP 3 OUT + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0011 1x 17 bytes + bInterval 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0011 1x 17 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 3 + bNumEndpoints 2 + bInterfaceClass 224 Wireless + bInterfaceSubClass 1 Radio Frequency + bInterfaceProtocol 1 Bluetooth + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x03 EP 3 OUT + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0019 1x 25 bytes + bInterval 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0019 1x 25 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 4 + bNumEndpoints 2 + bInterfaceClass 224 Wireless + bInterfaceSubClass 1 Radio Frequency + bInterfaceProtocol 1 Bluetooth + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x03 EP 3 OUT + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0021 1x 33 bytes + bInterval 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0021 1x 33 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 5 + bNumEndpoints 2 + bInterfaceClass 224 Wireless + bInterfaceSubClass 1 Radio Frequency + bInterfaceProtocol 1 Bluetooth + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x03 EP 3 OUT + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0031 1x 49 bytes + bInterval 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x0031 1x 49 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 6 + bNumEndpoints 2 + bInterfaceClass 224 Wireless + bInterfaceSubClass 1 Radio Frequency + bInterfaceProtocol 1 Bluetooth + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x03 EP 3 OUT + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x003f 1x 63 bytes + bInterval 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 1 + Transfer Type Isochronous + Synch Type None + Usage Type Data + wMaxPacketSize 0x003f 1x 63 bytes + bInterval 1 + +Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x1d6b Linux Foundation + idProduct 0x0003 3.0 root hub + bcdDevice 6.14 + iManufacturer 3 Linux 6.14.0-37-generic xhci-hcd + iProduct 2 xHCI Host Controller + iSerial 1 0000:00:14.0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x001f + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 12 + bMaxBurst 0 + +Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.00 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 1 Single TT + bMaxPacketSize0 64 + idVendor 0x1d6b Linux Foundation + idProduct 0x0002 2.0 root hub + bcdDevice 6.14 + iManufacturer 3 Linux 6.14.0-37-generic xhci-hcd + iProduct 2 xHCI Host Controller + iSerial 1 0000:58:00.0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0019 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 12 + +Bus 005 Device 002: ID 0bda:5487 Realtek Semiconductor Corp. Dell dock +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 2 TT per port + bMaxPacketSize0 64 + idVendor 0x0bda Realtek Semiconductor Corp. + idProduct 0x5487 Dell dock + bcdDevice 1.62 + iManufacturer 1 Dell Inc. + iProduct 2 Dell dock + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0029 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 1 Single TT + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0001 1x 1 bytes + bInterval 12 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 1 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 2 TT per port + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0001 1x 1 bytes + bInterval 12 + +Bus 005 Device 003: ID 05e3:0610 Genesys Logic, Inc. Hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 1 Single TT + bMaxPacketSize0 64 + idVendor 0x05e3 Genesys Logic, Inc. + idProduct 0x0610 Hub + bcdDevice 6.63 + iManufacturer 1 GenesysLogic + iProduct 2 USB2.1 Hub + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0019 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0001 1x 1 bytes + bInterval 12 + +Bus 005 Device 004: ID 0bda:5413 Realtek Semiconductor Corp. Dell dock +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 2 TT per port + bMaxPacketSize0 64 + idVendor 0x0bda Realtek Semiconductor Corp. + idProduct 0x5413 Dell dock + bcdDevice 1.23 + iManufacturer 1 Dell Inc. + iProduct 2 Dell dock + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0029 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 1 Single TT + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0001 1x 1 bytes + bInterval 12 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 1 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 2 TT per port + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0001 1x 1 bytes + bInterval 12 + +Bus 005 Device 005: ID 047d:1020 Kensington Expert Mouse Trackball +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 1.10 + bDeviceClass 0 [unknown] + bDeviceSubClass 0 [unknown] + bDeviceProtocol 0 + bMaxPacketSize0 8 + idVendor 0x047d Kensington + idProduct 0x1020 Expert Mouse Trackball + bcdDevice 2.01 + iManufacturer 1 Kensington + iProduct 2 Kensington Expert Mouse + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0022 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xa0 + (Bus Powered) + Remote Wakeup + MaxPower 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 1 Boot Interface Subclass + bInterfaceProtocol 2 Mouse + iInterface 0 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.10 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 52 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 10 + +Bus 005 Device 006: ID 413c:b06e Dell Computer Corp. Dell Thunderbolt Dock WD19TBS +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.01 + bDeviceClass 0 [unknown] + bDeviceSubClass 0 [unknown] + bDeviceProtocol 0 + bMaxPacketSize0 64 + idVendor 0x413c Dell Computer Corp. + idProduct 0xb06e Dell Thunderbolt Dock WD19TBS + bcdDevice 2.04 + iManufacturer 0 + iProduct 1 Dell Thunderbolt Dock WD19TBS + iSerial 2 2400 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x002b + bNumInterfaces 2 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xa0 + (Bus Powered) + Remote Wakeup + MaxPower 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 + iInterface 1 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.11 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 36 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 bytes + bInterval 8 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 255 Vendor Specific Class + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 + iInterface 1 + +Bus 005 Device 007: ID 2109:2812 VIA Labs, Inc. VL812 Hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 1 Single TT + bMaxPacketSize0 64 + idVendor 0x2109 VIA Labs, Inc. + idProduct 0x2812 VL812 Hub + bcdDevice b.e0 + iManufacturer 1 VIA Labs, Inc. + iProduct 2 USB2.0 Hub + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0019 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0001 1x 1 bytes + bInterval 12 + +Bus 005 Device 008: ID 29ea:0360 Kinesis Corporation Kinesis Adv360 +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.00 + bDeviceClass 0 [unknown] + bDeviceSubClass 0 [unknown] + bDeviceProtocol 0 + bMaxPacketSize0 64 + idVendor 0x29ea Kinesis Corporation + idProduct 0x0360 Kinesis Adv360 + bcdDevice 1.00 + iManufacturer 1 Kinesis + iProduct 2 Kinesis Adv360 + iSerial 3 360555127546 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0054 + bNumInterfaces 3 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 1 Boot Interface Subclass + bInterfaceProtocol 2 Mouse + iInterface 0 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.11 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 52 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0008 1x 8 bytes + bInterval 10 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 1 Boot Interface Subclass + bInterfaceProtocol 1 Keyboard + iInterface 0 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.11 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 59 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0008 1x 8 bytes + bInterval 2 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 + iInterface 0 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.11 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 89 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x85 EP 5 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0008 1x 8 bytes + bInterval 2 + +Bus 005 Device 009: ID 413c:b06f Dell Computer Corp. Dell dock +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.01 + bDeviceClass 0 [unknown] + bDeviceSubClass 0 [unknown] + bDeviceProtocol 0 + bMaxPacketSize0 64 + idVendor 0x413c Dell Computer Corp. + idProduct 0xb06f Dell dock + bcdDevice 1.01 + iManufacturer 0 + iProduct 1 Dell dock + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0022 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xa0 + (Bus Powered) + Remote Wakeup + MaxPower 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 + iInterface 0 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.11 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 36 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 bytes + bInterval 8 + +Bus 005 Device 011: ID 05e3:0610 Genesys Logic, Inc. Hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 1 Single TT + bMaxPacketSize0 64 + idVendor 0x05e3 Genesys Logic, Inc. + idProduct 0x0610 Hub + bcdDevice 6.63 + iManufacturer 1 GenesysLogic + iProduct 2 USB2.1 Hub + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0019 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0001 1x 1 bytes + bInterval 12 + +Bus 005 Device 012: ID 2109:2812 VIA Labs, Inc. VL812 Hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 1 Single TT + bMaxPacketSize0 64 + idVendor 0x2109 VIA Labs, Inc. + idProduct 0x2812 VL812 Hub + bcdDevice b.e0 + iManufacturer 1 VIA Labs, Inc. + iProduct 2 USB2.0 Hub + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0019 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0001 1x 1 bytes + bInterval 12 + +Bus 005 Device 013: ID 046d:082d Logitech, Inc. HD Pro Webcam C920 +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.00 + bDeviceClass 239 Miscellaneous Device + bDeviceSubClass 2 [unknown] + bDeviceProtocol 1 Interface Association + bMaxPacketSize0 64 + idVendor 0x046d Logitech, Inc. + idProduct 0x082d HD Pro Webcam C920 + bcdDevice 0.11 + iManufacturer 0 + iProduct 2 HD Pro Webcam C920 + iSerial 1 09E8FD1F + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0d7c + bNumInterfaces 4 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0x80 + (Bus Powered) + MaxPower 500mA + Interface Association: + bLength 8 + bDescriptorType 11 + bFirstInterface 0 + bInterfaceCount 2 + bFunctionClass 14 Video + bFunctionSubClass 3 Video Interface Collection + bFunctionProtocol 0 + iFunction 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 14 Video + bInterfaceSubClass 1 Video Control + bInterfaceProtocol 0 + iInterface 0 + VideoControl Interface Descriptor: + bLength 13 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdUVC 1.00 + wTotalLength 0x00d6 + dwClockFrequency 300.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 0x00020a2e + Auto-Exposure Mode + Auto-Exposure Priority + Exposure Time (Absolute) + Focus (Absolute) + Zoom (Absolute) + PanTilt (Absolute) + Focus, Auto + VideoControl Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 5 (PROCESSING_UNIT) + Warning: Descriptor too short + bUnitID 3 + bSourceID 1 + wMaxMultiplier 16384 + bControlSize 2 + bmControls 0x0000175b + Brightness + Contrast + Saturation + Sharpness + White Balance Temperature + Backlight Compensation + Gain + Power Line Frequency + White Balance Temperature, Auto + iProcessing 0 + bmVideoStandards 0x1b + None + NTSC - 525/60 + SECAM - 625/50 + NTSC - 625/50 + VideoControl Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 6 + guidExtensionCode {23e49ed0-1178-4f31-ae52-d2fb8a8d3b48} + bNumControls 10 + bNrInPins 1 + baSourceID( 0) 3 + bControlSize 2 + bmControls( 0) 0xff + bmControls( 1) 0x03 + iExtension 0 + VideoControl Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 8 + guidExtensionCode {69678ee4-410f-40db-a850-7420d7d8240e} + bNumControls 7 + bNrInPins 1 + baSourceID( 0) 1 + bControlSize 2 + bmControls( 0) 0x3b + bmControls( 1) 0x03 + iExtension 0 + VideoControl Interface Descriptor: + bLength 28 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 9 + guidExtensionCode {1f5d4ca9-de11-4487-840d-50933c8ec8d1} + bNumControls 17 + bNrInPins 1 + baSourceID( 0) 1 + bControlSize 3 + bmControls( 0) 0xf3 + bmControls( 1) 0xff + bmControls( 2) 0x23 + iExtension 0 + VideoControl Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 10 + guidExtensionCode {49e40215-f434-47fe-b158-0e885023e51b} + bNumControls 7 + bNrInPins 1 + baSourceID( 0) 1 + bControlSize 2 + bmControls( 0) 0xaa + bmControls( 1) 0x07 + iExtension 0 + VideoControl Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 11 + guidExtensionCode {ffe52d21-8030-4e2c-82d9-f587d00540bd} + bNumControls 2 + bNrInPins 1 + baSourceID( 0) 1 + bControlSize 2 + bmControls( 0) 0x00 + bmControls( 1) 0x41 + iExtension 0 + VideoControl Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 12 + guidExtensionCode {a29e7641-de04-47e3-8b2b-f4341aff003b} + bNumControls 11 + bNrInPins 1 + baSourceID( 0) 3 + bControlSize 2 + bmControls( 0) 0x07 + bmControls( 1) 0x7f + iExtension 0 + VideoControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 4 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bSourceID 3 + iTerminal 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 bytes + bInterval 8 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 14 Video + bInterfaceSubClass 2 Video Streaming + bInterfaceProtocol 0 + iInterface 0 + VideoStreaming Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 1 (INPUT_HEADER) + bNumFormats 3 + wTotalLength 0x0b06 + bEndpointAddress 0x81 EP 1 IN + bmInfo 0 + bTerminalLink 4 + bStillCaptureMethod 0 + bTriggerSupport 0 + bTriggerUsage 0 + bControlSize 1 + bmaControls( 0) 0 + bmaControls( 1) 4 + bmaControls( 2) 4 + VideoStreaming Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) + bFormatIndex 1 + bNumFrameDescriptors 19 + 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 54 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 1 + bmCapabilities 0x00 + Still image unsupported + wWidth 640 + wHeight 480 + dwMinBitRate 24576000 + dwMaxBitRate 147456000 + dwMaxVideoFrameBufferSize 614400 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 2 + bmCapabilities 0x00 + Still image unsupported + wWidth 160 + wHeight 90 + dwMinBitRate 1152000 + dwMaxBitRate 6912000 + dwMaxVideoFrameBufferSize 28800 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 3 + bmCapabilities 0x00 + Still image unsupported + wWidth 160 + wHeight 120 + dwMinBitRate 1536000 + dwMaxBitRate 9216000 + dwMaxVideoFrameBufferSize 38400 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 4 + bmCapabilities 0x00 + Still image unsupported + wWidth 176 + wHeight 144 + dwMinBitRate 2027520 + dwMaxBitRate 12165120 + dwMaxVideoFrameBufferSize 50688 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 5 + bmCapabilities 0x00 + Still image unsupported + wWidth 320 + wHeight 180 + dwMinBitRate 4608000 + dwMaxBitRate 27648000 + dwMaxVideoFrameBufferSize 115200 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 6 + bmCapabilities 0x00 + Still image unsupported + wWidth 320 + wHeight 240 + dwMinBitRate 6144000 + dwMaxBitRate 36864000 + dwMaxVideoFrameBufferSize 153600 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 7 + bmCapabilities 0x00 + Still image unsupported + wWidth 352 + wHeight 288 + dwMinBitRate 8110080 + dwMaxBitRate 48660480 + dwMaxVideoFrameBufferSize 202752 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 8 + bmCapabilities 0x00 + Still image unsupported + wWidth 432 + wHeight 240 + dwMinBitRate 8294400 + dwMaxBitRate 49766400 + dwMaxVideoFrameBufferSize 207360 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 9 + bmCapabilities 0x00 + Still image unsupported + wWidth 640 + wHeight 360 + dwMinBitRate 18432000 + dwMaxBitRate 110592000 + dwMaxVideoFrameBufferSize 460800 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 10 + bmCapabilities 0x00 + Still image unsupported + wWidth 800 + wHeight 448 + dwMinBitRate 28672000 + dwMaxBitRate 172032000 + dwMaxVideoFrameBufferSize 716800 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 50 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 11 + bmCapabilities 0x00 + Still image unsupported + wWidth 800 + wHeight 600 + dwMinBitRate 38400000 + dwMaxBitRate 184320000 + dwMaxVideoFrameBufferSize 960000 + dwDefaultFrameInterval 416666 + bFrameIntervalType 6 + dwFrameInterval( 0) 416666 + dwFrameInterval( 1) 500000 + dwFrameInterval( 2) 666666 + dwFrameInterval( 3) 1000000 + dwFrameInterval( 4) 1333333 + dwFrameInterval( 5) 2000000 + VideoStreaming Interface Descriptor: + bLength 50 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 12 + bmCapabilities 0x00 + Still image unsupported + wWidth 864 + wHeight 480 + dwMinBitRate 33177600 + dwMaxBitRate 159252480 + dwMaxVideoFrameBufferSize 829440 + dwDefaultFrameInterval 416666 + bFrameIntervalType 6 + dwFrameInterval( 0) 416666 + dwFrameInterval( 1) 500000 + dwFrameInterval( 2) 666666 + dwFrameInterval( 3) 1000000 + dwFrameInterval( 4) 1333333 + dwFrameInterval( 5) 2000000 + VideoStreaming Interface Descriptor: + bLength 42 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 13 + bmCapabilities 0x00 + Still image unsupported + wWidth 960 + wHeight 720 + dwMinBitRate 55296000 + dwMaxBitRate 165888000 + dwMaxVideoFrameBufferSize 1382400 + dwDefaultFrameInterval 666666 + bFrameIntervalType 4 + dwFrameInterval( 0) 666666 + dwFrameInterval( 1) 1000000 + dwFrameInterval( 2) 1333333 + dwFrameInterval( 3) 2000000 + VideoStreaming Interface Descriptor: + bLength 42 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 14 + bmCapabilities 0x00 + Still image unsupported + wWidth 1024 + wHeight 576 + dwMinBitRate 47185920 + dwMaxBitRate 141557760 + dwMaxVideoFrameBufferSize 1179648 + dwDefaultFrameInterval 666666 + bFrameIntervalType 4 + dwFrameInterval( 0) 666666 + dwFrameInterval( 1) 1000000 + dwFrameInterval( 2) 1333333 + dwFrameInterval( 3) 2000000 + VideoStreaming Interface Descriptor: + bLength 38 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 15 + bmCapabilities 0x00 + Still image unsupported + wWidth 1280 + wHeight 720 + dwMinBitRate 73728000 + dwMaxBitRate 147456000 + dwMaxVideoFrameBufferSize 1843200 + dwDefaultFrameInterval 1000000 + bFrameIntervalType 3 + dwFrameInterval( 0) 1000000 + dwFrameInterval( 1) 1333333 + dwFrameInterval( 2) 2000000 + VideoStreaming Interface Descriptor: + bLength 34 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 16 + bmCapabilities 0x00 + Still image unsupported + wWidth 1600 + wHeight 896 + dwMinBitRate 114688000 + dwMaxBitRate 172032000 + dwMaxVideoFrameBufferSize 2867200 + dwDefaultFrameInterval 1333333 + bFrameIntervalType 2 + dwFrameInterval( 0) 1333333 + dwFrameInterval( 1) 2000000 + VideoStreaming Interface Descriptor: + bLength 30 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 17 + bmCapabilities 0x00 + Still image unsupported + wWidth 1920 + wHeight 1080 + dwMinBitRate 165888000 + dwMaxBitRate 165888000 + dwMaxVideoFrameBufferSize 4147200 + dwDefaultFrameInterval 2000000 + bFrameIntervalType 1 + dwFrameInterval( 0) 2000000 + VideoStreaming Interface Descriptor: + bLength 30 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 18 + bmCapabilities 0x00 + Still image unsupported + wWidth 2304 + wHeight 1296 + dwMinBitRate 238878720 + dwMaxBitRate 238878720 + dwMaxVideoFrameBufferSize 5971968 + dwDefaultFrameInterval 4999998 + bFrameIntervalType 1 + dwFrameInterval( 0) 4999998 + VideoStreaming Interface Descriptor: + bLength 30 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 19 + bmCapabilities 0x00 + Still image unsupported + wWidth 2304 + wHeight 1536 + dwMinBitRate 283115520 + dwMaxBitRate 283115520 + dwMaxVideoFrameBufferSize 7077888 + dwDefaultFrameInterval 4999998 + bFrameIntervalType 1 + dwFrameInterval( 0) 4999998 + 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 28 + bDescriptorType 36 + bDescriptorSubtype 16 (FORMAT_FRAME_BASED) + bFormatIndex 2 + bNumFrameDescriptors 17 + guidFormat {34363248-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 + bVariableSize 1 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 1 + bmCapabilities 0x00 + Still image unsupported + wWidth 640 + wHeight 480 + dwMinBitRate 24576000 + dwMaxBitRate 147456000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 2 + bmCapabilities 0x00 + Still image unsupported + wWidth 160 + wHeight 90 + dwMinBitRate 1152000 + dwMaxBitRate 6912000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 3 + bmCapabilities 0x00 + Still image unsupported + wWidth 160 + wHeight 120 + dwMinBitRate 1536000 + dwMaxBitRate 9216000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 4 + bmCapabilities 0x00 + Still image unsupported + wWidth 176 + wHeight 144 + dwMinBitRate 2027520 + dwMaxBitRate 12165120 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 5 + bmCapabilities 0x00 + Still image unsupported + wWidth 320 + wHeight 180 + dwMinBitRate 4608000 + dwMaxBitRate 27648000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 6 + bmCapabilities 0x00 + Still image unsupported + wWidth 320 + wHeight 240 + dwMinBitRate 6144000 + dwMaxBitRate 36864000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 7 + bmCapabilities 0x00 + Still image unsupported + wWidth 352 + wHeight 288 + dwMinBitRate 8110080 + dwMaxBitRate 48660480 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 8 + bmCapabilities 0x00 + Still image unsupported + wWidth 432 + wHeight 240 + dwMinBitRate 8294400 + dwMaxBitRate 49766400 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 9 + bmCapabilities 0x00 + Still image unsupported + wWidth 640 + wHeight 360 + dwMinBitRate 18432000 + dwMaxBitRate 110592000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 10 + bmCapabilities 0x00 + Still image unsupported + wWidth 800 + wHeight 448 + dwMinBitRate 28672000 + dwMaxBitRate 172032000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 11 + bmCapabilities 0x00 + Still image unsupported + wWidth 800 + wHeight 600 + dwMinBitRate 38400000 + dwMaxBitRate 230400000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 12 + bmCapabilities 0x00 + Still image unsupported + wWidth 864 + wHeight 480 + dwMinBitRate 33177600 + dwMaxBitRate 199065600 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 13 + bmCapabilities 0x00 + Still image unsupported + wWidth 960 + wHeight 720 + dwMinBitRate 55296000 + dwMaxBitRate 331776000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 14 + bmCapabilities 0x00 + Still image unsupported + wWidth 1024 + wHeight 576 + dwMinBitRate 47185920 + dwMaxBitRate 283115520 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 15 + bmCapabilities 0x00 + Still image unsupported + wWidth 1280 + wHeight 720 + dwMinBitRate 73728000 + dwMaxBitRate 442368000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 16 + bmCapabilities 0x00 + Still image unsupported + wWidth 1600 + wHeight 896 + dwMinBitRate 114688000 + dwMaxBitRate 688128000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 17 (FRAME_FRAME_BASED) + bFrameIndex 17 + bmCapabilities 0x00 + Still image unsupported + wWidth 1920 + wHeight 1080 + dwMinBitRate 165888000 + dwMaxBitRate 995328000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwBytesPerLine 0 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + 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 11 + bDescriptorType 36 + bDescriptorSubtype 6 (FORMAT_MJPEG) + bFormatIndex 3 + bNumFrameDescriptors 17 + 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 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 1 + bmCapabilities 0x00 + Still image unsupported + wWidth 640 + wHeight 480 + dwMinBitRate 24576000 + dwMaxBitRate 147456000 + dwMaxVideoFrameBufferSize 614400 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 2 + bmCapabilities 0x00 + Still image unsupported + wWidth 160 + wHeight 90 + dwMinBitRate 1152000 + dwMaxBitRate 6912000 + dwMaxVideoFrameBufferSize 28800 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 3 + bmCapabilities 0x00 + Still image unsupported + wWidth 160 + wHeight 120 + dwMinBitRate 1536000 + dwMaxBitRate 9216000 + dwMaxVideoFrameBufferSize 38400 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 4 + bmCapabilities 0x00 + Still image unsupported + wWidth 176 + wHeight 144 + dwMinBitRate 2027520 + dwMaxBitRate 12165120 + dwMaxVideoFrameBufferSize 50688 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 5 + bmCapabilities 0x00 + Still image unsupported + wWidth 320 + wHeight 180 + dwMinBitRate 4608000 + dwMaxBitRate 27648000 + dwMaxVideoFrameBufferSize 115200 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 6 + bmCapabilities 0x00 + Still image unsupported + wWidth 320 + wHeight 240 + dwMinBitRate 6144000 + dwMaxBitRate 36864000 + dwMaxVideoFrameBufferSize 153600 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 7 + bmCapabilities 0x00 + Still image unsupported + wWidth 352 + wHeight 288 + dwMinBitRate 8110080 + dwMaxBitRate 48660480 + dwMaxVideoFrameBufferSize 202752 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 8 + bmCapabilities 0x00 + Still image unsupported + wWidth 432 + wHeight 240 + dwMinBitRate 8294400 + dwMaxBitRate 49766400 + dwMaxVideoFrameBufferSize 207360 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 9 + bmCapabilities 0x00 + Still image unsupported + wWidth 640 + wHeight 360 + dwMinBitRate 18432000 + dwMaxBitRate 110592000 + dwMaxVideoFrameBufferSize 460800 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 10 + bmCapabilities 0x00 + Still image unsupported + wWidth 800 + wHeight 448 + dwMinBitRate 28672000 + dwMaxBitRate 172032000 + dwMaxVideoFrameBufferSize 716800 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 11 + bmCapabilities 0x00 + Still image unsupported + wWidth 800 + wHeight 600 + dwMinBitRate 38400000 + dwMaxBitRate 230400000 + dwMaxVideoFrameBufferSize 960000 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 12 + bmCapabilities 0x00 + Still image unsupported + wWidth 864 + wHeight 480 + dwMinBitRate 33177600 + dwMaxBitRate 199065600 + dwMaxVideoFrameBufferSize 829440 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 13 + bmCapabilities 0x00 + Still image unsupported + wWidth 960 + wHeight 720 + dwMinBitRate 55296000 + dwMaxBitRate 331776000 + dwMaxVideoFrameBufferSize 1382400 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 14 + bmCapabilities 0x00 + Still image unsupported + wWidth 1024 + wHeight 576 + dwMinBitRate 47185920 + dwMaxBitRate 283115520 + dwMaxVideoFrameBufferSize 1179648 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 15 + bmCapabilities 0x00 + Still image unsupported + wWidth 1280 + wHeight 720 + dwMinBitRate 73728000 + dwMaxBitRate 442368000 + dwMaxVideoFrameBufferSize 1843200 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 16 + bmCapabilities 0x00 + Still image unsupported + wWidth 1600 + wHeight 896 + dwMinBitRate 114688000 + dwMaxBitRate 688128000 + dwMaxVideoFrameBufferSize 2867200 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + VideoStreaming Interface Descriptor: + bLength 54 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 17 + bmCapabilities 0x00 + Still image unsupported + wWidth 1920 + wHeight 1080 + dwMinBitRate 165888000 + dwMaxBitRate 995328000 + dwMaxVideoFrameBufferSize 4147200 + dwDefaultFrameInterval 333333 + bFrameIntervalType 7 + dwFrameInterval( 0) 333333 + dwFrameInterval( 1) 416666 + dwFrameInterval( 2) 500000 + dwFrameInterval( 3) 666666 + dwFrameInterval( 4) 1000000 + dwFrameInterval( 5) 1333333 + dwFrameInterval( 6) 2000000 + 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 0x00c0 1x 192 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 0x0180 1x 384 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 0x0200 1x 512 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 0x0280 1x 640 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 0x0320 1x 800 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 0x03b0 1x 944 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 0x0a80 2x 640 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 8 + 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 0x0b20 2x 800 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 9 + 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 0x0be0 2x 992 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 10 + 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 0x1380 3x 896 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 11 + 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 0x13fc 3x 1020 bytes + bInterval 1 + Interface Association: + bLength 8 + bDescriptorType 11 + bFirstInterface 2 + bInterfaceCount 2 + bFunctionClass 1 Audio + bFunctionSubClass 2 Streaming + 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 0 + AudioControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdADC 1.00 + wTotalLength 0x0026 + bInCollection 1 + baInterfaceNr(0) 3 + AudioControl Interface Descriptor: + bLength 12 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 1 + wTerminalType 0x0201 Microphone + bAssocTerminal 0 + bNrChannels 1 + wChannelConfig 0x0003 + Left Front (L) + Right Front (R) + iChannelNames 0 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 3 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bSourceID 5 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 8 + bDescriptorType 36 + bDescriptorSubtype 6 (FEATURE_UNIT) + bUnitID 5 + bSourceID 1 + bControlSize 1 + bmaControls(0) 0x03 + Mute Control + Volume Control + iFeature 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 3 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 3 + bAlternateSetting 1 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 3 + bDelay 255 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] 16000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x82 EP 2 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0044 1x 68 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 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 3 + bAlternateSetting 2 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 3 + bDelay 255 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] 24000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x82 EP 2 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0064 1x 100 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 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 3 + bAlternateSetting 3 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 3 + bDelay 255 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] 32000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x82 EP 2 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0084 1x 132 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 0x0000 + +Bus 005 Device 025: ID 08bb:2902 Texas Instruments PCM2902 Audio Codec +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 1.10 + bDeviceClass 0 [unknown] + bDeviceSubClass 0 [unknown] + bDeviceProtocol 0 + bMaxPacketSize0 8 + idVendor 0x08bb Texas Instruments + idProduct 0x2902 PCM2902 Audio Codec + bcdDevice 1.00 + iManufacturer 1 Burr-Brown from TI + iProduct 2 USB Audio CODEC + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x04a7 + bNumInterfaces 4 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0x80 + (Bus Powered) + MaxPower 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 1 Control Device + bInterfaceProtocol 0 + iInterface 0 + AudioControl Interface Descriptor: + bLength 10 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdADC 1.00 + wTotalLength 0x003e + bInCollection 2 + baInterfaceNr(0) 1 + baInterfaceNr(1) 2 + AudioControl Interface Descriptor: + bLength 12 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 1 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bNrChannels 2 + wChannelConfig 0x0003 + Left Front (L) + Right Front (R) + iChannelNames 0 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 2 + wTerminalType 0x0301 Speaker + bAssocTerminal 0 + bSourceID 3 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 10 + bDescriptorType 36 + bDescriptorSubtype 6 (FEATURE_UNIT) + bUnitID 3 + bSourceID 1 + bControlSize 1 + bmaControls(0) 0x01 + Mute Control + bmaControls(1) 0x02 + Volume Control + bmaControls(2) 0x02 + Volume Control + iFeature 0 + AudioControl Interface Descriptor: + bLength 12 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 4 + wTerminalType 0x0201 Microphone + bAssocTerminal 0 + bNrChannels 2 + wChannelConfig 0x0003 + Left Front (L) + Right Front (R) + iChannelNames 0 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 5 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bSourceID 4 + iTerminal 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 1 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 1 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 2 + bSubframeSize 2 + bBitResolution 16 + bSamFreqType 3 Discrete + tSamFreq[ 0] 32000 + tSamFreq[ 1] 44100 + tSamFreq[ 2] 48000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 9 + Transfer Type Isochronous + Synch Type Adaptive + Usage Type Data + wMaxPacketSize 0x00c0 1x 192 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0200 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 2 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 1 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 1 + bSubframeSize 2 + bBitResolution 16 + bSamFreqType 3 Discrete + tSamFreq[ 0] 32000 + tSamFreq[ 1] 44100 + tSamFreq[ 2] 48000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 9 + Transfer Type Isochronous + Synch Type Adaptive + Usage Type Data + wMaxPacketSize 0x0060 1x 96 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0200 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 3 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 1 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 2 + bSubframeSize 1 + bBitResolution 8 + bSamFreqType 3 Discrete + tSamFreq[ 0] 32000 + tSamFreq[ 1] 44100 + tSamFreq[ 2] 48000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 9 + Transfer Type Isochronous + Synch Type Adaptive + Usage Type Data + wMaxPacketSize 0x0060 1x 96 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0200 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 4 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 1 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 1 + bSubframeSize 1 + bBitResolution 8 + bSamFreqType 3 Discrete + tSamFreq[ 0] 32000 + tSamFreq[ 1] 44100 + tSamFreq[ 2] 48000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 9 + Transfer Type Isochronous + Synch Type Adaptive + Usage Type Data + wMaxPacketSize 0x0030 1x 48 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0200 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 5 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 1 + bDelay 0 frames + wFormatTag 0x0002 PCM8 + AudioStreaming Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 2 + bSubframeSize 1 + bBitResolution 8 + bSamFreqType 3 Discrete + tSamFreq[ 0] 32000 + tSamFreq[ 1] 44100 + tSamFreq[ 2] 48000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 9 + Transfer Type Isochronous + Synch Type Adaptive + Usage Type Data + wMaxPacketSize 0x0060 1x 96 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0200 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 6 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 1 + bDelay 0 frames + wFormatTag 0x0002 PCM8 + AudioStreaming Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 1 + bSubframeSize 1 + bBitResolution 8 + bSamFreqType 3 Discrete + tSamFreq[ 0] 32000 + tSamFreq[ 1] 44100 + tSamFreq[ 2] 48000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 9 + Transfer Type Isochronous + Synch Type Adaptive + Usage Type Data + wMaxPacketSize 0x0030 1x 48 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0200 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 1 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x00c4 1x 196 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 2 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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] 48000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0062 1x 98 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 3 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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] 44100 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x00b4 1x 180 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 4 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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] 44100 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x005a 1x 90 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 5 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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] 32000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0084 1x 132 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 6 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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] 32000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0042 1x 66 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 7 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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] 22050 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x005c 1x 92 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 8 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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] 22050 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x002e 1x 46 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 9 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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] 16000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0044 1x 68 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 10 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0022 1x 34 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 11 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 2 + bSubframeSize 1 + bBitResolution 8 + bSamFreqType 1 Discrete + tSamFreq[ 0] 16000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0022 1x 34 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 12 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 1 + bSubframeSize 1 + bBitResolution 8 + bSamFreqType 1 Discrete + tSamFreq[ 0] 16000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0011 1x 17 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 13 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 2 + bSubframeSize 1 + bBitResolution 8 + bSamFreqType 1 Discrete + tSamFreq[ 0] 8000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0012 1x 18 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 14 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 1 + bSubframeSize 1 + bBitResolution 8 + bSamFreqType 1 Discrete + tSamFreq[ 0] 8000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0009 1x 9 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 15 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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] 11025 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 13 + Transfer Type Isochronous + Synch Type Synchronous + Usage Type Data + wMaxPacketSize 0x0030 1x 48 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 16 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 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] 11025 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 13 + Transfer Type Isochronous + Synch Type Synchronous + Usage Type Data + wMaxPacketSize 0x0018 1x 24 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 17 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 2 + bSubframeSize 1 + bBitResolution 8 + bSamFreqType 1 Discrete + tSamFreq[ 0] 11025 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 13 + Transfer Type Isochronous + Synch Type Synchronous + Usage Type Data + wMaxPacketSize 0x0018 1x 24 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 18 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 5 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 1 + bSubframeSize 1 + bBitResolution 8 + bSamFreqType 1 Discrete + tSamFreq[ 0] 11025 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x84 EP 4 IN + bmAttributes 13 + Transfer Type Isochronous + Synch Type Synchronous + Usage Type Data + wMaxPacketSize 0x000c 1x 12 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0000 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 3 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 + iInterface 0 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.00 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 31 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x85 EP 5 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0001 1x 1 bytes + bInterval 10 + +Bus 005 Device 030: ID 08bb:2707 Texas Instruments PCM2707 stereo audio DAC +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 1.10 + bDeviceClass 0 [unknown] + bDeviceSubClass 0 [unknown] + bDeviceProtocol 0 + bMaxPacketSize0 8 + idVendor 0x08bb Texas Instruments + idProduct 0x2707 PCM2707 stereo audio DAC + bcdDevice 1.00 + iManufacturer 1 Burr-Brown from TI + iProduct 2 USB Audio DAC + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x00be + bNumInterfaces 3 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0x80 + (Bus Powered) + MaxPower 500mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 1 Control Device + bInterfaceProtocol 0 + iInterface 0 + AudioControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdADC 1.00 + wTotalLength 0x0028 + bInCollection 1 + baInterfaceNr(0) 1 + AudioControl Interface Descriptor: + bLength 12 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 1 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bNrChannels 2 + wChannelConfig 0x0003 + Left Front (L) + Right Front (R) + iChannelNames 0 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 2 + wTerminalType 0x0301 Speaker + bAssocTerminal 0 + bSourceID 3 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 10 + bDescriptorType 36 + bDescriptorSubtype 6 (FEATURE_UNIT) + bUnitID 3 + bSourceID 1 + bControlSize 1 + bmaControls(0) 0x01 + Mute Control + bmaControls(1) 0x02 + Volume Control + bmaControls(2) 0x02 + Volume Control + iFeature 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 1 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 1 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 2 + bSubframeSize 2 + bBitResolution 16 + bSamFreqType 3 Discrete + tSamFreq[ 0] 32000 + tSamFreq[ 1] 44100 + tSamFreq[ 2] 48000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 9 + Transfer Type Isochronous + Synch Type Adaptive + Usage Type Data + wMaxPacketSize 0x00c0 1x 192 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0200 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 2 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 0 + iInterface 0 + AudioStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 1 + bDelay 0 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 1 + bSubframeSize 2 + bBitResolution 16 + bSamFreqType 3 Discrete + tSamFreq[ 0] 32000 + tSamFreq[ 1] 44100 + tSamFreq[ 2] 48000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 9 + Transfer Type Isochronous + Synch Type Adaptive + Usage Type Data + wMaxPacketSize 0x0060 1x 96 bytes + bInterval 1 + bRefresh 0 + bSynchAddress 0 + AudioStreaming Endpoint Descriptor: + bLength 7 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0200 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 + iInterface 0 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.00 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 36 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x85 EP 5 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0001 1x 1 bytes + bInterval 10 + +Bus 005 Device 034: ID 2e8a:10cd Halibut Electronics HaliKey MIDI +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 1.10 + bDeviceClass 239 Miscellaneous Device + bDeviceSubClass 2 [unknown] + bDeviceProtocol 1 Interface Association + bMaxPacketSize0 64 + idVendor 0x2e8a Halibut Electronics + idProduct 0x10cd HaliKey MIDI + bcdDevice 2.00 + iManufacturer 1 Halibut Electronics + iProduct 2 HaliKey MIDI + iSerial 3 E66550A1473E7632 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x00a7 + bNumInterfaces 4 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xa0 + (Bus Powered) + Remote Wakeup + MaxPower 100mA + Interface Association: + bLength 8 + bDescriptorType 11 + bFirstInterface 0 + bInterfaceCount 2 + bFunctionClass 2 Communications + bFunctionSubClass 2 Abstract (modem) + bFunctionProtocol 0 + iFunction 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 2 Communications + bInterfaceSubClass 2 Abstract (modem) + bInterfaceProtocol 0 + iInterface 4 TinyUSB Serial + CDC Header: + bcdCDC 1.20 + CDC Call Management: + bmCapabilities 0x00 + bDataInterface 1 + CDC ACM: + bmCapabilities 0x06 + sends break + line coding and serial state + CDC Union: + bMasterInterface 0 + bSlaveInterface 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0008 1x 8 bytes + bInterval 16 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 2 + bInterfaceClass 10 CDC Data + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x01 EP 1 OUT + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 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 0x0040 1x 64 bytes + bInterval 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 1 Control Device + bInterfaceProtocol 0 + iInterface 5 HaliKey MIDI + AudioControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdADC 1.00 + wTotalLength 0x0009 + bInCollection 1 + baInterfaceNr(0) 3 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 3 + bAlternateSetting 0 + bNumEndpoints 2 + bInterfaceClass 1 Audio + bInterfaceSubClass 3 MIDI Streaming + bInterfaceProtocol 0 + iInterface 0 + MIDIStreaming Interface Descriptor: + bLength 7 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdADC 1.00 + wTotalLength 0x0041 + MIDIStreaming Interface Descriptor: + bLength 6 + bDescriptorType 36 + bDescriptorSubtype 2 (MIDI_IN_JACK) + bJackType 1 Embedded + bJackID 1 + iJack 0 + MIDIStreaming Interface Descriptor: + bLength 6 + bDescriptorType 36 + bDescriptorSubtype 2 (MIDI_IN_JACK) + bJackType 2 External + bJackID 2 + iJack 0 + MIDIStreaming Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 3 (MIDI_OUT_JACK) + bJackType 1 Embedded + bJackID 3 + bNrInputPins 1 + baSourceID( 0) 2 + BaSourcePin( 0) 1 + iJack 0 + MIDIStreaming Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 3 (MIDI_OUT_JACK) + bJackType 2 External + bJackID 4 + bNrInputPins 1 + baSourceID( 0) 1 + BaSourcePin( 0) 1 + iJack 0 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 bytes + bInterval 0 + bRefresh 0 + bSynchAddress 0 + MIDIStreaming Endpoint Descriptor: + bLength 5 + bDescriptorType 37 + bDescriptorSubtype 1 (Invalid) + bNumEmbMIDIJack 1 + baAssocJackID( 0) 1 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0040 1x 64 bytes + bInterval 0 + bRefresh 0 + bSynchAddress 0 + MIDIStreaming Endpoint Descriptor: + bLength 5 + bDescriptorType 37 + bDescriptorSubtype 1 (Invalid) + bNumEmbMIDIJack 1 + baAssocJackID( 0) 3 +Device Status: 0x0000 + (Bus Powered) + +Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x1d6b Linux Foundation + idProduct 0x0003 3.0 root hub + bcdDevice 6.14 + iManufacturer 3 Linux 6.14.0-37-generic xhci-hcd + iProduct 2 xHCI Host Controller + iSerial 1 0000:58:00.0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x001f + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 12 + bMaxBurst 0 + +Bus 006 Device 002: ID 0bda:0487 Realtek Semiconductor Corp. Dell dock +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x0bda Realtek Semiconductor Corp. + idProduct 0x0487 Dell dock + bcdDevice 1.62 + iManufacturer 1 Dell Inc. + iProduct 2 Dell dock + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x001f + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 4 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 5 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 19 + Transfer Type Interrupt + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0002 1x 2 bytes + bInterval 8 + bMaxBurst 0 + +Bus 006 Device 003: ID 05e3:0626 Genesys Logic, Inc. Hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.20 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x05e3 Genesys Logic, Inc. + idProduct 0x0626 Hub + bcdDevice 6.63 + iManufacturer 1 GenesysLogic + iProduct 2 USB3.1 Hub + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x001f + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 19 + Transfer Type Interrupt + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0002 1x 2 bytes + bInterval 8 + bMaxBurst 0 + +Bus 006 Device 004: ID 0bda:0413 Realtek Semiconductor Corp. Dell dock +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x0bda Realtek Semiconductor Corp. + idProduct 0x0413 Dell dock + bcdDevice 1.23 + iManufacturer 1 Dell Inc. + iProduct 2 Dell dock + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x001f + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 4 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 5 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 19 + Transfer Type Interrupt + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0002 1x 2 bytes + bInterval 8 + bMaxBurst 0 + +Bus 006 Device 005: ID 05e3:0626 Genesys Logic, Inc. Hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.20 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x05e3 Genesys Logic, Inc. + idProduct 0x0626 Hub + bcdDevice 6.63 + iManufacturer 1 GenesysLogic + iProduct 2 USB3.1 Hub + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x001f + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 1 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 19 + Transfer Type Interrupt + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0002 1x 2 bytes + bInterval 8 + bMaxBurst 0 + +Bus 006 Device 006: ID 2109:0812 VIA Labs, Inc. VL812 Hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.00 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x2109 VIA Labs, Inc. + idProduct 0x0812 VL812 Hub + bcdDevice b.e1 + iManufacturer 1 VIA Labs, Inc. + iProduct 2 USB3.0 Hub + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x001f + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 19 + Transfer Type Interrupt + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0002 1x 2 bytes + bInterval 8 + bMaxBurst 0 + +Bus 006 Device 007: ID 05e3:0749 Genesys Logic, Inc. SD Card Reader and Writer +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.20 + bDeviceClass 0 [unknown] + bDeviceSubClass 0 [unknown] + bDeviceProtocol 0 + bMaxPacketSize0 9 + idVendor 0x05e3 Genesys Logic, Inc. + idProduct 0x0749 SD Card Reader and Writer + bcdDevice 15.39 + iManufacturer 3 Generic + iProduct 4 USB3.0 Card Reader + iSerial 5 000000001539 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x002c + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0x80 + (Bus Powered) + MaxPower 896mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 2 + bInterfaceClass 8 Mass Storage + bInterfaceSubClass 6 SCSI + bInterfaceProtocol 80 Bulk-Only + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0400 1x 1024 bytes + bInterval 0 + bMaxBurst 4 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0400 1x 1024 bytes + bInterval 0 + bMaxBurst 4 + +Bus 006 Device 008: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.00 + bDeviceClass 0 [unknown] + bDeviceSubClass 0 [unknown] + bDeviceProtocol 0 + bMaxPacketSize0 9 + idVendor 0x0bda Realtek Semiconductor Corp. + idProduct 0x8153 RTL8153 Gigabit Ethernet Adapter + bcdDevice 31.11 + iManufacturer 1 Realtek + iProduct 2 USB 10/100/1000 LAN + iSerial 6 111000001 + bNumConfigurations 2 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0039 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xa0 + (Bus Powered) + Remote Wakeup + MaxPower 288mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 3 + bInterfaceClass 255 Vendor Specific Class + bInterfaceSubClass 255 Vendor Specific Subclass + bInterfaceProtocol 0 + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0400 1x 1024 bytes + bInterval 0 + bMaxBurst 3 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0400 1x 1024 bytes + bInterval 0 + bMaxBurst 3 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0002 1x 2 bytes + bInterval 8 + bMaxBurst 0 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0062 + bNumInterfaces 2 + bConfigurationValue 2 + iConfiguration 0 + bmAttributes 0xa0 + (Bus Powered) + Remote Wakeup + MaxPower 288mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 2 Communications + bInterfaceSubClass 6 Ethernet Networking + bInterfaceProtocol 0 + iInterface 5 + CDC Header: + bcdCDC 1.10 + CDC Union: + bMasterInterface 0 + bSlaveInterface 1 + CDC Ethernet: + iMacAddress 3 (??) + bmEthernetStatistics 0x00000000 + wMaxSegmentSize 1514 + wNumberMCFilters 0x0000 + bNumberPowerFilters 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 8 + bMaxBurst 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 10 CDC Data + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 + iInterface 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 1 + bNumEndpoints 2 + bInterfaceClass 10 CDC Data + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 + iInterface 4 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0400 1x 1024 bytes + bInterval 0 + bMaxBurst 3 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x02 EP 2 OUT + bmAttributes 2 + Transfer Type Bulk + Synch Type None + Usage Type Data + wMaxPacketSize 0x0400 1x 1024 bytes + bInterval 0 + bMaxBurst 3 + +Bus 006 Device 009: ID 2109:0812 VIA Labs, Inc. VL812 Hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.00 + bDeviceClass 9 Hub + bDeviceSubClass 0 [unknown] + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x2109 VIA Labs, Inc. + idProduct 0x0812 VL812 Hub + bcdDevice b.e1 + iManufacturer 1 VIA Labs, Inc. + iProduct 2 USB3.0 Hub + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x001f + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0xe0 + Self Powered + Remote Wakeup + MaxPower 0mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 [unknown] + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 19 + Transfer Type Interrupt + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0002 1x 2 bytes + bInterval 8 + bMaxBurst 0 diff --git a/src/arduino/Adafruit_USBD_CDC.cpp b/src/arduino/Adafruit_USBD_CDC.cpp index 11c5673e..873ef37b 100644 --- a/src/arduino/Adafruit_USBD_CDC.cpp +++ b/src/arduino/Adafruit_USBD_CDC.cpp @@ -27,11 +27,15 @@ // esp32 use built-in core cdc #if CFG_TUD_CDC && !defined(ARDUINO_ARCH_ESP32) +// Include before "Arduino.h" because TinyUSB is part of platform cores +// When developing TinyUSB, it needs to include the local version, not the +// platform core version, which is what gets included by Arduino.h +#include "Adafruit_USBD_CDC.h" + #include "Arduino.h" #include "Adafruit_TinyUSB_API.h" -#include "Adafruit_USBD_CDC.h" #include "Adafruit_USBD_Device.h" #ifndef TINYUSB_API_VERSION @@ -72,7 +76,8 @@ uint16_t Adafruit_USBD_CDC::getInterfaceDescriptor(uint8_t itfnum_deprecated, uint16_t const mps = (TUD_OPT_HIGH_SPEED ? 512 : 64); // TODO actual link speed uint8_t const desc[] = { - TUD_CDC_DESCRIPTOR(itfnum, _strid, ep_notif, 8, ep_out, ep_in, mps)}; + // Changed 8 to 16, notification size, to match Teensy. + TUD_CDC_DESCRIPTOR(itfnum, _strid, ep_notif, 16, ep_out, ep_in, mps)}; uint16_t const len = sizeof(desc); @@ -170,6 +175,40 @@ int Adafruit_USBD_CDC::dtr(void) { return tud_cdc_n_connected(_instance); } +bool Adafruit_USBD_CDC::rts(void) { + return tud_cdc_n_get_line_state(_instance) & CDC_CONTROL_LINE_STATE_RTS; +} + +bool Adafruit_USBD_CDC::dsr(void) { + return tud_cdc_n_get_serial_state(_instance).dsr; +} + +bool Adafruit_USBD_CDC::dcd(void) { + return tud_cdc_n_get_serial_state(_instance).dcd; +} + +bool Adafruit_USBD_CDC::ri(void) { + return tud_cdc_n_get_serial_state(_instance).ri; +} + +void Adafruit_USBD_CDC::dsr(bool c) { + cdc_serial_state_t serial_state = tud_cdc_n_get_serial_state(_instance); + serial_state.dsr = c; + tud_cdc_n_set_serial_state(_instance, serial_state); +} + +void Adafruit_USBD_CDC::dcd(bool c) { + cdc_serial_state_t serial_state = tud_cdc_n_get_serial_state(_instance); + serial_state.dcd = c; + tud_cdc_n_set_serial_state(_instance, serial_state); +} + +void Adafruit_USBD_CDC::ri(bool c) { + cdc_serial_state_t serial_state = tud_cdc_n_get_serial_state(_instance); + serial_state.ri = c; + tud_cdc_n_set_serial_state(_instance, serial_state); +} + Adafruit_USBD_CDC::operator bool() { if (!isValid()) { return false; diff --git a/src/arduino/Adafruit_USBD_CDC.h b/src/arduino/Adafruit_USBD_CDC.h index 9c0952f3..3fb61423 100644 --- a/src/arduino/Adafruit_USBD_CDC.h +++ b/src/arduino/Adafruit_USBD_CDC.h @@ -59,7 +59,21 @@ class Adafruit_USBD_CDC : public Stream, public Adafruit_USBD_Interface { uint8_t stopbits(void); uint8_t paritytype(void); uint8_t numbits(void); - int dtr(void); + + // Flow control bit getters. + int dtr(void); // pre-existing, I don't want to change the return type. + bool rts(void); + // bool cts(void); // NOT PART OF THE CDC ACM SPEC?! + bool dsr(void); + bool dcd(void); + bool ri(void); + + // Flow control bit setters. + // void cts(bool c); // NOT PART OF CDC ACM SPEC?! + void dsr(bool c); + void dcd(bool c); + void ri(bool c); + // Break is a little harder, it's an event, not a state. // Stream API virtual int available(void); diff --git a/src/arduino/Adafruit_USBD_Device.cpp b/src/arduino/Adafruit_USBD_Device.cpp index b6d10687..2809f0c6 100644 --- a/src/arduino/Adafruit_USBD_Device.cpp +++ b/src/arduino/Adafruit_USBD_Device.cpp @@ -162,21 +162,26 @@ void Adafruit_USBD_Device::task(void) { } void Adafruit_USBD_Device::clearConfiguration(void) { - tusb_desc_device_t const desc_dev = {.bLength = sizeof(tusb_desc_device_t), - .bDescriptorType = TUSB_DESC_DEVICE, - .bcdUSB = 0x0200, - .bDeviceClass = 0, - .bDeviceSubClass = 0, - .bDeviceProtocol = 0, - .bMaxPacketSize0 = - CFG_TUD_ENDPOINT0_SIZE, - .idVendor = USB_VID, - .idProduct = USB_PID, - .bcdDevice = 0x0100, - .iManufacturer = STRID_MANUFACTURER, - .iProduct = STRID_PRODUCT, - .iSerialNumber = STRID_SERIAL, - .bNumConfigurations = 0x01}; + tusb_desc_device_t const desc_dev = { + .bLength = sizeof(tusb_desc_device_t), + .bDescriptorType = TUSB_DESC_DEVICE, +#if CFG_TUSB_MCU == OPT_MCU_RP2040 // RP2040 only supports full speed + .bcdUSB = 0x0110, +#else + .bcdUSB = 0x0200, +#endif + .bDeviceClass = 0, + .bDeviceSubClass = 0, + .bDeviceProtocol = 0, + .bMaxPacketSize0 = CFG_TUD_ENDPOINT0_SIZE, + .idVendor = USB_VID, + .idProduct = USB_PID, + .bcdDevice = 0x0100, + .iManufacturer = STRID_MANUFACTURER, + .iProduct = STRID_PRODUCT, + .iSerialNumber = STRID_SERIAL, + .bNumConfigurations = 0x01 + }; _desc_device = desc_dev; @@ -236,9 +241,12 @@ bool Adafruit_USBD_Device::begin(uint8_t rhport) { // Use Interface Association Descriptor (IAD) for CDC // As required by USB Specs IAD's subclass must be common class (2) and // protocol must be IAD (1) - _desc_device.bDeviceClass = TUSB_CLASS_MISC; - _desc_device.bDeviceSubClass = MISC_SUBCLASS_COMMON; - _desc_device.bDeviceProtocol = MISC_PROTOCOL_IAD; + //_desc_device.bDeviceClass = TUSB_CLASS_MISC; + //_desc_device.bDeviceSubClass = MISC_SUBCLASS_COMMON; + //_desc_device.bDeviceProtocol = MISC_PROTOCOL_IAD; + _desc_device.bDeviceClass = TUSB_CLASS_UNSPECIFIED; + _desc_device.bDeviceSubClass = 0; + _desc_device.bDeviceProtocol = 0; #if defined(ARDUINO_ARCH_ESP32) #if ARDUINO_USB_CDC_ON_BOOT && !ARDUINO_USB_MODE diff --git a/src/class/cdc/cdc.h b/src/class/cdc/cdc.h index da490a6d..a5a5c5f8 100644 --- a/src/class/cdc/cdc.h +++ b/src/class/cdc/cdc.h @@ -412,6 +412,49 @@ typedef struct TU_ATTR_PACKED TU_VERIFY_STATIC(sizeof(cdc_line_control_state_t) == 2, "size is not correct"); +//--------------------------------------------------------------------+ +// Notifications +//--------------------------------------------------------------------+ + +typedef union TU_ATTR_PACKED { + struct { + uint16_t dcd :1; + uint16_t dsr :1; + uint16_t break_err :1; + uint16_t ri :1; + uint16_t frame_err :1; + uint16_t parity_err :1; + uint16_t overrun_err :1; + uint16_t :9; + }; + uint16_t state; +} cdc_serial_state_t; + +TU_VERIFY_STATIC(sizeof(cdc_serial_state_t) == 2, "size is not correct"); + +typedef struct TU_ATTR_PACKED { + tusb_notification_t header; + union { + cdc_serial_state_t serial_state; + // Add more Notification "Data" payloads here as more are implemented. + }; +} cdc_notify_struct_t; + +TU_VERIFY_STATIC(sizeof(cdc_notify_struct_t) == 10, "size is not correct"); + +tu_static const cdc_notify_struct_t cdc_notify_serial_status = { + .header = { + .bmRequestType_bit = { + .recipient = TUSB_REQ_RCPT_INTERFACE, + .type = TUSB_REQ_TYPE_CLASS, + .direction = TUSB_DIR_IN, + }, + .bNotification = CDC_NOTIF_SERIAL_STATE, + .wValue = 0, + .wLength = sizeof(cdc_serial_state_t), + } +}; + TU_ATTR_PACKED_END // End of all packed definitions TU_ATTR_BIT_FIELD_ORDER_END diff --git a/src/class/cdc/cdc_device.c b/src/class/cdc/cdc_device.c index bf95a369..dd5ee4e8 100644 --- a/src/class/cdc/cdc_device.c +++ b/src/class/cdc/cdc_device.c @@ -54,6 +54,10 @@ typedef struct { // Bit 0: DTR (Data Terminal Ready), Bit 1: RTS (Request to Send) uint8_t line_state; + // Notify host of flow control bits: DSR, DCD, RI, and some error flags. + cdc_serial_state_t serial_state; + bool serial_state_changed; + /*------------- From this point, data is not cleared by bus reset -------------*/ char wanted_char; TU_ATTR_ALIGNED(4) cdc_line_coding_t line_coding; @@ -67,6 +71,7 @@ typedef struct { OSAL_MUTEX_DEF(rx_ff_mutex); OSAL_MUTEX_DEF(tx_ff_mutex); + } cdcd_interface_t; #define ITF_MEM_RESET_SIZE offsetof(cdcd_interface_t, wanted_char) @@ -74,6 +79,7 @@ typedef struct { typedef struct { TUD_EPBUF_DEF(epout, CFG_TUD_CDC_EP_BUFSIZE); TUD_EPBUF_DEF(epin, CFG_TUD_CDC_EP_BUFSIZE); + TUD_EPBUF_DEF(epnotif, CFG_TUD_CDC_EP_BUFSIZE); } cdcd_epbuf_t; //--------------------------------------------------------------------+ @@ -115,6 +121,32 @@ static bool _prep_out_transaction(uint8_t itf) { } } +bool _send_serial_state_notification(cdcd_interface_t *p_cdc) { + const uint8_t rhport = 0; + + if (!p_cdc->serial_state_changed) { + // Nothing to do. + return true; + } + + if (!usbd_edpt_claim(rhport, p_cdc->ep_notif)) { + // If claim failed, we're already in the middle of a transaction. + // cdcd_xfer_cb() will pick up this change. + return true; + } + + // We have the end point. Build and send the notification. + p_cdc->serial_state_changed = false; + + cdc_notify_struct_t notif_buf = cdc_notify_serial_status; + notif_buf.header.wIndex = p_cdc->itf_num; + notif_buf.serial_state = p_cdc->serial_state; + + cdcd_epbuf_t* p_epbuf = &_cdcd_epbuf[p_cdc->itf_num]; + memcpy(&p_epbuf->epnotif, ¬if_buf, sizeof(cdc_notify_struct_t)); + return usbd_edpt_xfer(rhport, p_cdc->ep_notif, (uint8_t *) &(p_epbuf->epnotif), sizeof(p_epbuf->epnotif)); +} + //--------------------------------------------------------------------+ // APPLICATION API //--------------------------------------------------------------------+ @@ -138,6 +170,19 @@ uint8_t tud_cdc_n_get_line_state(uint8_t itf) { return _cdcd_itf[itf].line_state; } +cdc_serial_state_t tud_cdc_n_get_serial_state(uint8_t itf) { + return _cdcd_itf[itf].serial_state; +} + +void tud_cdc_n_set_serial_state(uint8_t itf, cdc_serial_state_t serial_state) { + cdcd_interface_t* p_cdc = &_cdcd_itf[itf]; + if (p_cdc->serial_state.state != serial_state.state) { + p_cdc->serial_state_changed = true; + p_cdc->serial_state = serial_state; + _send_serial_state_notification(p_cdc); + } +} + void tud_cdc_n_get_line_coding(uint8_t itf, cdc_line_coding_t* coding) { (*coding) = _cdcd_itf[itf].line_coding; } @@ -453,7 +498,7 @@ bool cdcd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_ // Identify which interface to use for (itf = 0; itf < CFG_TUD_CDC; itf++) { p_cdc = &_cdcd_itf[itf]; - if ((ep_addr == p_cdc->ep_out) || (ep_addr == p_cdc->ep_in)) { + if ((ep_addr == p_cdc->ep_out) || (ep_addr == p_cdc->ep_in) || (ep_addr == p_cdc->ep_notif)) { break; } } @@ -502,7 +547,11 @@ bool cdcd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_ } } - // nothing to do with notif endpoint for now + // Notifications + if (ep_addr == p_cdc->ep_notif) { + // Send any changes that may have come in while sending the previous change. + return _send_serial_state_notification(p_cdc); + } return true; } diff --git a/src/class/cdc/cdc_device.h b/src/class/cdc/cdc_device.h index de7d2055..fa3ec7b3 100644 --- a/src/class/cdc/cdc_device.h +++ b/src/class/cdc/cdc_device.h @@ -70,6 +70,12 @@ bool tud_cdc_n_connected(uint8_t itf); // Get current line state. Bit 0: DTR (Data Terminal Ready), Bit 1: RTS (Request to Send) uint8_t tud_cdc_n_get_line_state(uint8_t itf); +// Get current serial state. +cdc_serial_state_t tud_cdc_n_get_serial_state(uint8_t itf); + +// Set current serial state. +void tud_cdc_n_set_serial_state(uint8_t itf, cdc_serial_state_t ser_state); + // Get current line encoding: bit rate, stop bits parity etc .. void tud_cdc_n_get_line_coding(uint8_t itf, cdc_line_coding_t* coding); @@ -132,6 +138,14 @@ TU_ATTR_ALWAYS_INLINE static inline uint8_t tud_cdc_get_line_state(void) { return tud_cdc_n_get_line_state(0); } +TU_ATTR_ALWAYS_INLINE static inline cdc_serial_state_t tud_cdc_get_serial_state(void) { + return tud_cdc_n_get_serial_state(0); +} + +TU_ATTR_ALWAYS_INLINE static inline void tud_cdc_set_serial_state(cdc_serial_state_t ser_state) { + tud_cdc_n_set_serial_state(0, ser_state); +} + TU_ATTR_ALWAYS_INLINE static inline void tud_cdc_get_line_coding(cdc_line_coding_t* coding) { tud_cdc_n_get_line_coding(0, coding); } diff --git a/src/class/midi/midi_device.c b/src/class/midi/midi_device.c index c9b1e970..305157af 100644 --- a/src/class/midi/midi_device.c +++ b/src/class/midi/midi_device.c @@ -356,6 +356,20 @@ uint32_t tud_midi_n_stream_write(uint8_t itf, uint8_t cable_num, const uint8_t* return i; } +bool tud_midi_n_packet_write_n (uint8_t itf, const uint8_t *packet, uint8_t num_packets) { + midid_interface_t* midi = &_midid_itf[itf]; + TU_VERIFY(midi->ep_in); + + if (tu_fifo_remaining(&midi->tx_ff) < 4*num_packets) { + return false; + } + + tu_fifo_write_n(&midi->tx_ff, packet, 4*num_packets); + write_flush(itf); + + return true; +} + bool tud_midi_n_packet_write (uint8_t itf, const uint8_t packet[4]) { midid_interface_t* midi = &_midid_itf[itf]; TU_VERIFY(midi->ep_in); diff --git a/src/class/midi/midi_device.h b/src/class/midi/midi_device.h index d0fd23c7..4724cba4 100644 --- a/src/class/midi/midi_device.h +++ b/src/class/midi/midi_device.h @@ -75,6 +75,9 @@ bool tud_midi_n_packet_read (uint8_t itf, uint8_t packet[4]); // Write event packet (4 bytes) bool tud_midi_n_packet_write (uint8_t itf, uint8_t const packet[4]); +// Write event packets (num_packets*4 bytes) +bool tud_midi_n_packet_write_n (uint8_t itf, uint8_t const *packet, uint8_t num_packets); + //--------------------------------------------------------------------+ // Application API (Single Interface) //--------------------------------------------------------------------+ @@ -86,6 +89,7 @@ static inline uint32_t tud_midi_stream_write (uint8_t cable_num, uint8_t const* static inline bool tud_midi_packet_read (uint8_t packet[4]); static inline bool tud_midi_packet_write (uint8_t const packet[4]); +static inline bool tud_midi_packet_write_n (uint8_t const *packet, uint8_t num_packets); //------------- Deprecated API name -------------// // TODO remove after 0.10.0 release @@ -154,6 +158,11 @@ static inline bool tud_midi_packet_write (uint8_t const packet[4]) return tud_midi_n_packet_write(0, packet); } +static inline bool tud_midi_packet_write_n (uint8_t const *packet, uint8_t num_packets) +{ + return tud_midi_n_packet_write_n(0, packet, num_packets); +} + //--------------------------------------------------------------------+ // Internal Class Driver API //--------------------------------------------------------------------+ diff --git a/src/common/tusb_types.h b/src/common/tusb_types.h index 0855293a..ddf170ac 100644 --- a/src/common/tusb_types.h +++ b/src/common/tusb_types.h @@ -528,6 +528,27 @@ typedef struct TU_ATTR_PACKED { TU_VERIFY_STATIC( sizeof(tusb_control_request_t) == 8, "size is not correct"); + +typedef struct TU_ATTR_PACKED { + union { + struct TU_ATTR_PACKED { + uint8_t recipient : 5; ///< Recipient type tusb_request_recipient_t. + uint8_t type : 2; ///< Request type tusb_request_type_t. + uint8_t direction : 1; ///< Direction type. tusb_dir_t + } bmRequestType_bit; + + uint8_t bmRequestType; + }; + + uint8_t bNotification; + uint16_t wValue; + uint16_t wIndex; + uint16_t wLength; +} tusb_notification_t; + +TU_VERIFY_STATIC( sizeof(tusb_notification_t) == 8, "size is not correct"); + + TU_ATTR_PACKED_END // End of all packed definitions TU_ATTR_BIT_FIELD_ORDER_END diff --git a/src/device/usbd.h b/src/device/usbd.h index 5fd94b3f..212dcbf6 100644 --- a/src/device/usbd.h +++ b/src/device/usbd.h @@ -232,19 +232,23 @@ TU_ATTR_WEAK bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb // Interface number, string index, EP notification address and size, EP data address (out, in) and size. #define TUD_CDC_DESCRIPTOR(_itfnum, _stridx, _ep_notif, _ep_notif_size, _epout, _epin, _epsize) \ /* Interface Associate */\ - 8, TUSB_DESC_INTERFACE_ASSOCIATION, _itfnum, 2, TUSB_CLASS_CDC, CDC_COMM_SUBCLASS_ABSTRACT_CONTROL_MODEL, CDC_COMM_PROTOCOL_NONE, 0,\ + /* @SmittyHalibut changed CDC_COMM_PROTOCOL_NONE to PROTOCOL_ATCOMMAND to match Teensy */ \ + 8, TUSB_DESC_INTERFACE_ASSOCIATION, _itfnum, 2, TUSB_CLASS_CDC, CDC_COMM_SUBCLASS_ABSTRACT_CONTROL_MODEL, CDC_COMM_PROTOCOL_ATCOMMAND, 0,\ /* CDC Control Interface */\ - 9, TUSB_DESC_INTERFACE, _itfnum, 0, 1, TUSB_CLASS_CDC, CDC_COMM_SUBCLASS_ABSTRACT_CONTROL_MODEL, CDC_COMM_PROTOCOL_NONE, _stridx,\ + 9, TUSB_DESC_INTERFACE, _itfnum, 0, 1, TUSB_CLASS_CDC, CDC_COMM_SUBCLASS_ABSTRACT_CONTROL_MODEL, CDC_COMM_PROTOCOL_ATCOMMAND, _stridx,\ /* CDC Header */\ - 5, TUSB_DESC_CS_INTERFACE, CDC_FUNC_DESC_HEADER, U16_TO_U8S_LE(0x0120),\ + /* @SmittyHalibut changed from 0x0120 to 0x0110 to match teensy */ \ + 5, TUSB_DESC_CS_INTERFACE, CDC_FUNC_DESC_HEADER, U16_TO_U8S_LE(0x0110),\ /* CDC Call */\ - 5, TUSB_DESC_CS_INTERFACE, CDC_FUNC_DESC_CALL_MANAGEMENT, 0, (uint8_t)((_itfnum) + 1),\ + /* @SmittyHalibut This 1 was a 0; Linux claims we're not giving it MANAGEMENT in bmCapabilities*/ \ + 5, TUSB_DESC_CS_INTERFACE, CDC_FUNC_DESC_CALL_MANAGEMENT, 1, (uint8_t)((_itfnum) + 1), \ /* CDC ACM: support line request + send break */\ 4, TUSB_DESC_CS_INTERFACE, CDC_FUNC_DESC_ABSTRACT_CONTROL_MANAGEMENT, 6,\ /* CDC Union */\ 5, TUSB_DESC_CS_INTERFACE, CDC_FUNC_DESC_UNION, _itfnum, (uint8_t)((_itfnum) + 1),\ /* Endpoint Notification */\ - 7, TUSB_DESC_ENDPOINT, _ep_notif, TUSB_XFER_INTERRUPT, U16_TO_U8S_LE(_ep_notif_size), 16,\ + /* @SmittyHalibut changed bInterval from 16 to 64 to match Teensy. I WANT this to be 1, but we'll see. */ \ + 7, TUSB_DESC_ENDPOINT, _ep_notif, TUSB_XFER_INTERRUPT, U16_TO_U8S_LE(_ep_notif_size), 64,\ /* CDC Data Interface */\ 9, TUSB_DESC_INTERFACE, (uint8_t)((_itfnum)+1), 0, 2, TUSB_CLASS_CDC_DATA, 0, 0, 0,\ /* Endpoint Out */\