From 3a2ff618999bde2afb2ed5dece20f55e7fc68086 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Wed, 4 Jan 2023 18:27:51 -0800 Subject: [PATCH] fix lsusb for extra hub port info and add videocontrol and videostreaming sections --- jc/parsers/lsusb.py | 150 +- .../lsusb-extra-hub-port-status-info.json | 1 + .../lsusb-extra-hub-port-status-info.out | 4140 +++++++++++++++++ tests/test_lsusb.py | 12 + 4 files changed, 4262 insertions(+), 41 deletions(-) create mode 100644 tests/fixtures/generic/lsusb-extra-hub-port-status-info.json create mode 100644 tests/fixtures/generic/lsusb-extra-hub-port-status-info.out diff --git a/jc/parsers/lsusb.py b/jc/parsers/lsusb.py index 64b5db8a..39f5ed08 100644 --- a/jc/parsers/lsusb.py +++ b/jc/parsers/lsusb.py @@ -269,7 +269,7 @@ from jc.exceptions import ParseError class info(): """Provides parser metadata (version, author, etc.)""" - version = '1.2' + version = '1.3' description = '`lsusb` command parser' author = 'Kelly Brazil' author_email = 'kellyjonbrazil@gmail.com' @@ -307,6 +307,54 @@ class _NestedDict(dict): return self.setdefault(key, _NestedDict()) +class _descriptor_obj: + def __init__(self, name): + self.name = name + self.list = [] + + def _entries_for_this_bus_and_interface_idx_exist(self, bus_idx, iface_idx): + """Returns true if there are object entries for the corresponding bus index and interface index""" + for item in self.list: + keyname = tuple(item.keys())[0] + if '_state' in item[keyname] and item[keyname]['_state']['bus_idx'] == bus_idx and item[keyname]['_state']['interface_descriptor_idx'] == iface_idx: + return True + return False + + def _get_objects_list(self, bus_idx, iface_idx): + """Returns a list of descriptor object dictionaries for the corresponding bus index and interface index""" + object_collection = [] + + # find max number of items in this object that match the bus_idx and iface_idx + num_of_items = -1 + for item in self.list: + keyname = tuple(item.keys())[0] + if '_state' in item[keyname] and item[keyname]['_state']['bus_idx'] == bus_idx and item[keyname]['_state']['interface_descriptor_idx'] == iface_idx: + num_of_items = item[keyname]['_state'][f'{self.name}_idx'] + + # create and return the collection of objects that match the bus_idx and iface_idx + if num_of_items > -1: + for obj_idx in range(num_of_items + 1): + this_object = {} + for item in self.list: + keyname = tuple(item.keys())[0] + if '_state' in item[keyname] and item[keyname]['_state']['bus_idx'] == bus_idx and item[keyname]['_state']['interface_descriptor_idx'] == iface_idx and item[keyname]['_state'][f'{self.name}_idx'] == obj_idx: + # is this a top level value or an attribute? + if item[keyname]['_state']['attribute_value']: + last_item = item[keyname]['_state']['last_item'] + if 'attributes' not in this_object[last_item]: + this_object[last_item]['attributes'] = [] + + this_attribute = f'{keyname} {item[keyname].get("value", "")} {item[keyname].get("description", "")}'.strip() + this_object[last_item]['attributes'].append(this_attribute) + continue + + this_object.update(item) + del item[keyname]['_state'] + + object_collection.append(this_object) + return object_collection + + class _LsUsb(): def __init__(self): self.raw_output = [] @@ -314,9 +362,18 @@ class _LsUsb(): self.section = '' self.old_section = '' + + # section_header is formatted with the correct spacing to be used with + # jc.parsers.universal.sparse_table_parse(). Pad end of string to be at least len of 25 + # this value changes for different sections (e.g. videocontrol & videostreaming) + self.normal_section_header = 'key val description' + self.larger_section_header = 'key val description' + self.bus_idx = -1 self.interface_descriptor_idx = -1 self.endpoint_descriptor_idx = -1 + self.videocontrol_interface_descriptor_idx = -1 + self.videostreaming_interface_descriptor_idx = -1 self.last_item = '' self.last_indent = 0 self.attribute_value = False @@ -331,7 +388,9 @@ class _LsUsb(): self.cdc_call_management_list = [] self.cdc_acm_list = [] self.cdc_union_list = [] - self.endpoint_descriptor_list = [] + self.endpoint_descriptors = _descriptor_obj('endpoint_descriptor') + self.videocontrol_interface_descriptors = _descriptor_obj('videocontrol_interface_descriptor') + self.videostreaming_interface_descriptors = _descriptor_obj('videostreaming_interface_descriptor') self.hid_device_descriptor_list = [] self.report_descriptors_list = [] self.hub_descriptor_list = [] @@ -360,9 +419,9 @@ class _LsUsb(): else: self.attribute_value = False - # section_header is formatted with the correct spacing to be used with - # jc.parsers.universal.sparse_table_parse(). Pad end of string to be at least len of 25 - section_header = 'key val description' + section_header = self.normal_section_header + if self.section == 'videocontrol_interface_descriptor' or self.section == 'videostreaming_interface_descriptor': + section_header = self.larger_section_header temp_obj = [section_header, line.strip() + (' ' * 25)] temp_obj = sparse_table_parse(temp_obj) @@ -377,7 +436,9 @@ class _LsUsb(): 'last_item': self.last_item, 'bus_idx': self.bus_idx, 'interface_descriptor_idx': self.interface_descriptor_idx, - 'endpoint_descriptor_idx': self.endpoint_descriptor_idx + 'endpoint_descriptor_idx': self.endpoint_descriptor_idx, + 'videocontrol_interface_descriptor_idx': self.videocontrol_interface_descriptor_idx, + 'videostreaming_interface_descriptor_idx': self.videostreaming_interface_descriptor_idx } } } @@ -435,6 +496,8 @@ class _LsUsb(): self.bus_idx += 1 self.interface_descriptor_idx = -1 self.endpoint_descriptor_idx = -1 + self.videocontrol_interface_descriptor_idx = -1 + self.videostreaming_interface_descriptor_idx = -1 self.attribute_value = False line_split = line.strip().split(maxsplit=6) self.bus_list.append( @@ -465,6 +528,20 @@ class _LsUsb(): self.attribute_value = False return True + # This section is a list, so need to update the index + if line.startswith(' VideoControl Interface Descriptor:'): + self.section = 'videocontrol_interface_descriptor' + self.videocontrol_interface_descriptor_idx += 1 + self.attribute_value = False + return True + + # This section is a list, so need to update the index + if line.startswith(' VideoStreaming Interface Descriptor:'): + self.section = 'videostreaming_interface_descriptor' + self.videostreaming_interface_descriptor_idx += 1 + self.attribute_value = False + return True + # some device status information is displayed on the initial line so need to extract immediately if line.startswith('Device Status:'): self.section = 'device_status' @@ -517,7 +594,9 @@ class _LsUsb(): 'cdc_union': self.cdc_union_list, 'hid_device_descriptor': self.hid_device_descriptor_list, 'report_descriptors': self.report_descriptors_list, - 'endpoint_descriptor': self.endpoint_descriptor_list, + 'videocontrol_interface_descriptor': self.videocontrol_interface_descriptors.list, + 'videostreaming_interface_descriptor': self.videostreaming_interface_descriptors.list, + 'endpoint_descriptor': self.endpoint_descriptors.list, 'hub_descriptor': self.hub_descriptor_list, 'device_qualifier': self.device_qualifier_list } @@ -528,7 +607,7 @@ class _LsUsb(): return True # special handling of these sections - if line.startswith(' ') and self.section == 'hub_port_status': + if line.startswith(' ') and not line.startswith(' ') and self.section == 'hub_port_status': self.hub_port_status_list.append(self._add_hub_port_status_attributes(line)) return True @@ -547,6 +626,10 @@ class _LsUsb(): ['device_descriptor']['configuration_descriptor']['interface_association'] = {} ['device_descriptor']['configuration_descriptor']['interface_descriptors'] = [] ['device_descriptor']['configuration_descriptor']['interface_descriptors'][0] = {} + ['device_descriptor']['configuration_descriptor']['interface_descriptors'][0]['videocontrol_interface_descriptors'] = [] + ['device_descriptor']['configuration_descriptor']['interface_descriptors'][0]['videocontrol_interface_descriptors'][0] = {} + ['device_descriptor']['configuration_descriptor']['interface_descriptors'][0]['videostreaming_interface_descriptors'] = [] + ['device_descriptor']['configuration_descriptor']['interface_descriptors'][0]['videostreaming_interface_descriptors'][0] = {} ['device_descriptor']['configuration_descriptor']['interface_descriptors'][0]['cdc_header'] = {} ['device_descriptor']['configuration_descriptor']['interface_descriptors'][0]['cdc_call_management'] = {} ['device_descriptor']['configuration_descriptor']['interface_descriptors'][0]['cdc_acm'] = {} @@ -746,41 +829,26 @@ class _LsUsb(): # i_desc_obj['hid_device_descriptor']['report_descriptors'].update(rd) # del i_desc_obj['hid_device_descriptor']['report_descriptors'][keyname]['_state'] - # add endpoint_descriptor key if it doesn't exist and there are entries for this interface_descriptor - for endpoint_attrs in self.endpoint_descriptor_list: - keyname = tuple(endpoint_attrs.keys())[0] - if '_state' in endpoint_attrs[keyname] and endpoint_attrs[keyname]['_state']['bus_idx'] == idx and endpoint_attrs[keyname]['_state']['interface_descriptor_idx'] == iface_idx: - i_desc_obj['endpoint_descriptors'] = [] + # add videocontrol_interface_descriptors key if it doesn't exist and there are entries for this interface_descriptor + if self.videocontrol_interface_descriptors._entries_for_this_bus_and_interface_idx_exist(idx, iface_idx): + i_desc_obj['videocontrol_interface_descriptors'] = [] + i_desc_obj['videocontrol_interface_descriptors'].extend( + self.videocontrol_interface_descriptors._get_objects_list(idx, iface_idx) + ) - # find max index for this endpoint_descriptor idx, then iterate over that range - e_desc_iters = -1 - for endpoint_attrs in self.endpoint_descriptor_list: - keyname = tuple(endpoint_attrs.keys())[0] - if '_state' in endpoint_attrs[keyname] and endpoint_attrs[keyname]['_state']['bus_idx'] == idx and endpoint_attrs[keyname]['_state']['interface_descriptor_idx'] == iface_idx: - e_desc_iters = endpoint_attrs[keyname]['_state']['endpoint_descriptor_idx'] + # add videostreaming_interface_descriptors key if it doesn't exist and there are entries for this interface_descriptor + if self.videostreaming_interface_descriptors._entries_for_this_bus_and_interface_idx_exist(idx, iface_idx): + i_desc_obj['videostreaming_interface_descriptors'] = [] + i_desc_obj['videostreaming_interface_descriptors'].extend( + self.videostreaming_interface_descriptors._get_objects_list(idx, iface_idx) + ) - # create the endpoint descriptor object - if e_desc_iters > -1: - for endpoint_idx in range(e_desc_iters + 1): - e_desc_obj = {} - for endpoint_attrs in self.endpoint_descriptor_list: - keyname = tuple(endpoint_attrs.keys())[0] - if '_state' in endpoint_attrs[keyname] and endpoint_attrs[keyname]['_state']['bus_idx'] == idx and endpoint_attrs[keyname]['_state']['interface_descriptor_idx'] == iface_idx and endpoint_attrs[keyname]['_state']['endpoint_descriptor_idx'] == endpoint_idx: - - # is this a top level value or an attribute? - if endpoint_attrs[keyname]['_state']['attribute_value']: - last_item = endpoint_attrs[keyname]['_state']['last_item'] - if 'attributes' not in e_desc_obj[last_item]: - e_desc_obj[last_item]['attributes'] = [] - - this_attribute = f'{keyname} {endpoint_attrs[keyname].get("value", "")} {endpoint_attrs[keyname].get("description", "")}'.strip() - e_desc_obj[last_item]['attributes'].append(this_attribute) - continue - - e_desc_obj.update(endpoint_attrs) - del endpoint_attrs[keyname]['_state'] - - i_desc_obj['endpoint_descriptors'].append(e_desc_obj) + # add endpoint_descriptors key if it doesn't exist and there are entries for this interface_descriptor + if self.endpoint_descriptors._entries_for_this_bus_and_interface_idx_exist(idx, iface_idx): + i_desc_obj['endpoint_descriptors'] = [] + i_desc_obj['endpoint_descriptors'].extend( + self.endpoint_descriptors._get_objects_list(idx, iface_idx) + ) # add the object to the list of interface descriptors self.output_line['device_descriptor']['configuration_descriptor']['interface_descriptors'].append(i_desc_obj) diff --git a/tests/fixtures/generic/lsusb-extra-hub-port-status-info.json b/tests/fixtures/generic/lsusb-extra-hub-port-status-info.json new file mode 100644 index 00000000..534f46b3 --- /dev/null +++ b/tests/fixtures/generic/lsusb-extra-hub-port-status-info.json @@ -0,0 +1 @@ +[{"bus":"004","device":"001","id":"1d6b:0003","description":"Linux Foundation 3.0 root hub","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"3.10"},"bDeviceClass":{"value":"9","description":"Hub"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"3"},"bMaxPacketSize0":{"value":"9"},"idVendor":{"value":"0x1d6b","description":"Linux Foundation"},"idProduct":{"value":"0x0003","description":"3.0 root hub"},"bcdDevice":{"value":"5.19"},"iManufacturer":{"value":"3","description":"Linux 5.19.17-2-MANJARO xhci-hcd"},"iProduct":{"value":"2","description":"xHCI Host Controller"},"iSerial":{"value":"1","description":"0000:00:14.0"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x001f"},"bNumInterfaces":{"value":"1"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"0"},"bmAttributes":{"value":"0xe0","attributes":["Self Powered","Remote Wakeup"]},"MaxPower":{"description":"0mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"9","description":"Hub"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"0","description":"Full speed (or root) hub"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0004","description":"1x 4 bytes"},"bInterval":{"value":"12"},"bMaxBurst":{"value":"0"}}]}]}},"hub_descriptor":{"bLength":{"value":"12"},"bDescriptorType":{"value":"42"},"nNbrPorts":{"value":"4"},"wHubCharacteristic":{"value":"0x000a","attributes":["No power switching (usb 1.0)","Per-port overcurrent protection"]},"bPwrOn2PwrGood":{"value":"50 *","description":"2 milli seconds"},"bHubContrCurrent":{"value":"0","description":"milli Ampere"},"bHubDecLat":{"value":"0.0","description":"micro seconds"},"wHubDelay":{"value":"0","description":"nano seconds"},"DeviceRemovable":{"value":"0x00"},"hub_port_status":{"Port 1":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]},"Port 2":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]},"Port 3":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]},"Port 4":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]}}},"device_status":{"value":"0x0001","description":"Self Powered"}},{"bus":"003","device":"008","id":"27c6:609c","description":"Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"2.00"},"bDeviceClass":{"value":"239","description":"Miscellaneous Device"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"0"},"bMaxPacketSize0":{"value":"64"},"idVendor":{"value":"0x27c6","description":"Shenzhen Goodix Technology Co.,Ltd."},"idProduct":{"value":"0x609c"},"bcdDevice":{"value":"1.00"},"iManufacturer":{"value":"1","description":"Goodix Technology Co., Ltd."},"iProduct":{"value":"2","description":"Goodix USB2.0 MISC"},"iSerial":{"value":"3","description":"UIDF1DBE326_XXXX_MOC_B0"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x0020"},"bNumInterfaces":{"value":"1"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"3","description":"UIDF1DBE326_XXXX_MOC_B0"},"bmAttributes":{"value":"0xa0","attributes":["(Bus Powered)","Remote Wakeup"]},"MaxPower":{"description":"100mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"255","description":"Vendor Specific Class"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"4","description":"MISC Data"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"2","attributes":["Transfer Type Bulk","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0040","description":"1x 64 bytes"},"bInterval":{"value":"0"}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x01","description":"EP 1 OUT"},"bmAttributes":{"value":"2","attributes":["Transfer Type Bulk","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0040","description":"1x 64 bytes"},"bInterval":{"value":"0"}}]}]}},"device_status":{"value":"0x0000","description":"(Bus Powered)"}},{"bus":"003","device":"007","id":"0bda:5634","description":"Realtek Semiconductor Corp. Laptop Camera","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"2.01"},"bDeviceClass":{"value":"239","description":"Miscellaneous Device"},"bDeviceSubClass":{"value":"2"},"bDeviceProtocol":{"value":"1","description":"Interface Association"},"bMaxPacketSize0":{"value":"64"},"idVendor":{"value":"0x0bda","description":"Realtek Semiconductor Corp."},"idProduct":{"value":"0x5634"},"bcdDevice":{"value":"0.21"},"iManufacturer":{"value":"3","description":"Generic"},"iProduct":{"value":"1","description":"Laptop Camera"},"iSerial":{"value":"2","description":"200901010001"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x036e"},"bNumInterfaces":{"value":"2"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"4","description":"USB Camera"},"bmAttributes":{"value":"0x80","attributes":["(Bus Powered)"]},"MaxPower":{"description":"300mA"},"interface_association":{"bLength":{"value":"8"},"bDescriptorType":{"value":"11"},"bFirstInterface":{"value":"0"},"bInterfaceCount":{"value":"2"},"bFunctionClass":{"value":"14","description":"Video"},"bFunctionSubClass":{"value":"3","description":"Video Interface Collection"},"bFunctionProtocol":{"value":"0"},"iFunction":{"value":"5","description":"Laptop Camera"}},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"1","description":"Video Control"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"5","description":"Laptop Camera"},"videocontrol_interface_descriptors":[{"bLength 13":{},"bDescriptorType 36":{},"bDescriptorSubtype 1":{"value":"(HEADER)"},"bcdUVC 1.00":{},"wTotalLength 0x004e":{},"dwClockFrequency":{"value":"15.000000MHz"},"bInCollection 1":{},"baInterfaceNr( 0) 1":{}},{"bLength 18":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"2","description":"(INPUT_TERMINAL)"},"bTerminalID 1":{},"wTerminalType 0x0201":{"value":"Camera","description":"Sensor"},"bAssocTerminal 0":{},"iTerminal 0":{},"wObjectiveFocalLengthMin 0":{},"wObjectiveFocalLengthMax 0":{},"wOcularFocalLength 0":{},"bControlSize 3":{},"bmControls 0x0000000e":{"attributes":["Auto-Exposure Mode","Auto-Exposure Priority","Exposure Time (Absolute)"]}},{"bLength 11":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"5","description":"(PROCESSING_UNIT)"},"Warning: Descriptor too short":{"attributes":["bUnitID 2","bSourceID 1","wMaxMultiplier 0","bControlSize 2","bmControls 0x0000157f","Brightness","Contrast","Hue","Saturation","Sharpness","Gamma","White Balance Temperature","Backlight Compensation","Power Line Frequency","White Balance Temperature, Auto"]},"iProcessing 0":{},"bmVideoStandards 0x09":{"attributes":["None","SECAM - 625/50"]}},{"bLength 9":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"3","description":"(OUTPUT_TERMINAL)"},"bTerminalID 3":{},"wTerminalType 0x0101":{"value":"USB","description":"Streaming"},"bAssocTerminal 0":{},"bSourceID 4":{},"iTerminal 0":{}},{"bLength 27":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"6","description":"(EXTENSION_UNIT)"},"bUnitID 4":{},"guidExtensionCode":{"description":"{1229a78c-47b4-4094-b0ce-db07386fb938}"},"bNumControls 2":{},"bNrInPins 1":{},"baSourceID( 0) 2":{},"bControlSize 2":{},"bmControls( 0) 0x00":{},"bmControls( 1) 0x16":{},"iExtension 0":{}}],"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0020","description":"1x 32 bytes"},"bInterval":{"value":"6"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"videostreaming_interface_descriptors":[{"bLength":{"value":"15"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"1","description":"(INPUT_HEADER)"},"bNumFormats":{"value":"2"},"wTotalLength":{"value":"0x0281"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmInfo":{"value":"0"},"bTerminalLink":{"value":"3"},"bStillCaptureMethod":{"value":"1"},"bTriggerSupport":{"value":"1"},"bTriggerUsage":{"value":"0"},"bControlSize":{"value":"1"},"bmaControls( 0)":{"value":"0"},"bmaControls( 1)":{"value":"0"}},{"bLength":{"value":"11"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"6","description":"(FORMAT_MJPEG)"},"bFormatIndex":{"value":"1"},"bNumFrameDescriptors":{"value":"9"},"bFlags":{"value":"1","attributes":["Fixed-size samples: Yes"]},"bDefaultFrameIndex":{"value":"1"},"bAspectRatioX":{"value":"0"},"bAspectRatioY":{"value":"0"},"bmInterlaceFlags":{"value":"0x00","attributes":["Interlaced stream or variable: No","Fields per frame: 1 fields","Field 1 first: No","Field pattern: Field 1 only"]},"bCopyProtect":{"value":"0"}},{"bLength":{"value":"34"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"1"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"1920"},"wHeight":{"value":"1080"},"dwMinBitRate":{"value":"995328000"},"dwMaxBitRate":{"description":"1990656000"},"dwMaxVideoFrameBufferSize":{"value":"4147200"},"dwDefaultFrameInterval":{"value":"166666"},"bFrameIntervalType":{"value":"2"},"dwFrameInterval( 0)":{"value":"166666"},"dwFrameInterval( 1)":{"value":"333333"}},{"bLength":{"value":"34"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"2"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"320"},"wHeight":{"value":"180"},"dwMinBitRate":{"value":"27648000"},"dwMaxBitRate":{"value":"55296000"},"dwMaxVideoFrameBufferSize":{"value":"115200"},"dwDefaultFrameInterval":{"value":"166666"},"bFrameIntervalType":{"value":"2"},"dwFrameInterval( 0)":{"value":"166666"},"dwFrameInterval( 1)":{"value":"333333"}},{"bLength":{"value":"34"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"3"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"320"},"wHeight":{"value":"240"},"dwMinBitRate":{"value":"36864000"},"dwMaxBitRate":{"value":"73728000"},"dwMaxVideoFrameBufferSize":{"value":"153600"},"dwDefaultFrameInterval":{"value":"166666"},"bFrameIntervalType":{"value":"2"},"dwFrameInterval( 0)":{"value":"166666"},"dwFrameInterval( 1)":{"value":"333333"}},{"bLength":{"value":"34"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"4"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"424"},"wHeight":{"value":"240"},"dwMinBitRate":{"value":"48844800"},"dwMaxBitRate":{"value":"97689600"},"dwMaxVideoFrameBufferSize":{"value":"203520"},"dwDefaultFrameInterval":{"value":"166666"},"bFrameIntervalType":{"value":"2"},"dwFrameInterval( 0)":{"value":"166666"},"dwFrameInterval( 1)":{"value":"333333"}},{"bLength":{"value":"34"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"5"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"640"},"wHeight":{"value":"360"},"dwMinBitRate":{"value":"110592000"},"dwMaxBitRate":{"value":"221184000"},"dwMaxVideoFrameBufferSize":{"value":"460800"},"dwDefaultFrameInterval":{"value":"166666"},"bFrameIntervalType":{"value":"2"},"dwFrameInterval( 0)":{"value":"166666"},"dwFrameInterval( 1)":{"value":"333333"}},{"bLength":{"value":"34"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"6"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"640"},"wHeight":{"value":"480"},"dwMinBitRate":{"value":"147456000"},"dwMaxBitRate":{"value":"294912000"},"dwMaxVideoFrameBufferSize":{"value":"614400"},"dwDefaultFrameInterval":{"value":"166666"},"bFrameIntervalType":{"value":"2"},"dwFrameInterval( 0)":{"value":"166666"},"dwFrameInterval( 1)":{"value":"333333"}},{"bLength":{"value":"34"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"7"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"848"},"wHeight":{"value":"480"},"dwMinBitRate":{"value":"195379200"},"dwMaxBitRate":{"value":"390758400"},"dwMaxVideoFrameBufferSize":{"value":"814080"},"dwDefaultFrameInterval":{"value":"166666"},"bFrameIntervalType":{"value":"2"},"dwFrameInterval( 0)":{"value":"166666"},"dwFrameInterval( 1)":{"value":"333333"}},{"bLength":{"value":"34"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"8"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"960"},"wHeight":{"value":"540"},"dwMinBitRate":{"value":"248832000"},"dwMaxBitRate":{"value":"497664000"},"dwMaxVideoFrameBufferSize":{"value":"1036800"},"dwDefaultFrameInterval":{"value":"166666"},"bFrameIntervalType":{"value":"2"},"dwFrameInterval( 0)":{"value":"166666"},"dwFrameInterval( 1)":{"value":"333333"}},{"bLength":{"value":"34"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"9"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"1280"},"wHeight":{"value":"720"},"dwMinBitRate":{"value":"442368000"},"dwMaxBitRate":{"value":"884736000"},"dwMaxVideoFrameBufferSize":{"value":"1843200"},"dwDefaultFrameInterval":{"value":"166666"},"bFrameIntervalType":{"value":"2"},"dwFrameInterval( 0)":{"value":"166666"},"dwFrameInterval( 1)":{"value":"333333"}},{"bLength":{"value":"6"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"13","description":"(COLORFORMAT)"},"bColorPrimaries":{"value":"1","description":"(BT.709,sRGB)"},"bTransferCharacteristics":{"value":"1","description":"(BT.709)"},"bMatrixCoefficients":{"value":"4","description":"(SMPTE 170M (BT.601))"}},{"bLength":{"value":"27"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"4","description":"(FORMAT_UNCOMPRESSED)"},"bFormatIndex":{"value":"2"},"bNumFrameDescriptors":{"value":"9"},"guidFormat":{"description":"{32595559-0000-0010-8000-00aa00389b71}"},"bBitsPerPixel":{"value":"16"},"bDefaultFrameIndex":{"value":"1"},"bAspectRatioX":{"value":"0"},"bAspectRatioY":{"value":"0"},"bmInterlaceFlags":{"value":"0x00","attributes":["Interlaced stream or variable: No","Fields per frame: 2 fields","Field 1 first: No","Field pattern: Field 1 only"]},"bCopyProtect":{"value":"0"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"1"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"1920"},"wHeight":{"value":"1080"},"dwMinBitRate":{"value":"165888000"},"dwMaxBitRate":{"value":"165888000"},"dwMaxVideoFrameBufferSize":{"value":"4147200"},"dwDefaultFrameInterval":{"value":"2000000"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"2000000"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"2"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"320"},"wHeight":{"value":"180"},"dwMinBitRate":{"value":"27648000"},"dwMaxBitRate":{"value":"27648000"},"dwMaxVideoFrameBufferSize":{"value":"115200"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"333333"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"3"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"320"},"wHeight":{"value":"240"},"dwMinBitRate":{"value":"36864000"},"dwMaxBitRate":{"value":"36864000"},"dwMaxVideoFrameBufferSize":{"value":"153600"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"333333"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"4"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"424"},"wHeight":{"value":"240"},"dwMinBitRate":{"value":"48844800"},"dwMaxBitRate":{"value":"48844800"},"dwMaxVideoFrameBufferSize":{"value":"203520"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"333333"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"5"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"640"},"wHeight":{"value":"360"},"dwMinBitRate":{"value":"110592000"},"dwMaxBitRate":{"value":"110592000"},"dwMaxVideoFrameBufferSize":{"value":"460800"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"333333"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"6"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"640"},"wHeight":{"value":"480"},"dwMinBitRate":{"value":"147456000"},"dwMaxBitRate":{"value":"147456000"},"dwMaxVideoFrameBufferSize":{"value":"614400"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"333333"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"7"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"848"},"wHeight":{"value":"480"},"dwMinBitRate":{"value":"130252800"},"dwMaxBitRate":{"value":"130252800"},"dwMaxVideoFrameBufferSize":{"value":"814080"},"dwDefaultFrameInterval":{"value":"500000"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"500000"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"8"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"960"},"wHeight":{"value":"540"},"dwMinBitRate":{"value":"124416000"},"dwMaxBitRate":{"value":"124416000"},"dwMaxVideoFrameBufferSize":{"value":"1036800"},"dwDefaultFrameInterval":{"value":"666666"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"666666"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"9"},"bmCapabilities":{"value":"0x01","attributes":["Still image supported"]},"wWidth":{"value":"1280"},"wHeight":{"value":"720"},"dwMinBitRate":{"value":"117964800"},"dwMaxBitRate":{"value":"117964800"},"dwMaxVideoFrameBufferSize":{"value":"1843200"},"dwDefaultFrameInterval":{"value":"1250000"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"1250000"}},{"bLength":{"value":"6"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"13","description":"(COLORFORMAT)"},"bColorPrimaries":{"value":"1","description":"(BT.709,sRGB)"},"bTransferCharacteristics":{"value":"1","description":"(BT.709)"},"bMatrixCoefficients":{"value":"4","description":"(SMPTE 170M (BT.601))"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"1"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0080","description":"1x 128 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"2"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0200","description":"1x 512 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"3"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0400","description":"1x 1024 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"4"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0b00","description":"2x 768 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"5"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0c00","description":"2x 1024 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"6"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x1380","description":"3x 896 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"7"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x13fc","description":"3x 1020 bytes"},"bInterval":{"value":"1"}}]}]}},"device_status":{"value":"0x0000","description":"(Bus Powered)"}},{"bus":"003","device":"005","id":"2708:0006","description":"Audient EVO4","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"2.00"},"bDeviceClass":{"value":"239","description":"Miscellaneous Device"},"bDeviceSubClass":{"value":"2"},"bDeviceProtocol":{"value":"1","description":"Interface Association"},"bMaxPacketSize0":{"value":"64"},"idVendor":{"value":"0x2708"},"idProduct":{"value":"0x0006"},"bcdDevice":{"value":"0.10"},"iManufacturer":{"value":"1","description":"Audient"},"iProduct":{"value":"3","description":"EVO4"},"iSerial":{"value":"0"},"bNumConfigurations":{"value":"2"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x01a6"},"bNumInterfaces":{"value":"4"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"0"},"bmAttributes":{"value":"0x80","attributes":["(Bus Powered)"]},"MaxPower":{"description":"500mA"},"interface_association":{"bLength":{"value":"8"},"bDescriptorType":{"value":"11"},"bFirstInterface":{"value":"0"},"bInterfaceCount":{"value":"3"},"bFunctionClass":{"value":"1","description":"Audio"},"bFunctionSubClass":{"value":"0"},"bFunctionProtocol":{"value":"32"},"iFunction":{"value":"0"}},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"1","description":"Control Device"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"3","description":"EVO4"},"AudioControl":{"value":"Interface","description":"Descriptor:","attributes":["bLength 16","bDescriptorType 36","bDescriptorSubtype 9 (EXTENSION_UNIT)","bUnitID 57","wExtensionCode 0x0000","bNrInPins 1","baSourceID(0) 2","bNrChannels 0","bmChannelConfig 0x00000000","iChannelNames 0","bmControls 0x00","iExtension 0"]},"bAssocTerminal":{"value":"0"},"iClockSource":{"value":"9","description":"Audient Internal Clock"},"iClockSelector":{"value":"8","description":"Audient Clock Selector"},"iExtension":{"value":"0"},"bmaControls(2)":{"description":"0x0000000c","attributes":["Volume Control (read/write)"]},"bmaControls(3)":{"description":"0x00000000"},"bmaControls(4)":{"description":"0x00000000"},"iFeature":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0006","description":"1x 6 bytes"},"bInterval":{"value":"8"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"4","description":"EVO4"}},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"1"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"4","description":"EVO4"},"AudioStreaming":{"value":"Interface","description":"Descriptor:","attributes":["bLength 6","bDescriptorType 36","bDescriptorSubtype 2 (FORMAT_TYPE)","bFormatType 1 (FORMAT_TYPE_I)","bSubslotSize 4","bBitResolution 24"]},"bNrChannels":{"value":"4"},"bmChannelConfig":{"description":"0x00000000"},"iChannelNames":{"value":"11","description":"Analogue 1"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x01","description":"EP 1 OUT"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x00d0","description":"1x 208 bytes"},"bInterval":{"value":"1"},"AudioStreaming":{"value":"Endpoint","description":"Descriptor:","attributes":["bLength 8","bDescriptorType 37","bDescriptorSubtype 1 (EP_GENERAL)","bmAttributes 0x00","bmControls 0x00","bLockDelayUnits 2 Decoded PCM samples","wLockDelay 0x0008"]}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"17","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Feedback"]},"wMaxPacketSize":{"value":"0x0004","description":"1x 4 bytes"},"bInterval":{"value":"4"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"2"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"4","description":"EVO4"},"AudioStreaming":{"value":"Interface","description":"Descriptor:","attributes":["bLength 6","bDescriptorType 36","bDescriptorSubtype 2 (FORMAT_TYPE)","bFormatType 1 (FORMAT_TYPE_I)","bSubslotSize 2","bBitResolution 16"]},"bNrChannels":{"value":"4"},"bmChannelConfig":{"description":"0x00000000"},"iChannelNames":{"value":"11","description":"Analogue 1"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x01","description":"EP 1 OUT"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0068","description":"1x 104 bytes"},"bInterval":{"value":"1"},"AudioStreaming":{"value":"Endpoint","description":"Descriptor:","attributes":["bLength 8","bDescriptorType 37","bDescriptorSubtype 1 (EP_GENERAL)","bmAttributes 0x00","bmControls 0x00","bLockDelayUnits 2 Decoded PCM samples","wLockDelay 0x0008"]}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"17","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Feedback"]},"wMaxPacketSize":{"value":"0x0004","description":"1x 4 bytes"},"bInterval":{"value":"4"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"2"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"5","description":"EVO4"}},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"2"},"bAlternateSetting":{"value":"1"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"5","description":"EVO4"},"AudioStreaming":{"value":"Interface","description":"Descriptor:","attributes":["bLength 6","bDescriptorType 36","bDescriptorSubtype 2 (FORMAT_TYPE)","bFormatType 1 (FORMAT_TYPE_I)","bSubslotSize 4","bBitResolution 24"]},"bNrChannels":{"value":"4"},"bmChannelConfig":{"description":"0x00000000"},"iChannelNames":{"value":"15","description":"Analogue 1"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x82","description":"EP 2 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x00d0","description":"1x 208 bytes"},"bInterval":{"value":"1"},"AudioStreaming":{"value":"Endpoint","description":"Descriptor:","attributes":["bLength 8","bDescriptorType 37","bDescriptorSubtype 1 (EP_GENERAL)","bmAttributes 0x00","bmControls 0x00","bLockDelayUnits 2 Decoded PCM samples","wLockDelay 0x0008"]}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"3"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"254","description":"Application Specific Interface"},"bInterfaceSubClass":{"value":"1","description":"Device Firmware Update"},"bInterfaceProtocol":{"value":"1"},"iInterface":{"value":"10","description":"Audient DFU"},"Device Firmware":{"value":"Upgrade","description":"Interface Descriptor:","attributes":["bLength 9","bDescriptorType 33","bmAttributes 7","Will Not Detach","Manifestation Tolerant","Upload Supported","Download Supported"]},"wDetachTimeout":{"description":"250 milliseconds"},"wTransferSize":{"description":"64 bytes"},"bcdDFUVersion":{"description":"1.10"}},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"1","description":"Control Device"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"3","description":"EVO4"},"AudioControl":{"value":"Interface","description":"Descriptor:","attributes":["bLength 16","bDescriptorType 36","bDescriptorSubtype 9 (EXTENSION_UNIT)","bUnitID 57","wExtensionCode 0x0000","bNrInPins 1","baSourceID(0) 2","bNrChannels 0","bmChannelConfig 0x00000000","iChannelNames 0","bmControls 0x00","iExtension 0"]},"bAssocTerminal":{"value":"0"},"iClockSource":{"value":"9","description":"Audient Internal Clock"},"iClockSelector":{"value":"8","description":"Audient Clock Selector"},"iExtension":{"value":"0"},"bmaControls(2)":{"description":"0x0000000c","attributes":["Volume Control (read/write)"]},"bmaControls(3)":{"description":"0x00000000"},"bmaControls(4)":{"description":"0x00000000"},"iFeature":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0006","description":"1x 6 bytes"},"bInterval":{"value":"8"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"4","description":"EVO4"}},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"1"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"4","description":"EVO4"},"AudioStreaming":{"value":"Interface","description":"Descriptor:","attributes":["bLength 6","bDescriptorType 36","bDescriptorSubtype 2 (FORMAT_TYPE)","bFormatType 1 (FORMAT_TYPE_I)","bSubslotSize 4","bBitResolution 24"]},"bNrChannels":{"value":"4"},"bmChannelConfig":{"description":"0x00000000"},"iChannelNames":{"value":"11","description":"Analogue 1"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x01","description":"EP 1 OUT"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x00d0","description":"1x 208 bytes"},"bInterval":{"value":"1"},"AudioStreaming":{"value":"Endpoint","description":"Descriptor:","attributes":["bLength 8","bDescriptorType 37","bDescriptorSubtype 1 (EP_GENERAL)","bmAttributes 0x00","bmControls 0x00","bLockDelayUnits 2 Decoded PCM samples","wLockDelay 0x0008"]}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"17","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Feedback"]},"wMaxPacketSize":{"value":"0x0004","description":"1x 4 bytes"},"bInterval":{"value":"4"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"2"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"4","description":"EVO4"},"AudioStreaming":{"value":"Interface","description":"Descriptor:","attributes":["bLength 6","bDescriptorType 36","bDescriptorSubtype 2 (FORMAT_TYPE)","bFormatType 1 (FORMAT_TYPE_I)","bSubslotSize 2","bBitResolution 16"]},"bNrChannels":{"value":"4"},"bmChannelConfig":{"description":"0x00000000"},"iChannelNames":{"value":"11","description":"Analogue 1"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x01","description":"EP 1 OUT"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0068","description":"1x 104 bytes"},"bInterval":{"value":"1"},"AudioStreaming":{"value":"Endpoint","description":"Descriptor:","attributes":["bLength 8","bDescriptorType 37","bDescriptorSubtype 1 (EP_GENERAL)","bmAttributes 0x00","bmControls 0x00","bLockDelayUnits 2 Decoded PCM samples","wLockDelay 0x0008"]}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"17","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Feedback"]},"wMaxPacketSize":{"value":"0x0004","description":"1x 4 bytes"},"bInterval":{"value":"4"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"2"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"5","description":"EVO4"}},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"2"},"bAlternateSetting":{"value":"1"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"32"},"iInterface":{"value":"5","description":"EVO4"},"AudioStreaming":{"value":"Interface","description":"Descriptor:","attributes":["bLength 6","bDescriptorType 36","bDescriptorSubtype 2 (FORMAT_TYPE)","bFormatType 1 (FORMAT_TYPE_I)","bSubslotSize 4","bBitResolution 24"]},"bNrChannels":{"value":"4"},"bmChannelConfig":{"description":"0x00000000"},"iChannelNames":{"value":"15","description":"Analogue 1"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x82","description":"EP 2 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x00d0","description":"1x 208 bytes"},"bInterval":{"value":"1"},"AudioStreaming":{"value":"Endpoint","description":"Descriptor:","attributes":["bLength 8","bDescriptorType 37","bDescriptorSubtype 1 (EP_GENERAL)","bmAttributes 0x00","bmControls 0x00","bLockDelayUnits 2 Decoded PCM samples","wLockDelay 0x0008"]}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"3"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"254","description":"Application Specific Interface"},"bInterfaceSubClass":{"value":"1","description":"Device Firmware Update"},"bInterfaceProtocol":{"value":"1"},"iInterface":{"value":"10","description":"Audient DFU"},"Device Firmware":{"value":"Upgrade","description":"Interface Descriptor:","attributes":["bLength 9","bDescriptorType 33","bmAttributes 7","Will Not Detach","Manifestation Tolerant","Upload Supported","Download Supported"]},"wDetachTimeout":{"description":"250 milliseconds"},"wTransferSize":{"description":"64 bytes"},"bcdDFUVersion":{"description":"1.10"}}]}},"device_qualifier":{"bLength":{"value":"10"},"bDescriptorType":{"value":"6"},"bcdUSB":{"value":"2.00"},"bDeviceClass":{"value":"0"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"0"},"bMaxPacketSize0":{"value":"64"},"bNumConfigurations":{"value":"1"}},"device_status":{"value":"0x0000","description":"(Bus Powered)"}},{"bus":"003","device":"003","id":"32ac:0002","description":"Framework HDMI Expansion Card","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"2.01"},"bDeviceClass":{"value":"0"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"0"},"bMaxPacketSize0":{"value":"8"},"idVendor":{"value":"0x32ac"},"idProduct":{"value":"0x0002"},"bcdDevice":{"value":"0.00"},"iManufacturer":{"value":"1","description":"Framework"},"iProduct":{"value":"2","description":"HDMI Expansion Card"},"iSerial":{"value":"3","description":"11AD1D0001DB3E14313B0B00"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x002b"},"bNumInterfaces":{"value":"2"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"4","description":"Billboard Configuration"},"bmAttributes":{"value":"0x80","attributes":["(Bus Powered)"]},"MaxPower":{"description":"100mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"17"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"5","description":"HDMI Expansion Card"}},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"3","description":"Human Interface Device"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"6","description":"Control Interface"},"hid_device_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"34","description":"Report"},"bcdHID":{"value":"1.11"},"bCountryCode":{"value":"0","description":"Not supported"},"bNumDescriptors":{"value":"1"},"wDescriptorLength":{"value":"83"}},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0040","description":"1x 64 bytes"},"bInterval":{"value":"255"}}]}]}},"device_status":{"value":"0x0000","description":"(Bus Powered)"}},{"bus":"003","device":"010","id":"04d9:4545","description":"Holtek Semiconductor, Inc. Keyboard [Diatec Majestouch 2 Tenkeyless]","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"1.10"},"bDeviceClass":{"value":"0"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"0"},"bMaxPacketSize0":{"value":"8"},"idVendor":{"value":"0x04d9","description":"Holtek Semiconductor, Inc."},"idProduct":{"value":"0x4545","description":"Keyboard [Diatec Majestouch 2 Tenkeyless]"},"bcdDevice":{"value":"1.05"},"iManufacturer":{"value":"0"},"iProduct":{"value":"2","description":"USB Keyboard"},"iSerial":{"value":"0"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x003b"},"bNumInterfaces":{"value":"2"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"0"},"bmAttributes":{"value":"0xa0","attributes":["(Bus Powered)","Remote Wakeup"]},"MaxPower":{"description":"100mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"3","description":"Human Interface Device"},"bInterfaceSubClass":{"value":"1","description":"Boot Interface Subclass"},"bInterfaceProtocol":{"value":"1","description":"Keyboard"},"iInterface":{"value":"0"},"hid_device_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"34","description":"Report"},"bcdHID":{"value":"1.10"},"bCountryCode":{"value":"0","description":"Not supported"},"bNumDescriptors":{"value":"1"},"wDescriptorLength":{"value":"62"}},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0008","description":"1x 8 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"3","description":"Human Interface Device"},"bInterfaceSubClass":{"value":"1","description":"Boot Interface Subclass"},"bInterfaceProtocol":{"value":"2","description":"Mouse"},"iInterface":{"value":"0"},"hid_device_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"34","description":"Report"},"bcdHID":{"value":"1.10"},"bCountryCode":{"value":"0","description":"Not supported"},"bNumDescriptors":{"value":"1"},"wDescriptorLength":{"value":"166"}},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x82","description":"EP 2 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0008","description":"1x 8 bytes"},"bInterval":{"value":"1"}}]}]}},"device_status":{"value":"0x0000","description":"(Bus Powered)"}},{"bus":"003","device":"006","id":"046d:0892","description":"Logitech, Inc. C920 HD Pro Webcam","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"2.00"},"bDeviceClass":{"value":"239","description":"Miscellaneous Device"},"bDeviceSubClass":{"value":"2"},"bDeviceProtocol":{"value":"1","description":"Interface Association"},"bMaxPacketSize0":{"value":"64"},"idVendor":{"value":"0x046d","description":"Logitech, Inc."},"idProduct":{"value":"0x0892","description":"C920 HD Pro Webcam"},"bcdDevice":{"value":"0.19"},"iManufacturer":{"value":"0"},"iProduct":{"value":"2","description":"HD Pro Webcam C920"},"iSerial":{"value":"1","description":"4D257C6F"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x09c3"},"bNumInterfaces":{"value":"4"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"0"},"bmAttributes":{"value":"0x80","attributes":["(Bus Powered)"]},"MaxPower":{"description":"500mA"},"interface_association":{"bLength":{"value":"8"},"bDescriptorType":{"value":"11"},"bFirstInterface":{"value":"2"},"bInterfaceCount":{"value":"2"},"bFunctionClass":{"value":"1","description":"Audio"},"bFunctionSubClass":{"value":"2","description":"Streaming"},"bFunctionProtocol":{"value":"0"},"iFunction":{"value":"0"}},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"1","description":"Video Control"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"videocontrol_interface_descriptors":[{"bLength 13":{},"bDescriptorType 36":{},"bDescriptorSubtype 1":{"value":"(HEADER)"},"bcdUVC 1.00":{},"wTotalLength 0x00d6":{},"dwClockFrequency":{"value":"30.000000MHz"},"bInCollection 1":{},"baInterfaceNr( 0) 1":{}},{"bLength 18":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"2","description":"(INPUT_TERMINAL)"},"bTerminalID 1":{},"wTerminalType 0x0201":{"value":"Camera","description":"Sensor"},"bAssocTerminal 0":{},"iTerminal 0":{},"wObjectiveFocalLengthMin 0":{},"wObjectiveFocalLengthMax 0":{},"wOcularFocalLength 0":{},"bControlSize 3":{},"bmControls 0x00020a2e":{"attributes":["Auto-Exposure Mode","Auto-Exposure Priority","Exposure Time (Absolute)","Focus (Absolute)","Zoom (Absolute)","PanTilt (Absolute)","Focus, Auto"]}},{"bLength 11":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"5","description":"(PROCESSING_UNIT)"},"Warning: Descriptor too short":{"attributes":["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":{"attributes":["None","NTSC - 525/60","SECAM - 625/50","NTSC - 625/50"]}},{"bLength 27":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"6","description":"(EXTENSION_UNIT)"},"bUnitID 6":{},"guidExtensionCode":{"description":"{23e49ed0-1178-4f31-ae52-d2fb8a8d3b48}"},"bNumControls 10":{},"bNrInPins 1":{},"baSourceID( 0) 3":{},"bControlSize 2":{},"bmControls( 0) 0xff":{},"bmControls( 1) 0x03":{},"iExtension 0":{}},{"bLength 27":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"6","description":"(EXTENSION_UNIT)"},"bUnitID 8":{},"guidExtensionCode":{"description":"{69678ee4-410f-40db-a850-7420d7d8240e}"},"bNumControls 7":{},"bNrInPins 1":{},"baSourceID( 0) 3":{},"bControlSize 2":{},"bmControls( 0) 0x3b":{},"bmControls( 1) 0x03":{},"iExtension 0":{}},{"bLength 28":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"6","description":"(EXTENSION_UNIT)"},"bUnitID 9":{},"guidExtensionCode":{"description":"{1f5d4ca9-de11-4487-840d-50933c8ec8d1}"},"bNumControls 16":{},"bNrInPins 1":{},"baSourceID( 0) 3":{},"bControlSize 3":{},"bmControls( 0) 0xf3":{},"bmControls( 1) 0xff":{},"bmControls( 2) 0x03":{},"iExtension 0":{}},{"bLength 27":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"6","description":"(EXTENSION_UNIT)"},"bUnitID 10":{},"guidExtensionCode":{"description":"{49e40215-f434-47fe-b158-0e885023e51b}"},"bNumControls 7":{},"bNrInPins 1":{},"baSourceID( 0) 3":{},"bControlSize 2":{},"bmControls( 0) 0xaa":{},"bmControls( 1) 0x0f":{},"iExtension 0":{}},{"bLength 28":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"6","description":"(EXTENSION_UNIT)"},"bUnitID 11":{},"guidExtensionCode":{"description":"{ffe52d21-8030-4e2c-82d9-f587d00540bd}"},"bNumControls 3":{},"bNrInPins 1":{},"baSourceID( 0) 3":{},"bControlSize 3":{},"bmControls( 0) 0x00":{},"bmControls( 1) 0x41":{},"bmControls( 2) 0x01":{},"iExtension 0":{}},{"bLength 26":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"6","description":"(EXTENSION_UNIT)"},"bUnitID 13":{},"guidExtensionCode":{"description":"{13612d26-5aaa-46c4-b13d-ff4d9a60db86}"},"bNumControls 1":{},"bNrInPins 1":{},"baSourceID( 0) 3":{},"bControlSize 1":{},"bmControls( 0) 0x02":{},"iExtension 0":{}},{"bLength 9":{},"bDescriptorType 36":{},"bDescriptorSubtype":{"value":"3","description":"(OUTPUT_TERMINAL)"},"bTerminalID 4":{},"wTerminalType 0x0101":{"value":"USB","description":"Streaming"},"bAssocTerminal 0":{},"bSourceID 3":{},"iTerminal 0":{}}],"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x86","description":"EP 6 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0040","description":"1x 64 bytes"},"bInterval":{"value":"8"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"videostreaming_interface_descriptors":[{"bLength":{"value":"15"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"1","description":"(INPUT_HEADER)"},"bNumFormats":{"value":"2"},"wTotalLength":{"value":"0x074d"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmInfo":{"value":"0"},"bTerminalLink":{"value":"4"},"bStillCaptureMethod":{"value":"0"},"bTriggerSupport":{"value":"0"},"bTriggerUsage":{"value":"0"},"bControlSize":{"value":"1"},"bmaControls( 0)":{"value":"0"},"bmaControls( 1)":{"value":"4"}},{"bLength":{"value":"27"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"4","description":"(FORMAT_UNCOMPRESSED)"},"bFormatIndex":{"value":"1"},"bNumFrameDescriptors":{"value":"19"},"guidFormat":{"description":"{32595559-0000-0010-8000-00aa00389b71}"},"bBitsPerPixel":{"value":"16"},"bDefaultFrameIndex":{"value":"1"},"bAspectRatioX":{"value":"0"},"bAspectRatioY":{"value":"0"},"bmInterlaceFlags":{"value":"0x00","attributes":["Interlaced stream or variable: No","Fields per frame: 2 fields","Field 1 first: No","Field pattern: Field 1 only"]},"bCopyProtect":{"value":"0"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"1"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"640"},"wHeight":{"value":"480"},"dwMinBitRate":{"value":"24576000"},"dwMaxBitRate":{"value":"147456000"},"dwMaxVideoFrameBufferSize":{"value":"614400"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"2"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"160"},"wHeight":{"value":"90"},"dwMinBitRate":{"value":"1152000"},"dwMaxBitRate":{"value":"6912000"},"dwMaxVideoFrameBufferSize":{"value":"28800"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"3"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"160"},"wHeight":{"value":"120"},"dwMinBitRate":{"value":"1536000"},"dwMaxBitRate":{"value":"9216000"},"dwMaxVideoFrameBufferSize":{"value":"38400"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"4"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"176"},"wHeight":{"value":"144"},"dwMinBitRate":{"value":"2027520"},"dwMaxBitRate":{"value":"12165120"},"dwMaxVideoFrameBufferSize":{"value":"50688"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"5"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"320"},"wHeight":{"value":"180"},"dwMinBitRate":{"value":"4608000"},"dwMaxBitRate":{"value":"27648000"},"dwMaxVideoFrameBufferSize":{"value":"115200"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"6"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"320"},"wHeight":{"value":"240"},"dwMinBitRate":{"value":"6144000"},"dwMaxBitRate":{"value":"36864000"},"dwMaxVideoFrameBufferSize":{"value":"153600"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"7"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"352"},"wHeight":{"value":"288"},"dwMinBitRate":{"value":"8110080"},"dwMaxBitRate":{"value":"48660480"},"dwMaxVideoFrameBufferSize":{"value":"202752"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"8"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"432"},"wHeight":{"value":"240"},"dwMinBitRate":{"value":"8294400"},"dwMaxBitRate":{"value":"49766400"},"dwMaxVideoFrameBufferSize":{"value":"207360"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"9"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"640"},"wHeight":{"value":"360"},"dwMinBitRate":{"value":"18432000"},"dwMaxBitRate":{"value":"110592000"},"dwMaxVideoFrameBufferSize":{"value":"460800"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"10"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"800"},"wHeight":{"value":"448"},"dwMinBitRate":{"value":"28672000"},"dwMaxBitRate":{"value":"172032000"},"dwMaxVideoFrameBufferSize":{"value":"716800"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"50"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"11"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"800"},"wHeight":{"value":"600"},"dwMinBitRate":{"value":"38400000"},"dwMaxBitRate":{"value":"184320000"},"dwMaxVideoFrameBufferSize":{"value":"960000"},"dwDefaultFrameInterval":{"value":"416666"},"bFrameIntervalType":{"value":"6"},"dwFrameInterval( 0)":{"value":"416666"},"dwFrameInterval( 1)":{"value":"500000"},"dwFrameInterval( 2)":{"value":"666666"},"dwFrameInterval( 3)":{"value":"1000000"},"dwFrameInterval( 4)":{"value":"1333333"},"dwFrameInterval( 5)":{"value":"2000000"}},{"bLength":{"value":"50"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"12"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"864"},"wHeight":{"value":"480"},"dwMinBitRate":{"value":"33177600"},"dwMaxBitRate":{"value":"159252480"},"dwMaxVideoFrameBufferSize":{"value":"829440"},"dwDefaultFrameInterval":{"value":"416666"},"bFrameIntervalType":{"value":"6"},"dwFrameInterval( 0)":{"value":"416666"},"dwFrameInterval( 1)":{"value":"500000"},"dwFrameInterval( 2)":{"value":"666666"},"dwFrameInterval( 3)":{"value":"1000000"},"dwFrameInterval( 4)":{"value":"1333333"},"dwFrameInterval( 5)":{"value":"2000000"}},{"bLength":{"value":"42"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"13"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"960"},"wHeight":{"value":"720"},"dwMinBitRate":{"value":"55296000"},"dwMaxBitRate":{"value":"165888000"},"dwMaxVideoFrameBufferSize":{"value":"1382400"},"dwDefaultFrameInterval":{"value":"666666"},"bFrameIntervalType":{"value":"4"},"dwFrameInterval( 0)":{"value":"666666"},"dwFrameInterval( 1)":{"value":"1000000"},"dwFrameInterval( 2)":{"value":"1333333"},"dwFrameInterval( 3)":{"value":"2000000"}},{"bLength":{"value":"42"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"14"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"1024"},"wHeight":{"value":"576"},"dwMinBitRate":{"value":"47185920"},"dwMaxBitRate":{"value":"141557760"},"dwMaxVideoFrameBufferSize":{"value":"1179648"},"dwDefaultFrameInterval":{"value":"666666"},"bFrameIntervalType":{"value":"4"},"dwFrameInterval( 0)":{"value":"666666"},"dwFrameInterval( 1)":{"value":"1000000"},"dwFrameInterval( 2)":{"value":"1333333"},"dwFrameInterval( 3)":{"value":"2000000"}},{"bLength":{"value":"38"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"15"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"1280"},"wHeight":{"value":"720"},"dwMinBitRate":{"value":"73728000"},"dwMaxBitRate":{"value":"147456000"},"dwMaxVideoFrameBufferSize":{"value":"1843200"},"dwDefaultFrameInterval":{"value":"1000000"},"bFrameIntervalType":{"value":"3"},"dwFrameInterval( 0)":{"value":"1000000"},"dwFrameInterval( 1)":{"value":"1333333"},"dwFrameInterval( 2)":{"value":"2000000"}},{"bLength":{"value":"34"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"16"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"1600"},"wHeight":{"value":"896"},"dwMinBitRate":{"value":"114688000"},"dwMaxBitRate":{"value":"172032000"},"dwMaxVideoFrameBufferSize":{"value":"2867200"},"dwDefaultFrameInterval":{"value":"1333333"},"bFrameIntervalType":{"value":"2"},"dwFrameInterval( 0)":{"value":"1333333"},"dwFrameInterval( 1)":{"value":"2000000"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"17"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"1920"},"wHeight":{"value":"1080"},"dwMinBitRate":{"value":"165888000"},"dwMaxBitRate":{"value":"165888000"},"dwMaxVideoFrameBufferSize":{"value":"4147200"},"dwDefaultFrameInterval":{"value":"2000000"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"2000000"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"18"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"2304"},"wHeight":{"value":"1296"},"dwMinBitRate":{"value":"238878720"},"dwMaxBitRate":{"value":"238878720"},"dwMaxVideoFrameBufferSize":{"value":"5971968"},"dwDefaultFrameInterval":{"value":"4999998"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"4999998"}},{"bLength":{"value":"30"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"5","description":"(FRAME_UNCOMPRESSED)"},"bFrameIndex":{"value":"19"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"2304"},"wHeight":{"value":"1536"},"dwMinBitRate":{"value":"283115520"},"dwMaxBitRate":{"value":"283115520"},"dwMaxVideoFrameBufferSize":{"value":"7077888"},"dwDefaultFrameInterval":{"value":"4999998"},"bFrameIntervalType":{"value":"1"},"dwFrameInterval( 0)":{"value":"4999998"}},{"bLength":{"value":"6"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"13","description":"(COLORFORMAT)"},"bColorPrimaries":{"value":"1","description":"(BT.709,sRGB)"},"bTransferCharacteristics":{"value":"1","description":"(BT.709)"},"bMatrixCoefficients":{"value":"4","description":"(SMPTE 170M (BT.601))"}},{"bLength":{"value":"11"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"6","description":"(FORMAT_MJPEG)"},"bFormatIndex":{"value":"2"},"bNumFrameDescriptors":{"value":"17"},"bFlags":{"value":"1","attributes":["Fixed-size samples: Yes"]},"bDefaultFrameIndex":{"value":"1"},"bAspectRatioX":{"value":"0"},"bAspectRatioY":{"value":"0"},"bmInterlaceFlags":{"value":"0x00","attributes":["Interlaced stream or variable: No","Fields per frame: 1 fields","Field 1 first: No","Field pattern: Field 1 only"]},"bCopyProtect":{"value":"0"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"1"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"640"},"wHeight":{"value":"480"},"dwMinBitRate":{"value":"24576000"},"dwMaxBitRate":{"value":"147456000"},"dwMaxVideoFrameBufferSize":{"value":"614400"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"2"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"160"},"wHeight":{"value":"90"},"dwMinBitRate":{"value":"1152000"},"dwMaxBitRate":{"value":"6912000"},"dwMaxVideoFrameBufferSize":{"value":"28800"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"3"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"160"},"wHeight":{"value":"120"},"dwMinBitRate":{"value":"1536000"},"dwMaxBitRate":{"value":"9216000"},"dwMaxVideoFrameBufferSize":{"value":"38400"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"4"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"176"},"wHeight":{"value":"144"},"dwMinBitRate":{"value":"2027520"},"dwMaxBitRate":{"value":"12165120"},"dwMaxVideoFrameBufferSize":{"value":"50688"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"5"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"320"},"wHeight":{"value":"180"},"dwMinBitRate":{"value":"4608000"},"dwMaxBitRate":{"value":"27648000"},"dwMaxVideoFrameBufferSize":{"value":"115200"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"6"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"320"},"wHeight":{"value":"240"},"dwMinBitRate":{"value":"6144000"},"dwMaxBitRate":{"value":"36864000"},"dwMaxVideoFrameBufferSize":{"value":"153600"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"7"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"352"},"wHeight":{"value":"288"},"dwMinBitRate":{"value":"8110080"},"dwMaxBitRate":{"value":"48660480"},"dwMaxVideoFrameBufferSize":{"value":"202752"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"8"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"432"},"wHeight":{"value":"240"},"dwMinBitRate":{"value":"8294400"},"dwMaxBitRate":{"value":"49766400"},"dwMaxVideoFrameBufferSize":{"value":"207360"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"9"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"640"},"wHeight":{"value":"360"},"dwMinBitRate":{"value":"18432000"},"dwMaxBitRate":{"value":"110592000"},"dwMaxVideoFrameBufferSize":{"value":"460800"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"10"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"800"},"wHeight":{"value":"448"},"dwMinBitRate":{"value":"28672000"},"dwMaxBitRate":{"value":"172032000"},"dwMaxVideoFrameBufferSize":{"value":"716800"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"11"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"800"},"wHeight":{"value":"600"},"dwMinBitRate":{"value":"38400000"},"dwMaxBitRate":{"value":"230400000"},"dwMaxVideoFrameBufferSize":{"value":"960000"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"12"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"864"},"wHeight":{"value":"480"},"dwMinBitRate":{"value":"33177600"},"dwMaxBitRate":{"value":"199065600"},"dwMaxVideoFrameBufferSize":{"value":"829440"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"13"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"960"},"wHeight":{"value":"720"},"dwMinBitRate":{"value":"55296000"},"dwMaxBitRate":{"value":"331776000"},"dwMaxVideoFrameBufferSize":{"value":"1382400"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"14"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"1024"},"wHeight":{"value":"576"},"dwMinBitRate":{"value":"47185920"},"dwMaxBitRate":{"value":"283115520"},"dwMaxVideoFrameBufferSize":{"value":"1179648"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"15"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"1280"},"wHeight":{"value":"720"},"dwMinBitRate":{"value":"73728000"},"dwMaxBitRate":{"value":"442368000"},"dwMaxVideoFrameBufferSize":{"value":"1843200"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"16"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"1600"},"wHeight":{"value":"896"},"dwMinBitRate":{"value":"114688000"},"dwMaxBitRate":{"value":"688128000"},"dwMaxVideoFrameBufferSize":{"value":"2867200"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"54"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"7","description":"(FRAME_MJPEG)"},"bFrameIndex":{"value":"17"},"bmCapabilities":{"value":"0x00","attributes":["Still image unsupported"]},"wWidth":{"value":"1920"},"wHeight":{"value":"1080"},"dwMinBitRate":{"value":"165888000"},"dwMaxBitRate":{"value":"995328000"},"dwMaxVideoFrameBufferSize":{"value":"4147200"},"dwDefaultFrameInterval":{"value":"333333"},"bFrameIntervalType":{"value":"7"},"dwFrameInterval( 0)":{"value":"333333"},"dwFrameInterval( 1)":{"value":"416666"},"dwFrameInterval( 2)":{"value":"500000"},"dwFrameInterval( 3)":{"value":"666666"},"dwFrameInterval( 4)":{"value":"1000000"},"dwFrameInterval( 5)":{"value":"1333333"},"dwFrameInterval( 6)":{"value":"2000000"}},{"bLength":{"value":"6"},"bDescriptorType":{"value":"36"},"bDescriptorSubtype":{"value":"13","description":"(COLORFORMAT)"},"bColorPrimaries":{"value":"1","description":"(BT.709,sRGB)"},"bTransferCharacteristics":{"value":"1","description":"(BT.709)"},"bMatrixCoefficients":{"value":"4","description":"(SMPTE 170M (BT.601))"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"1"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x00c0","description":"1x 192 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"2"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0180","description":"1x 384 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"3"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0200","description":"1x 512 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"4"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0280","description":"1x 640 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"5"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0320","description":"1x 800 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"6"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x03b0","description":"1x 944 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"7"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0a80","description":"2x 640 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"8"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0b20","description":"2x 800 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"9"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0be0","description":"2x 992 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"10"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x1380","description":"3x 896 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"11"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"14","description":"Video"},"bInterfaceSubClass":{"value":"2","description":"Video Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x1400","description":"3x 1024 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"2"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"1","description":"Control Device"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"AudioControl":{"value":"Interface","description":"Descriptor:","attributes":["bLength 8","bDescriptorType 36","bDescriptorSubtype 6 (FEATURE_UNIT)","bUnitID 5","bSourceID 1","bControlSize 1","bmaControls(0) 0x03","Mute Control","Volume Control"]},"iChannelNames":{"value":"0"},"iTerminal":{"value":"0"},"iFeature":{"value":"0"}},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"3"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"0"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"}},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"3"},"bAlternateSetting":{"value":"1"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"AudioStreaming":{"value":"Interface","description":"Descriptor:","attributes":["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_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0044","description":"1x 68 bytes"},"bInterval":{"value":"4"},"bRefresh":{"value":"0"},"bSynchAddress":{"value":"0"},"AudioStreaming":{"value":"Endpoint","description":"Descriptor:","attributes":["bLength 7","bDescriptorType 37","bDescriptorSubtype 1 (EP_GENERAL)","bmAttributes 0x01","Sampling Frequency"]},"bLockDelayUnits":{"value":"0","description":"Undefined"},"wLockDelay":{"value":"0x0000"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"3"},"bAlternateSetting":{"value":"2"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"AudioStreaming":{"value":"Interface","description":"Descriptor:","attributes":["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_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0064","description":"1x 100 bytes"},"bInterval":{"value":"4"},"bRefresh":{"value":"0"},"bSynchAddress":{"value":"0"},"AudioStreaming":{"value":"Endpoint","description":"Descriptor:","attributes":["bLength 7","bDescriptorType 37","bDescriptorSubtype 1 (EP_GENERAL)","bmAttributes 0x01","Sampling Frequency"]},"bLockDelayUnits":{"value":"0","description":"Undefined"},"wLockDelay":{"value":"0x0000"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"3"},"bAlternateSetting":{"value":"3"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"1","description":"Audio"},"bInterfaceSubClass":{"value":"2","description":"Streaming"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"AudioStreaming":{"value":"Interface","description":"Descriptor:","attributes":["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_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"5","attributes":["Transfer Type Isochronous","Synch Type Asynchronous","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0084","description":"1x 132 bytes"},"bInterval":{"value":"4"},"bRefresh":{"value":"0"},"bSynchAddress":{"value":"0"},"AudioStreaming":{"value":"Endpoint","description":"Descriptor:","attributes":["bLength 7","bDescriptorType 37","bDescriptorSubtype 1 (EP_GENERAL)","bmAttributes 0x01","Sampling Frequency"]},"bLockDelayUnits":{"value":"0","description":"Undefined"},"wLockDelay":{"value":"0x0000"}}]}]}},"device_qualifier":{"bLength":{"value":"10"},"bDescriptorType":{"value":"6"},"bcdUSB":{"value":"2.00"},"bDeviceClass":{"value":"239","description":"Miscellaneous Device"},"bDeviceSubClass":{"value":"2"},"bDeviceProtocol":{"value":"1","description":"Interface Association"},"bMaxPacketSize0":{"value":"64"},"bNumConfigurations":{"value":"1"}},"device_status":{"value":"0x0000","description":"(Bus Powered)"}},{"bus":"003","device":"004","id":"046d:c08b","description":"Logitech, Inc. G502 SE HERO Gaming Mouse","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"2.00"},"bDeviceClass":{"value":"0"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"0"},"bMaxPacketSize0":{"value":"64"},"idVendor":{"value":"0x046d","description":"Logitech, Inc."},"idProduct":{"value":"0xc08b","description":"G502 SE HERO Gaming Mouse"},"bcdDevice":{"value":"27.02"},"iManufacturer":{"value":"1","description":"Logitech"},"iProduct":{"value":"2","description":"G502 HERO Gaming Mouse"},"iSerial":{"value":"3","description":"158E39603038"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x003b"},"bNumInterfaces":{"value":"2"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"4","description":"U127.02_B0008"},"bmAttributes":{"value":"0xa0","attributes":["(Bus Powered)","Remote Wakeup"]},"MaxPower":{"description":"300mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"3","description":"Human Interface Device"},"bInterfaceSubClass":{"value":"1","description":"Boot Interface Subclass"},"bInterfaceProtocol":{"value":"2","description":"Mouse"},"iInterface":{"value":"0"},"hid_device_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"34","description":"Report"},"bcdHID":{"value":"1.11"},"bCountryCode":{"value":"0","description":"Not supported"},"bNumDescriptors":{"value":"1"},"wDescriptorLength":{"value":"67"}},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0008","description":"1x 8 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"3","description":"Human Interface Device"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"0"},"iInterface":{"value":"0"},"hid_device_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"34","description":"Report"},"bcdHID":{"value":"1.11"},"bCountryCode":{"value":"0","description":"Not supported"},"bNumDescriptors":{"value":"1"},"wDescriptorLength":{"value":"151"}},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x82","description":"EP 2 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0014","description":"1x 20 bytes"},"bInterval":{"value":"1"}}]}]}},"device_status":{"value":"0x0000","description":"(Bus Powered)"}},{"bus":"003","device":"002","id":"05e3:0610","description":"Genesys Logic, Inc. Hub","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"2.10"},"bDeviceClass":{"value":"9","description":"Hub"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"2","description":"TT per port"},"bMaxPacketSize0":{"value":"64"},"idVendor":{"value":"0x05e3","description":"Genesys Logic, Inc."},"idProduct":{"value":"0x0610","description":"Hub"},"bcdDevice":{"value":"92.23"},"iManufacturer":{"value":"1","description":"GenesysLogic"},"iProduct":{"value":"2","description":"USB2.0 Hub"},"iSerial":{"value":"0"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x0029"},"bNumInterfaces":{"value":"1"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"0"},"bmAttributes":{"value":"0xe0","attributes":["Self Powered","Remote Wakeup"]},"MaxPower":{"description":"100mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"9","description":"Hub"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"1","description":"Single TT"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0001","description":"1x 1 bytes"},"bInterval":{"value":"12"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"1"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"9","description":"Hub"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"2","description":"TT per port"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0001","description":"1x 1 bytes"},"bInterval":{"value":"12"}}]}]}},"hub_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"41"},"nNbrPorts":{"value":"4"},"wHubCharacteristic":{"value":"0x00e0","attributes":["Ganged power switching","Ganged overcurrent protection","TT think time 32 FS bits","Port indicators"]},"bPwrOn2PwrGood":{"value":"50 *","description":"2 milli seconds"},"bHubContrCurrent":{"value":"100","description":"milli Ampere"},"DeviceRemovable":{"value":"0x00"},"PortPwrCtrlMask":{"value":"0xff"},"hub_port_status":{"Port 1":{"value":"0000.0103","attributes":["power","enable","connect"]},"Port 2":{"value":"0000.0503","attributes":["highspeed","power","enable","connect"]},"Port 3":{"value":"0000.0303","attributes":["lowspeed","power","enable","connect"]},"Port 4":{"value":"0000.0100","attributes":["power"]}}},"device_status":{"value":"0x0001","description":"Self Powered"}},{"bus":"003","device":"009","id":"8087:0032","description":"Intel Corp. AX210 Bluetooth","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"2.01"},"bDeviceClass":{"value":"224","description":"Wireless"},"bDeviceSubClass":{"value":"1","description":"Radio Frequency"},"bDeviceProtocol":{"value":"1","description":"Bluetooth"},"bMaxPacketSize0":{"value":"64"},"idVendor":{"value":"0x8087","description":"Intel Corp."},"idProduct":{"value":"0x0032","description":"AX210 Bluetooth"},"bcdDevice":{"value":"0.00"},"iManufacturer":{"value":"0"},"iProduct":{"value":"0"},"iSerial":{"value":"0"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x00c8"},"bNumInterfaces":{"value":"2"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"0"},"bmAttributes":{"value":"0xe0","attributes":["Self Powered","Remote Wakeup"]},"MaxPower":{"description":"100mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"3"},"bInterfaceClass":{"value":"224","description":"Wireless"},"bInterfaceSubClass":{"value":"1","description":"Radio Frequency"},"bInterfaceProtocol":{"value":"1","description":"Bluetooth"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0040","description":"1x 64 bytes"},"bInterval":{"value":"1"}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x02","description":"EP 2 OUT"},"bmAttributes":{"value":"2","attributes":["Transfer Type Bulk","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0040","description":"1x 64 bytes"},"bInterval":{"value":"1"}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x82","description":"EP 2 IN"},"bmAttributes":{"value":"2","attributes":["Transfer Type Bulk","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0040","description":"1x 64 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"224","description":"Wireless"},"bInterfaceSubClass":{"value":"1","description":"Radio Frequency"},"bInterfaceProtocol":{"value":"1","description":"Bluetooth"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x03","description":"EP 3 OUT"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0000","description":"1x 0 bytes"},"bInterval":{"value":"1"}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0000","description":"1x 0 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"1"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"224","description":"Wireless"},"bInterfaceSubClass":{"value":"1","description":"Radio Frequency"},"bInterfaceProtocol":{"value":"1","description":"Bluetooth"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x03","description":"EP 3 OUT"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0009","description":"1x 9 bytes"},"bInterval":{"value":"1"}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0009","description":"1x 9 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"2"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"224","description":"Wireless"},"bInterfaceSubClass":{"value":"1","description":"Radio Frequency"},"bInterfaceProtocol":{"value":"1","description":"Bluetooth"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x03","description":"EP 3 OUT"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0011","description":"1x 17 bytes"},"bInterval":{"value":"1"}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0011","description":"1x 17 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"3"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"224","description":"Wireless"},"bInterfaceSubClass":{"value":"1","description":"Radio Frequency"},"bInterfaceProtocol":{"value":"1","description":"Bluetooth"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x03","description":"EP 3 OUT"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0019","description":"1x 25 bytes"},"bInterval":{"value":"1"}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0019","description":"1x 25 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"4"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"224","description":"Wireless"},"bInterfaceSubClass":{"value":"1","description":"Radio Frequency"},"bInterfaceProtocol":{"value":"1","description":"Bluetooth"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x03","description":"EP 3 OUT"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0021","description":"1x 33 bytes"},"bInterval":{"value":"1"}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0021","description":"1x 33 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"5"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"224","description":"Wireless"},"bInterfaceSubClass":{"value":"1","description":"Radio Frequency"},"bInterfaceProtocol":{"value":"1","description":"Bluetooth"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x03","description":"EP 3 OUT"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0031","description":"1x 49 bytes"},"bInterval":{"value":"1"}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0031","description":"1x 49 bytes"},"bInterval":{"value":"1"}}]},{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"1"},"bAlternateSetting":{"value":"6"},"bNumEndpoints":{"value":"2"},"bInterfaceClass":{"value":"224","description":"Wireless"},"bInterfaceSubClass":{"value":"1","description":"Radio Frequency"},"bInterfaceProtocol":{"value":"1","description":"Bluetooth"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x03","description":"EP 3 OUT"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x003f","description":"1x 63 bytes"},"bInterval":{"value":"1"}},{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"1","attributes":["Transfer Type Isochronous","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x003f","description":"1x 63 bytes"},"bInterval":{"value":"1"}}]}]}},"device_status":{"value":"0x0001","description":"Self Powered"}},{"bus":"003","device":"001","id":"1d6b:0002","description":"Linux Foundation 2.0 root hub","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"2.00"},"bDeviceClass":{"value":"9","description":"Hub"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"1","description":"Single TT"},"bMaxPacketSize0":{"value":"64"},"idVendor":{"value":"0x1d6b","description":"Linux Foundation"},"idProduct":{"value":"0x0002","description":"2.0 root hub"},"bcdDevice":{"value":"5.19"},"iManufacturer":{"value":"3","description":"Linux 5.19.17-2-MANJARO xhci-hcd"},"iProduct":{"value":"2","description":"xHCI Host Controller"},"iSerial":{"value":"1","description":"0000:00:14.0"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x0019"},"bNumInterfaces":{"value":"1"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"0"},"bmAttributes":{"value":"0xe0","attributes":["Self Powered","Remote Wakeup"]},"MaxPower":{"description":"0mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"9","description":"Hub"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"0","description":"Full speed (or root) hub"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0004","description":"1x 4 bytes"},"bInterval":{"value":"12"}}]}]}},"hub_descriptor":{"bLength":{"value":"11"},"bDescriptorType":{"value":"41"},"nNbrPorts":{"value":"12"},"wHubCharacteristic":{"value":"0x000a","attributes":["No power switching (usb 1.0)","Per-port overcurrent protection","TT think time 8 FS bits"]},"bPwrOn2PwrGood":{"value":"10 *","description":"2 milli seconds"},"bHubContrCurrent":{"value":"0","description":"milli Ampere"},"DeviceRemovable":{"value":"0x80","description":"0x06"},"PortPwrCtrlMask":{"value":"0xff","description":"0xff"},"hub_port_status":{"Port 1":{"value":"0000.0100","attributes":["power"]},"Port 2":{"value":"0000.0503","attributes":["highspeed","power","enable","connect"]},"Port 3":{"value":"0000.0103","attributes":["power","enable","connect"]},"Port 4":{"value":"0000.0503","attributes":["highspeed","power","enable","connect"]},"Port 5":{"value":"0000.0100","attributes":["power"]},"Port 6":{"value":"0000.0100","attributes":["power"]},"Port 7":{"value":"0000.0503","attributes":["highspeed","power","enable","connect"]},"Port 8":{"value":"0000.0100","attributes":["power"]},"Port 9":{"value":"0000.0103","attributes":["power","enable","connect"]},"Port 10":{"value":"0000.0103","attributes":["power","enable","connect"]},"Port 11":{"value":"0000.0100","attributes":["power"]},"Port 12":{"value":"0000.0100","attributes":["power"]}}},"device_status":{"value":"0x0001","description":"Self Powered"}},{"bus":"002","device":"002","id":"05e3:0616","description":"Genesys Logic, Inc. hub","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"3.00"},"bDeviceClass":{"value":"9","description":"Hub"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"3"},"bMaxPacketSize0":{"value":"9"},"idVendor":{"value":"0x05e3","description":"Genesys Logic, Inc."},"idProduct":{"value":"0x0616","description":"hub"},"bcdDevice":{"value":"92.23"},"iManufacturer":{"value":"1","description":"GenesysLogic"},"iProduct":{"value":"2","description":"USB3.0 Hub"},"iSerial":{"value":"0"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x001f"},"bNumInterfaces":{"value":"1"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"0"},"bmAttributes":{"value":"0xe0","attributes":["Self Powered","Remote Wakeup"]},"MaxPower":{"description":"0mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"9","description":"Hub"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"0","description":"Full speed (or root) hub"},"iInterface":{"value":"1","description":"GenesysLogic"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x83","description":"EP 3 IN"},"bmAttributes":{"value":"19","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Feedback"]},"wMaxPacketSize":{"value":"0x0002","description":"1x 2 bytes"},"bInterval":{"value":"8"},"bMaxBurst":{"value":"0"}}]}]}},"hub_descriptor":{"bLength":{"value":"12"},"bDescriptorType":{"value":"42"},"nNbrPorts":{"value":"4"},"wHubCharacteristic":{"value":"0x0000","attributes":["Ganged power switching","Ganged overcurrent protection"]},"bPwrOn2PwrGood":{"value":"50 *","description":"2 milli seconds"},"bHubContrCurrent":{"value":"576","description":"milli Ampere"},"bHubDecLat":{"value":"0.0","description":"micro seconds"},"wHubDelay":{"value":"1248","description":"nano seconds"},"DeviceRemovable":{"value":"0x00"},"hub_port_status":{"Port 1":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]},"Port 2":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]},"Port 3":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]},"Port 4":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]}}},"device_status":{"value":"0x0001","description":"Self Powered"}},{"bus":"002","device":"001","id":"1d6b:0003","description":"Linux Foundation 3.0 root hub","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"3.10"},"bDeviceClass":{"value":"9","description":"Hub"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"3"},"bMaxPacketSize0":{"value":"9"},"idVendor":{"value":"0x1d6b","description":"Linux Foundation"},"idProduct":{"value":"0x0003","description":"3.0 root hub"},"bcdDevice":{"value":"5.19"},"iManufacturer":{"value":"3","description":"Linux 5.19.17-2-MANJARO xhci-hcd"},"iProduct":{"value":"2","description":"xHCI Host Controller"},"iSerial":{"value":"1","description":"0000:00:0d.0"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x001f"},"bNumInterfaces":{"value":"1"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"0"},"bmAttributes":{"value":"0xe0","attributes":["Self Powered","Remote Wakeup"]},"MaxPower":{"description":"0mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"9","description":"Hub"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"0","description":"Full speed (or root) hub"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0004","description":"1x 4 bytes"},"bInterval":{"value":"12"},"bMaxBurst":{"value":"0"}}]}]}},"hub_descriptor":{"bLength":{"value":"12"},"bDescriptorType":{"value":"42"},"nNbrPorts":{"value":"4"},"wHubCharacteristic":{"value":"0x000a","attributes":["No power switching (usb 1.0)","Per-port overcurrent protection"]},"bPwrOn2PwrGood":{"value":"50 *","description":"2 milli seconds"},"bHubContrCurrent":{"value":"0","description":"milli Ampere"},"bHubDecLat":{"value":"0.0","description":"micro seconds"},"wHubDelay":{"value":"0","description":"nano seconds"},"DeviceRemovable":{"value":"0x00"},"hub_port_status":{"Port 1":{"value":"0000.0263","attributes":["5Gbps","power","suspend","enable","connect"]},"Port 2":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]},"Port 3":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]},"Port 4":{"value":"0000.02a0","attributes":["5Gbps","power","Rx.Detect"]}}},"device_status":{"value":"0x0001","description":"Self Powered"}},{"bus":"001","device":"001","id":"1d6b:0002","description":"Linux Foundation 2.0 root hub","device_descriptor":{"bLength":{"value":"18"},"bDescriptorType":{"value":"1"},"bcdUSB":{"value":"2.00"},"bDeviceClass":{"value":"9","description":"Hub"},"bDeviceSubClass":{"value":"0"},"bDeviceProtocol":{"value":"1","description":"Single TT"},"bMaxPacketSize0":{"value":"64"},"idVendor":{"value":"0x1d6b","description":"Linux Foundation"},"idProduct":{"value":"0x0002","description":"2.0 root hub"},"bcdDevice":{"value":"5.19"},"iManufacturer":{"value":"3","description":"Linux 5.19.17-2-MANJARO xhci-hcd"},"iProduct":{"value":"2","description":"xHCI Host Controller"},"iSerial":{"value":"1","description":"0000:00:0d.0"},"bNumConfigurations":{"value":"1"},"configuration_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"2"},"wTotalLength":{"value":"0x0019"},"bNumInterfaces":{"value":"1"},"bConfigurationValue":{"value":"1"},"iConfiguration":{"value":"0"},"bmAttributes":{"value":"0xe0","attributes":["Self Powered","Remote Wakeup"]},"MaxPower":{"description":"0mA"},"interface_descriptors":[{"bLength":{"value":"9"},"bDescriptorType":{"value":"4"},"bInterfaceNumber":{"value":"0"},"bAlternateSetting":{"value":"0"},"bNumEndpoints":{"value":"1"},"bInterfaceClass":{"value":"9","description":"Hub"},"bInterfaceSubClass":{"value":"0"},"bInterfaceProtocol":{"value":"0","description":"Full speed (or root) hub"},"iInterface":{"value":"0"},"endpoint_descriptors":[{"bLength":{"value":"7"},"bDescriptorType":{"value":"5"},"bEndpointAddress":{"value":"0x81","description":"EP 1 IN"},"bmAttributes":{"value":"3","attributes":["Transfer Type Interrupt","Synch Type None","Usage Type Data"]},"wMaxPacketSize":{"value":"0x0004","description":"1x 4 bytes"},"bInterval":{"value":"12"}}]}]}},"hub_descriptor":{"bLength":{"value":"9"},"bDescriptorType":{"value":"41"},"nNbrPorts":{"value":"1"},"wHubCharacteristic":{"value":"0x000a","attributes":["No power switching (usb 1.0)","Per-port overcurrent protection","TT think time 8 FS bits"]},"bPwrOn2PwrGood":{"value":"10 *","description":"2 milli seconds"},"bHubContrCurrent":{"value":"0","description":"milli Ampere"},"DeviceRemovable":{"value":"0x00"},"PortPwrCtrlMask":{"value":"0xff"},"hub_port_status":{"Port 1":{"value":"0000.0100","attributes":["power"]}}},"device_status":{"value":"0x0001","description":"Self Powered"}}] diff --git a/tests/fixtures/generic/lsusb-extra-hub-port-status-info.out b/tests/fixtures/generic/lsusb-extra-hub-port-status-info.out new file mode 100644 index 00000000..b377bde2 --- /dev/null +++ b/tests/fixtures/generic/lsusb-extra-hub-port-status-info.out @@ -0,0 +1,4140 @@ + +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 + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x1d6b Linux Foundation + idProduct 0x0003 3.0 root hub + bcdDevice 5.19 + iManufacturer 3 Linux 5.19.17-2-MANJARO 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 + 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 +Binary Object Store Descriptor: + bLength 5 + bDescriptorType 15 + wTotalLength 0x005b + bNumDeviceCaps 2 + SuperSpeed USB Device Capability: + bLength 10 + bDescriptorType 16 + bDevCapabilityType 3 + bmAttributes 0x02 + Latency Tolerance Messages (LTM) Supported + wSpeedsSupported 0x0008 + Device can operate at SuperSpeed (5Gbps) + bFunctionalitySupport 1 + Lowest fully-functional device speed is Full Speed (12Mbps) + bU1DevExitLat 10 micro seconds + bU2DevExitLat 160 micro seconds + SuperSpeedPlus USB Device Capability: + bLength 76 + bDescriptorType 16 + bDevCapabilityType 10 + bmAttributes 0x000000ef + Sublink Speed Attribute count 16 + Sublink Speed ID count 8 + wFunctionalitySupport 0x1106 + Min functional Speed Attribute ID: 6 + Min functional RX lanes: 1 + Min functional TX lanes: 1 + bmSublinkSpeedAttr[0] 0x00050034 + Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed + bmSublinkSpeedAttr[1] 0x000500b4 + Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed + bmSublinkSpeedAttr[2] 0x000a4035 + Speed Attribute ID: 5 10Gb/s Symmetric RX SuperSpeedPlus + bmSublinkSpeedAttr[3] 0x000a40b5 + Speed Attribute ID: 5 10Gb/s Symmetric TX SuperSpeedPlus + bmSublinkSpeedAttr[4] 0x00e00026 + Speed Attribute ID: 6 224Mb/s Symmetric RX SuperSpeed + bmSublinkSpeedAttr[5] 0x00e000a6 + Speed Attribute ID: 6 224Mb/s Symmetric TX SuperSpeed + bmSublinkSpeedAttr[6] 0x00c00027 + Speed Attribute ID: 7 192Mb/s Symmetric RX SuperSpeed + bmSublinkSpeedAttr[7] 0x00c000a7 + Speed Attribute ID: 7 192Mb/s Symmetric TX SuperSpeed + bmSublinkSpeedAttr[8] 0x00800028 + Speed Attribute ID: 8 128Mb/s Symmetric RX SuperSpeed + bmSublinkSpeedAttr[9] 0x008000a8 + Speed Attribute ID: 8 128Mb/s Symmetric TX SuperSpeed + bmSublinkSpeedAttr[10] 0x00b10029 + Speed Attribute ID: 9 177Mb/s Symmetric RX SuperSpeed + bmSublinkSpeedAttr[11] 0x00b100a9 + Speed Attribute ID: 9 177Mb/s Symmetric TX SuperSpeed + bmSublinkSpeedAttr[12] 0x0063002a + Speed Attribute ID: 10 99Mb/s Symmetric RX SuperSpeed + bmSublinkSpeedAttr[13] 0x006300aa + Speed Attribute ID: 10 99Mb/s Symmetric TX SuperSpeed + bmSublinkSpeedAttr[14] 0x00c6002b + Speed Attribute ID: 11 198Mb/s Symmetric RX SuperSpeed + bmSublinkSpeedAttr[15] 0x00c600ab + Speed Attribute ID: 11 198Mb/s Symmetric TX SuperSpeed +Hub Descriptor: + bLength 12 + bDescriptorType 42 + nNbrPorts 4 + wHubCharacteristic 0x000a + No power switching (usb 1.0) + Per-port overcurrent protection + bPwrOn2PwrGood 50 * 2 milli seconds + bHubContrCurrent 0 milli Ampere + bHubDecLat 0.0 micro seconds + wHubDelay 0 nano seconds + DeviceRemovable 0x00 + Hub Port Status: + Port 1: 0000.02a0 5Gbps power Rx.Detect + Port 2: 0000.02a0 5Gbps power Rx.Detect + Port 3: 0000.02a0 5Gbps power Rx.Detect + Port 4: 0000.02a0 5Gbps power Rx.Detect +Device Status: 0x0001 + Self Powered + +Bus 003 Device 008: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.00 + bDeviceClass 239 Miscellaneous Device + bDeviceSubClass 0 + bDeviceProtocol 0 + bMaxPacketSize0 64 + idVendor 0x27c6 Shenzhen Goodix Technology Co.,Ltd. + idProduct 0x609c + bcdDevice 1.00 + iManufacturer 1 Goodix Technology Co., Ltd. + iProduct 2 Goodix USB2.0 MISC + iSerial 3 UIDF1DBE326_XXXX_MOC_B0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x0020 + bNumInterfaces 1 + bConfigurationValue 1 + iConfiguration 3 UIDF1DBE326_XXXX_MOC_B0 + 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 + bInterfaceProtocol 0 + iInterface 4 MISC Data + 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 +Device Status: 0x0000 + (Bus Powered) + +Bus 003 Device 007: ID 0bda:5634 Realtek Semiconductor Corp. Laptop Camera +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.01 + bDeviceClass 239 Miscellaneous Device + bDeviceSubClass 2 + bDeviceProtocol 1 Interface Association + bMaxPacketSize0 64 + idVendor 0x0bda Realtek Semiconductor Corp. + idProduct 0x5634 + bcdDevice 0.21 + iManufacturer 3 Generic + iProduct 1 Laptop Camera + iSerial 2 200901010001 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x036e + bNumInterfaces 2 + bConfigurationValue 1 + iConfiguration 4 USB Camera + bmAttributes 0x80 + (Bus Powered) + MaxPower 300mA + Interface Association: + bLength 8 + bDescriptorType 11 + bFirstInterface 0 + bInterfaceCount 2 + bFunctionClass 14 Video + bFunctionSubClass 3 Video Interface Collection + bFunctionProtocol 0 + iFunction 5 Laptop Camera + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 14 Video + bInterfaceSubClass 1 Video Control + bInterfaceProtocol 0 + iInterface 5 Laptop Camera + VideoControl Interface Descriptor: + bLength 13 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdUVC 1.00 + wTotalLength 0x004e + dwClockFrequency 15.000000MHz + bInCollection 1 + baInterfaceNr( 0) 1 + VideoControl Interface Descriptor: + bLength 18 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 1 + wTerminalType 0x0201 Camera Sensor + bAssocTerminal 0 + iTerminal 0 + wObjectiveFocalLengthMin 0 + wObjectiveFocalLengthMax 0 + wOcularFocalLength 0 + bControlSize 3 + bmControls 0x0000000e + Auto-Exposure Mode + Auto-Exposure Priority + Exposure Time (Absolute) + VideoControl Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 5 (PROCESSING_UNIT) + Warning: Descriptor too short + bUnitID 2 + bSourceID 1 + wMaxMultiplier 0 + bControlSize 2 + bmControls 0x0000157f + Brightness + Contrast + Hue + Saturation + Sharpness + Gamma + White Balance Temperature + Backlight Compensation + Power Line Frequency + White Balance Temperature, Auto + iProcessing 0 + bmVideoStandards 0x09 + None + SECAM - 625/50 + VideoControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 3 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bSourceID 4 + iTerminal 0 + VideoControl Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 4 + guidExtensionCode {1229a78c-47b4-4094-b0ce-db07386fb938} + bNumControls 2 + bNrInPins 1 + baSourceID( 0) 2 + bControlSize 2 + bmControls( 0) 0x00 + bmControls( 1) 0x16 + iExtension 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0020 1x 32 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 0x0281 + bEndpointAddress 0x81 EP 1 IN + bmInfo 0 + bTerminalLink 3 + bStillCaptureMethod 1 + bTriggerSupport 1 + bTriggerUsage 0 + bControlSize 1 + bmaControls( 0) 0 + bmaControls( 1) 0 + VideoStreaming Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 6 (FORMAT_MJPEG) + bFormatIndex 1 + bNumFrameDescriptors 9 + 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 34 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 1 + bmCapabilities 0x01 + Still image supported + wWidth 1920 + wHeight 1080 + dwMinBitRate 995328000 + dwMaxBitRate 1990656000 + dwMaxVideoFrameBufferSize 4147200 + dwDefaultFrameInterval 166666 + bFrameIntervalType 2 + dwFrameInterval( 0) 166666 + dwFrameInterval( 1) 333333 + VideoStreaming Interface Descriptor: + bLength 34 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 2 + bmCapabilities 0x01 + Still image supported + wWidth 320 + wHeight 180 + dwMinBitRate 27648000 + dwMaxBitRate 55296000 + dwMaxVideoFrameBufferSize 115200 + dwDefaultFrameInterval 166666 + bFrameIntervalType 2 + dwFrameInterval( 0) 166666 + dwFrameInterval( 1) 333333 + VideoStreaming Interface Descriptor: + bLength 34 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 3 + bmCapabilities 0x01 + Still image supported + wWidth 320 + wHeight 240 + dwMinBitRate 36864000 + dwMaxBitRate 73728000 + dwMaxVideoFrameBufferSize 153600 + dwDefaultFrameInterval 166666 + bFrameIntervalType 2 + dwFrameInterval( 0) 166666 + dwFrameInterval( 1) 333333 + VideoStreaming Interface Descriptor: + bLength 34 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 4 + bmCapabilities 0x01 + Still image supported + wWidth 424 + wHeight 240 + dwMinBitRate 48844800 + dwMaxBitRate 97689600 + dwMaxVideoFrameBufferSize 203520 + dwDefaultFrameInterval 166666 + bFrameIntervalType 2 + dwFrameInterval( 0) 166666 + dwFrameInterval( 1) 333333 + VideoStreaming Interface Descriptor: + bLength 34 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 5 + bmCapabilities 0x01 + Still image supported + wWidth 640 + wHeight 360 + dwMinBitRate 110592000 + dwMaxBitRate 221184000 + dwMaxVideoFrameBufferSize 460800 + dwDefaultFrameInterval 166666 + bFrameIntervalType 2 + dwFrameInterval( 0) 166666 + dwFrameInterval( 1) 333333 + VideoStreaming Interface Descriptor: + bLength 34 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 6 + bmCapabilities 0x01 + Still image supported + wWidth 640 + wHeight 480 + dwMinBitRate 147456000 + dwMaxBitRate 294912000 + dwMaxVideoFrameBufferSize 614400 + dwDefaultFrameInterval 166666 + bFrameIntervalType 2 + dwFrameInterval( 0) 166666 + dwFrameInterval( 1) 333333 + VideoStreaming Interface Descriptor: + bLength 34 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 7 + bmCapabilities 0x01 + Still image supported + wWidth 848 + wHeight 480 + dwMinBitRate 195379200 + dwMaxBitRate 390758400 + dwMaxVideoFrameBufferSize 814080 + dwDefaultFrameInterval 166666 + bFrameIntervalType 2 + dwFrameInterval( 0) 166666 + dwFrameInterval( 1) 333333 + VideoStreaming Interface Descriptor: + bLength 34 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 8 + bmCapabilities 0x01 + Still image supported + wWidth 960 + wHeight 540 + dwMinBitRate 248832000 + dwMaxBitRate 497664000 + dwMaxVideoFrameBufferSize 1036800 + dwDefaultFrameInterval 166666 + bFrameIntervalType 2 + dwFrameInterval( 0) 166666 + dwFrameInterval( 1) 333333 + VideoStreaming Interface Descriptor: + bLength 34 + bDescriptorType 36 + bDescriptorSubtype 7 (FRAME_MJPEG) + bFrameIndex 9 + bmCapabilities 0x01 + Still image supported + wWidth 1280 + wHeight 720 + dwMinBitRate 442368000 + dwMaxBitRate 884736000 + dwMaxVideoFrameBufferSize 1843200 + dwDefaultFrameInterval 166666 + bFrameIntervalType 2 + dwFrameInterval( 0) 166666 + dwFrameInterval( 1) 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)) + VideoStreaming Interface Descriptor: + bLength 27 + bDescriptorType 36 + bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED) + bFormatIndex 2 + bNumFrameDescriptors 9 + 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 0x01 + Still image supported + 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 2 + bmCapabilities 0x01 + Still image supported + 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 3 + bmCapabilities 0x01 + Still image supported + 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 4 + bmCapabilities 0x01 + Still image supported + 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 5 + bmCapabilities 0x01 + Still image supported + 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 6 + bmCapabilities 0x01 + Still image supported + 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 7 + bmCapabilities 0x01 + Still image supported + wWidth 848 + wHeight 480 + dwMinBitRate 130252800 + dwMaxBitRate 130252800 + dwMaxVideoFrameBufferSize 814080 + dwDefaultFrameInterval 500000 + bFrameIntervalType 1 + dwFrameInterval( 0) 500000 + VideoStreaming Interface Descriptor: + bLength 30 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 8 + bmCapabilities 0x01 + Still image supported + wWidth 960 + wHeight 540 + dwMinBitRate 124416000 + dwMaxBitRate 124416000 + dwMaxVideoFrameBufferSize 1036800 + dwDefaultFrameInterval 666666 + bFrameIntervalType 1 + dwFrameInterval( 0) 666666 + VideoStreaming Interface Descriptor: + bLength 30 + bDescriptorType 36 + bDescriptorSubtype 5 (FRAME_UNCOMPRESSED) + bFrameIndex 9 + bmCapabilities 0x01 + Still image supported + wWidth 1280 + wHeight 720 + dwMinBitRate 117964800 + dwMaxBitRate 117964800 + dwMaxVideoFrameBufferSize 1843200 + dwDefaultFrameInterval 1250000 + bFrameIntervalType 1 + dwFrameInterval( 0) 1250000 + 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 0x0200 1x 512 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 0x0400 1x 1024 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 0x0b00 2x 768 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 0x0c00 2x 1024 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 0x1380 3x 896 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 0x13fc 3x 1020 bytes + bInterval 1 +Binary Object Store Descriptor: + bLength 5 + bDescriptorType 15 + wTotalLength 0x0029 + bNumDeviceCaps 2 + Platform Device Capability: + bLength 28 + bDescriptorType 16 + bDevCapabilityType 5 + bReserved 0 + PlatformCapabilityUUID {d8dd60df-4589-4cc7-9cd2-659d9e648a9f} + CapabilityData[0] 0x00 + CapabilityData[1] 0x00 + CapabilityData[2] 0x03 + CapabilityData[3] 0x06 + CapabilityData[4] 0xe4 + CapabilityData[5] 0x01 + CapabilityData[6] 0x15 + CapabilityData[7] 0x00 + ** UNRECOGNIZED: 08 10 11 01 03 00 00 00 +Device Status: 0x0000 + (Bus Powered) + +Bus 003 Device 005: ID 2708:0006 Audient EVO4 +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.00 + bDeviceClass 239 Miscellaneous Device + bDeviceSubClass 2 + bDeviceProtocol 1 Interface Association + bMaxPacketSize0 64 + idVendor 0x2708 + idProduct 0x0006 + bcdDevice 0.10 + iManufacturer 1 Audient + iProduct 3 EVO4 + iSerial 0 + bNumConfigurations 2 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x01a6 + bNumInterfaces 4 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0x80 + (Bus Powered) + MaxPower 500mA + Interface Association: + bLength 8 + bDescriptorType 11 + bFirstInterface 0 + bInterfaceCount 3 + bFunctionClass 1 Audio + bFunctionSubClass 0 + bFunctionProtocol 32 + iFunction 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 1 Control Device + bInterfaceProtocol 32 + iInterface 3 EVO4 + AudioControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdADC 2.00 + bCategory 8 + wTotalLength 0x00d0 + bmControls 0x01 + Latency control Control (read-only) + AudioControl Interface Descriptor: + bLength 8 + bDescriptorType 36 + bDescriptorSubtype 10 (CLOCK_SOURCE) + bClockID 41 + bmAttributes 3 Internal programmable clock + bmControls 0x07 + Clock Frequency Control (read/write) + Clock Validity Control (read-only) + bAssocTerminal 0 + iClockSource 9 Audient Internal Clock + AudioControl Interface Descriptor: + bLength 8 + bDescriptorType 36 + bDescriptorSubtype 11 (CLOCK_SELECTOR) + bClockID 40 + bNrInPins 1 + baCSourceID(0) 41 + bmControls 0x03 + Clock Selector Control (read/write) + iClockSelector 8 Audient Clock Selector + AudioControl Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 2 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bCSourceID 40 + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 11 Analogue 1 + bmControls 0x0000 + iTerminal 6 EVO4 + AudioControl Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 9 (EXTENSION_UNIT) + bUnitID 51 + wExtensionCode 0x0000 + bNrInPins 2 + baSourceID(0) 2 + baSourceID(1) 1 + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 0 + bmControls 0x03 + Enable Control (read/write) + iExtension 0 + AudioControl Interface Descriptor: + bLength 26 + bDescriptorType 36 + bDescriptorSubtype 6 (FEATURE_UNIT) + bUnitID 10 + bSourceID 56 + bmaControls(0) 0x00000000 + bmaControls(1) 0x0000000c + Volume Control (read/write) + bmaControls(2) 0x0000000c + Volume Control (read/write) + bmaControls(3) 0x00000000 + bmaControls(4) 0x00000000 + iFeature 0 + AudioControl Interface Descriptor: + bLength 12 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 20 + wTerminalType 0x0301 Speaker + bAssocTerminal 0 + bSourceID 10 + bCSourceID 40 + bmControls 0x0000 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 1 + wTerminalType 0x0201 Microphone + bAssocTerminal 0 + bCSourceID 40 + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 15 Analogue 1 + bmControls 0x0000 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 9 (EXTENSION_UNIT) + bUnitID 58 + wExtensionCode 0x0000 + bNrInPins 1 + baSourceID(0) 1 + bNrChannels 0 + bmChannelConfig 0x00000000 + iChannelNames 0 + bmControls 0x00 + iExtension 0 + AudioControl Interface Descriptor: + bLength 26 + bDescriptorType 36 + bDescriptorSubtype 6 (FEATURE_UNIT) + bUnitID 11 + bSourceID 51 + bmaControls(0) 0x00000000 + bmaControls(1) 0x0000000c + Volume Control (read/write) + bmaControls(2) 0x0000000c + Volume Control (read/write) + bmaControls(3) 0x00000000 + bmaControls(4) 0x00000000 + iFeature 0 + AudioControl Interface Descriptor: + bLength 12 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 22 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bSourceID 11 + bCSourceID 40 + bmControls 0x0000 + iTerminal 7 EVO4 + AudioControl Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 9 (EXTENSION_UNIT) + bUnitID 56 + wExtensionCode 0x0000 + bNrInPins 2 + baSourceID(0) 1 + baSourceID(1) 2 + bNrChannels 2 + bmChannelConfig 0x00000000 + iChannelNames 0 + bmControls 0x00 + iExtension 0 + AudioControl Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 9 (EXTENSION_UNIT) + bUnitID 57 + wExtensionCode 0x0000 + bNrInPins 1 + baSourceID(0) 2 + bNrChannels 0 + bmChannelConfig 0x00000000 + iChannelNames 0 + bmControls 0x00 + iExtension 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0006 1x 6 bytes + bInterval 8 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 32 + iInterface 4 EVO4 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 1 + bNumEndpoints 2 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 32 + iInterface 4 EVO4 + AudioStreaming Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 2 + bmControls 0x00 + bFormatType 1 + bmFormats 0x00000001 + PCM + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 11 Analogue 1 + AudioStreaming Interface Descriptor: + bLength 6 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bSubslotSize 4 + bBitResolution 24 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x01 EP 1 OUT + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x00d0 1x 208 bytes + bInterval 1 + AudioStreaming Endpoint Descriptor: + bLength 8 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bmControls 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0008 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 17 + Transfer Type Isochronous + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 4 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 2 + bNumEndpoints 2 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 32 + iInterface 4 EVO4 + AudioStreaming Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 2 + bmControls 0x00 + bFormatType 1 + bmFormats 0x00000001 + PCM + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 11 Analogue 1 + AudioStreaming Interface Descriptor: + bLength 6 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bSubslotSize 2 + bBitResolution 16 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x01 EP 1 OUT + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0068 1x 104 bytes + bInterval 1 + AudioStreaming Endpoint Descriptor: + bLength 8 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bmControls 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0008 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 17 + Transfer Type Isochronous + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 4 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 32 + iInterface 5 EVO4 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 1 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 32 + iInterface 5 EVO4 + AudioStreaming Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 22 + bmControls 0x00 + bFormatType 1 + bmFormats 0x00000001 + PCM + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 15 Analogue 1 + AudioStreaming Interface Descriptor: + bLength 6 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bSubslotSize 4 + bBitResolution 24 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x82 EP 2 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x00d0 1x 208 bytes + bInterval 1 + AudioStreaming Endpoint Descriptor: + bLength 8 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bmControls 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0008 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 3 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 254 Application Specific Interface + bInterfaceSubClass 1 Device Firmware Update + bInterfaceProtocol 1 + iInterface 10 Audient DFU + Device Firmware Upgrade Interface Descriptor: + bLength 9 + bDescriptorType 33 + bmAttributes 7 + Will Not Detach + Manifestation Tolerant + Upload Supported + Download Supported + wDetachTimeout 250 milliseconds + wTransferSize 64 bytes + bcdDFUVersion 1.10 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x01a6 + bNumInterfaces 4 + bConfigurationValue 1 + iConfiguration 0 + bmAttributes 0x80 + (Bus Powered) + MaxPower 500mA + Interface Association: + bLength 8 + bDescriptorType 11 + bFirstInterface 0 + bInterfaceCount 3 + bFunctionClass 1 Audio + bFunctionSubClass 0 + bFunctionProtocol 32 + iFunction 0 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 1 Control Device + bInterfaceProtocol 32 + iInterface 3 EVO4 + AudioControl Interface Descriptor: + bLength 9 + bDescriptorType 36 + bDescriptorSubtype 1 (HEADER) + bcdADC 2.00 + bCategory 8 + wTotalLength 0x00d0 + bmControls 0x01 + Latency control Control (read-only) + AudioControl Interface Descriptor: + bLength 8 + bDescriptorType 36 + bDescriptorSubtype 10 (CLOCK_SOURCE) + bClockID 41 + bmAttributes 3 Internal programmable clock + bmControls 0x07 + Clock Frequency Control (read/write) + Clock Validity Control (read-only) + bAssocTerminal 0 + iClockSource 9 Audient Internal Clock + AudioControl Interface Descriptor: + bLength 8 + bDescriptorType 36 + bDescriptorSubtype 11 (CLOCK_SELECTOR) + bClockID 40 + bNrInPins 1 + baCSourceID(0) 41 + bmControls 0x03 + Clock Selector Control (read/write) + iClockSelector 8 Audient Clock Selector + AudioControl Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 2 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bCSourceID 40 + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 11 Analogue 1 + bmControls 0x0000 + iTerminal 6 EVO4 + AudioControl Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 9 (EXTENSION_UNIT) + bUnitID 51 + wExtensionCode 0x0000 + bNrInPins 2 + baSourceID(0) 2 + baSourceID(1) 1 + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 0 + bmControls 0x03 + Enable Control (read/write) + iExtension 0 + AudioControl Interface Descriptor: + bLength 26 + bDescriptorType 36 + bDescriptorSubtype 6 (FEATURE_UNIT) + bUnitID 10 + bSourceID 56 + bmaControls(0) 0x00000000 + bmaControls(1) 0x0000000c + Volume Control (read/write) + bmaControls(2) 0x0000000c + Volume Control (read/write) + bmaControls(3) 0x00000000 + bmaControls(4) 0x00000000 + iFeature 0 + AudioControl Interface Descriptor: + bLength 12 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 20 + wTerminalType 0x0301 Speaker + bAssocTerminal 0 + bSourceID 10 + bCSourceID 40 + bmControls 0x0000 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 2 (INPUT_TERMINAL) + bTerminalID 1 + wTerminalType 0x0201 Microphone + bAssocTerminal 0 + bCSourceID 40 + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 15 Analogue 1 + bmControls 0x0000 + iTerminal 0 + AudioControl Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 9 (EXTENSION_UNIT) + bUnitID 58 + wExtensionCode 0x0000 + bNrInPins 1 + baSourceID(0) 1 + bNrChannels 0 + bmChannelConfig 0x00000000 + iChannelNames 0 + bmControls 0x00 + iExtension 0 + AudioControl Interface Descriptor: + bLength 26 + bDescriptorType 36 + bDescriptorSubtype 6 (FEATURE_UNIT) + bUnitID 11 + bSourceID 51 + bmaControls(0) 0x00000000 + bmaControls(1) 0x0000000c + Volume Control (read/write) + bmaControls(2) 0x0000000c + Volume Control (read/write) + bmaControls(3) 0x00000000 + bmaControls(4) 0x00000000 + iFeature 0 + AudioControl Interface Descriptor: + bLength 12 + bDescriptorType 36 + bDescriptorSubtype 3 (OUTPUT_TERMINAL) + bTerminalID 22 + wTerminalType 0x0101 USB Streaming + bAssocTerminal 0 + bSourceID 11 + bCSourceID 40 + bmControls 0x0000 + iTerminal 7 EVO4 + AudioControl Interface Descriptor: + bLength 17 + bDescriptorType 36 + bDescriptorSubtype 9 (EXTENSION_UNIT) + bUnitID 56 + wExtensionCode 0x0000 + bNrInPins 2 + baSourceID(0) 1 + baSourceID(1) 2 + bNrChannels 2 + bmChannelConfig 0x00000000 + iChannelNames 0 + bmControls 0x00 + iExtension 0 + AudioControl Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 9 (EXTENSION_UNIT) + bUnitID 57 + wExtensionCode 0x0000 + bNrInPins 1 + baSourceID(0) 2 + bNrChannels 0 + bmChannelConfig 0x00000000 + iChannelNames 0 + bmControls 0x00 + iExtension 0 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0006 1x 6 bytes + bInterval 8 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 32 + iInterface 4 EVO4 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 1 + bNumEndpoints 2 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 32 + iInterface 4 EVO4 + AudioStreaming Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 2 + bmControls 0x00 + bFormatType 1 + bmFormats 0x00000001 + PCM + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 11 Analogue 1 + AudioStreaming Interface Descriptor: + bLength 6 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bSubslotSize 4 + bBitResolution 24 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x01 EP 1 OUT + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x00d0 1x 208 bytes + bInterval 1 + AudioStreaming Endpoint Descriptor: + bLength 8 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bmControls 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0008 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 17 + Transfer Type Isochronous + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 4 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 2 + bNumEndpoints 2 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 32 + iInterface 4 EVO4 + AudioStreaming Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 2 + bmControls 0x00 + bFormatType 1 + bmFormats 0x00000001 + PCM + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 11 Analogue 1 + AudioStreaming Interface Descriptor: + bLength 6 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bSubslotSize 2 + bBitResolution 16 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x01 EP 1 OUT + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x0068 1x 104 bytes + bInterval 1 + AudioStreaming Endpoint Descriptor: + bLength 8 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bmControls 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0008 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x81 EP 1 IN + bmAttributes 17 + Transfer Type Isochronous + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0004 1x 4 bytes + bInterval 4 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 32 + iInterface 5 EVO4 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 2 + bAlternateSetting 1 + bNumEndpoints 1 + bInterfaceClass 1 Audio + bInterfaceSubClass 2 Streaming + bInterfaceProtocol 32 + iInterface 5 EVO4 + AudioStreaming Interface Descriptor: + bLength 16 + bDescriptorType 36 + bDescriptorSubtype 1 (AS_GENERAL) + bTerminalLink 22 + bmControls 0x00 + bFormatType 1 + bmFormats 0x00000001 + PCM + bNrChannels 4 + bmChannelConfig 0x00000000 + iChannelNames 15 Analogue 1 + AudioStreaming Interface Descriptor: + bLength 6 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bSubslotSize 4 + bBitResolution 24 + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x82 EP 2 IN + bmAttributes 5 + Transfer Type Isochronous + Synch Type Asynchronous + Usage Type Data + wMaxPacketSize 0x00d0 1x 208 bytes + bInterval 1 + AudioStreaming Endpoint Descriptor: + bLength 8 + bDescriptorType 37 + bDescriptorSubtype 1 (EP_GENERAL) + bmAttributes 0x00 + bmControls 0x00 + bLockDelayUnits 2 Decoded PCM samples + wLockDelay 0x0008 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 3 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 254 Application Specific Interface + bInterfaceSubClass 1 Device Firmware Update + bInterfaceProtocol 1 + iInterface 10 Audient DFU + Device Firmware Upgrade Interface Descriptor: + bLength 9 + bDescriptorType 33 + bmAttributes 7 + Will Not Detach + Manifestation Tolerant + Upload Supported + Download Supported + wDetachTimeout 250 milliseconds + wTransferSize 64 bytes + bcdDFUVersion 1.10 +Device Qualifier (for other device speed): + bLength 10 + bDescriptorType 6 + bcdUSB 2.00 + bDeviceClass 0 + bDeviceSubClass 0 + bDeviceProtocol 0 + bMaxPacketSize0 64 + bNumConfigurations 1 +Device Status: 0x0000 + (Bus Powered) + +Bus 003 Device 003: ID 32ac:0002 Framework HDMI Expansion Card +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.01 + bDeviceClass 0 + bDeviceSubClass 0 + bDeviceProtocol 0 + bMaxPacketSize0 8 + idVendor 0x32ac + idProduct 0x0002 + bcdDevice 0.00 + iManufacturer 1 Framework + iProduct 2 HDMI Expansion Card + iSerial 3 11AD1D0001DB3E14313B0B00 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x002b + bNumInterfaces 2 + bConfigurationValue 1 + iConfiguration 4 Billboard Configuration + bmAttributes 0x80 + (Bus Powered) + MaxPower 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 0 + bInterfaceClass 17 + bInterfaceSubClass 0 + bInterfaceProtocol 0 + iInterface 5 HDMI Expansion Card + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 0 + bInterfaceProtocol 0 + iInterface 6 Control Interface + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.11 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 83 + 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 255 +Binary Object Store Descriptor: + bLength 5 + bDescriptorType 15 + wTotalLength 0x0050 + bNumDeviceCaps 3 + USB 2.0 Extension Device Capability: + bLength 7 + bDescriptorType 16 + bDevCapabilityType 2 + bmAttributes 0x00000000 + (Missing must-be-set LPM bit!) + Container ID Device Capability: + bLength 20 + bDescriptorType 16 + bDevCapabilityType 4 + bReserved 0 + ContainerID {00000000-0000-0000-0000-000000000000} + Billboard Capability: + bLength 48 + bDescriptorType 16 + bDevCapabilityType 13 + iAdditionalInfoURL 7 https://frame.work/FRACCDBZ?src=usbb + bNumberOfAlternateModes 1 + bPreferredAlternateMode 0 + VCONN Power 0 1W + bmConfigured 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + bcdVersion 1.10 + bAdditionalFailureInfo 0 + bReserved 0 + Alternate Modes supported by Device Container: + Alternate Mode 0 : Alternate Mode configuration successful + wSVID[0] 0xFF01 + bAlternateMode[0] 0 + iAlternateModeString[0] 8 Type-C Alternate Mode +Device Status: 0x0000 + (Bus Powered) + +Bus 003 Device 010: ID 04d9:4545 Holtek Semiconductor, Inc. Keyboard [Diatec Majestouch 2 Tenkeyless] +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 1.10 + bDeviceClass 0 + bDeviceSubClass 0 + bDeviceProtocol 0 + bMaxPacketSize0 8 + idVendor 0x04d9 Holtek Semiconductor, Inc. + idProduct 0x4545 Keyboard [Diatec Majestouch 2 Tenkeyless] + bcdDevice 1.05 + iManufacturer 0 + iProduct 2 USB Keyboard + iSerial 0 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x003b + 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 1 Boot Interface Subclass + bInterfaceProtocol 1 Keyboard + iInterface 0 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.10 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 62 + 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 0x0008 1x 8 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + 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 166 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x82 EP 2 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0008 1x 8 bytes + bInterval 1 +Device Status: 0x0000 + (Bus Powered) + +Bus 003 Device 006: ID 046d:0892 Logitech, Inc. C920 HD Pro Webcam +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.00 + bDeviceClass 239 Miscellaneous Device + bDeviceSubClass 2 + bDeviceProtocol 1 Interface Association + bMaxPacketSize0 64 + idVendor 0x046d Logitech, Inc. + idProduct 0x0892 C920 HD Pro Webcam + bcdDevice 0.19 + iManufacturer 0 + iProduct 2 HD Pro Webcam C920 + iSerial 1 4D257C6F + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x09c3 + 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 30.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) 3 + 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 16 + bNrInPins 1 + baSourceID( 0) 3 + bControlSize 3 + bmControls( 0) 0xf3 + bmControls( 1) 0xff + bmControls( 2) 0x03 + 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) 3 + bControlSize 2 + bmControls( 0) 0xaa + bmControls( 1) 0x0f + iExtension 0 + VideoControl Interface Descriptor: + bLength 28 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 11 + guidExtensionCode {ffe52d21-8030-4e2c-82d9-f587d00540bd} + bNumControls 3 + bNrInPins 1 + baSourceID( 0) 3 + bControlSize 3 + bmControls( 0) 0x00 + bmControls( 1) 0x41 + bmControls( 2) 0x01 + iExtension 0 + VideoControl Interface Descriptor: + bLength 26 + bDescriptorType 36 + bDescriptorSubtype 6 (EXTENSION_UNIT) + bUnitID 13 + guidExtensionCode {13612d26-5aaa-46c4-b13d-ff4d9a60db86} + bNumControls 1 + bNrInPins 1 + baSourceID( 0) 3 + bControlSize 1 + bmControls( 0) 0x02 + 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 0x86 EP 6 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 15 + bDescriptorType 36 + bDescriptorSubtype 1 (INPUT_HEADER) + bNumFormats 2 + wTotalLength 0x074d + bEndpointAddress 0x81 EP 1 IN + bmInfo 0 + bTerminalLink 4 + bStillCaptureMethod 0 + bTriggerSupport 0 + bTriggerUsage 0 + bControlSize 1 + bmaControls( 0) 0 + bmaControls( 1) 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 11 + bDescriptorType 36 + bDescriptorSubtype 6 (FORMAT_MJPEG) + bFormatIndex 2 + 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 0x1400 3x 1024 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 1 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 2 + bSubframeSize 2 + bBitResolution 16 + bSamFreqType 1 Discrete + tSamFreq[ 0] 16000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 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 1 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 2 + bSubframeSize 2 + bBitResolution 16 + bSamFreqType 1 Discrete + tSamFreq[ 0] 24000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 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 1 frames + wFormatTag 0x0001 PCM + AudioStreaming Interface Descriptor: + bLength 11 + bDescriptorType 36 + bDescriptorSubtype 2 (FORMAT_TYPE) + bFormatType 1 (FORMAT_TYPE_I) + bNrChannels 2 + bSubframeSize 2 + bBitResolution 16 + bSamFreqType 1 Discrete + tSamFreq[ 0] 32000 + Endpoint Descriptor: + bLength 9 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 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 +Device Qualifier (for other device speed): + bLength 10 + bDescriptorType 6 + bcdUSB 2.00 + bDeviceClass 239 Miscellaneous Device + bDeviceSubClass 2 + bDeviceProtocol 1 Interface Association + bMaxPacketSize0 64 + bNumConfigurations 1 +Device Status: 0x0000 + (Bus Powered) + +Bus 003 Device 004: ID 046d:c08b Logitech, Inc. G502 SE HERO Gaming Mouse +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.00 + bDeviceClass 0 + bDeviceSubClass 0 + bDeviceProtocol 0 + bMaxPacketSize0 64 + idVendor 0x046d Logitech, Inc. + idProduct 0xc08b G502 SE HERO Gaming Mouse + bcdDevice 27.02 + iManufacturer 1 Logitech + iProduct 2 G502 HERO Gaming Mouse + iSerial 3 158E39603038 + bNumConfigurations 1 + Configuration Descriptor: + bLength 9 + bDescriptorType 2 + wTotalLength 0x003b + bNumInterfaces 2 + bConfigurationValue 1 + iConfiguration 4 U127.02_B0008 + bmAttributes 0xa0 + (Bus Powered) + Remote Wakeup + MaxPower 300mA + 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 67 + 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 0x0008 1x 8 bytes + bInterval 1 + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 1 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 3 Human Interface Device + bInterfaceSubClass 0 + bInterfaceProtocol 0 + iInterface 0 + HID Device Descriptor: + bLength 9 + bDescriptorType 33 + bcdHID 1.11 + bCountryCode 0 Not supported + bNumDescriptors 1 + bDescriptorType 34 Report + wDescriptorLength 151 + Report Descriptors: + ** UNAVAILABLE ** + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x82 EP 2 IN + bmAttributes 3 + Transfer Type Interrupt + Synch Type None + Usage Type Data + wMaxPacketSize 0x0014 1x 20 bytes + bInterval 1 +Device Status: 0x0000 + (Bus Powered) + +Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 2.10 + bDeviceClass 9 Hub + bDeviceSubClass 0 + bDeviceProtocol 2 TT per port + bMaxPacketSize0 64 + idVendor 0x05e3 Genesys Logic, Inc. + idProduct 0x0610 Hub + bcdDevice 92.23 + iManufacturer 1 GenesysLogic + iProduct 2 USB2.0 Hub + 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 100mA + Interface Descriptor: + bLength 9 + bDescriptorType 4 + bInterfaceNumber 0 + bAlternateSetting 0 + bNumEndpoints 1 + bInterfaceClass 9 Hub + bInterfaceSubClass 0 + 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 + 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 +Binary Object Store Descriptor: + bLength 5 + bDescriptorType 15 + wTotalLength 0x002a + bNumDeviceCaps 3 + USB 2.0 Extension Device Capability: + bLength 7 + bDescriptorType 16 + bDevCapabilityType 2 + bmAttributes 0x00000006 + BESL Link Power Management (LPM) Supported + SuperSpeed USB Device Capability: + bLength 10 + bDescriptorType 16 + bDevCapabilityType 3 + bmAttributes 0x00 + wSpeedsSupported 0x000e + Device can operate at Full Speed (12Mbps) + Device can operate at High Speed (480Mbps) + Device can operate at SuperSpeed (5Gbps) + bFunctionalitySupport 1 + Lowest fully-functional device speed is Full Speed (12Mbps) + bU1DevExitLat 8 micro seconds + bU2DevExitLat 190 micro seconds + Container ID Device Capability: + bLength 20 + bDescriptorType 16 + bDevCapabilityType 4 + bReserved 0 + ContainerID {d667d696-4405-a542-9f29-f485e526bb58} +Hub Descriptor: + bLength 9 + bDescriptorType 41 + nNbrPorts 4 + wHubCharacteristic 0x00e0 + Ganged power switching + Ganged overcurrent protection + TT think time 32 FS bits + Port indicators + bPwrOn2PwrGood 50 * 2 milli seconds + bHubContrCurrent 100 milli Ampere + DeviceRemovable 0x00 + PortPwrCtrlMask 0xff + Hub Port Status: + Port 1: 0000.0103 power enable connect + Port 2: 0000.0503 highspeed power enable connect + Port 3: 0000.0303 lowspeed power enable connect + Port 4: 0000.0100 power +Device Status: 0x0001 + Self Powered + +Bus 003 Device 009: ID 8087:0032 Intel Corp. AX210 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 0x0032 AX210 Bluetooth + bcdDevice 0.00 + 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 +Binary Object Store Descriptor: + bLength 5 + bDescriptorType 15 + wTotalLength 0x000c + bNumDeviceCaps 1 + USB 2.0 Extension Device Capability: + bLength 7 + bDescriptorType 16 + bDevCapabilityType 2 + bmAttributes 0x0000040e + BESL Link Power Management (LPM) Supported + BESL value 1024 us +Device Status: 0x0001 + Self Powered + +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 + bDeviceProtocol 1 Single TT + bMaxPacketSize0 64 + idVendor 0x1d6b Linux Foundation + idProduct 0x0002 2.0 root hub + bcdDevice 5.19 + iManufacturer 3 Linux 5.19.17-2-MANJARO 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 + 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 +Hub Descriptor: + bLength 11 + bDescriptorType 41 + nNbrPorts 12 + wHubCharacteristic 0x000a + No power switching (usb 1.0) + Per-port overcurrent protection + TT think time 8 FS bits + bPwrOn2PwrGood 10 * 2 milli seconds + bHubContrCurrent 0 milli Ampere + DeviceRemovable 0x80 0x06 + PortPwrCtrlMask 0xff 0xff + Hub Port Status: + Port 1: 0000.0100 power + Port 2: 0000.0503 highspeed power enable connect + Port 3: 0000.0103 power enable connect + Port 4: 0000.0503 highspeed power enable connect + Port 5: 0000.0100 power + Port 6: 0000.0100 power + Port 7: 0000.0503 highspeed power enable connect + Port 8: 0000.0100 power + Port 9: 0000.0103 power enable connect + Port 10: 0000.0103 power enable connect + Port 11: 0000.0100 power + Port 12: 0000.0100 power +Device Status: 0x0001 + Self Powered + +Bus 002 Device 002: ID 05e3:0616 Genesys Logic, Inc. hub +Device Descriptor: + bLength 18 + bDescriptorType 1 + bcdUSB 3.00 + bDeviceClass 9 Hub + bDeviceSubClass 0 + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x05e3 Genesys Logic, Inc. + idProduct 0x0616 hub + bcdDevice 92.23 + iManufacturer 1 GenesysLogic + 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 + bInterfaceProtocol 0 Full speed (or root) hub + iInterface 1 GenesysLogic + Endpoint Descriptor: + bLength 7 + bDescriptorType 5 + bEndpointAddress 0x83 EP 3 IN + bmAttributes 19 + Transfer Type Interrupt + Synch Type None + Usage Type Feedback + wMaxPacketSize 0x0002 1x 2 bytes + bInterval 8 + bMaxBurst 0 +Binary Object Store Descriptor: + bLength 5 + bDescriptorType 15 + wTotalLength 0x002a + bNumDeviceCaps 3 + USB 2.0 Extension Device Capability: + bLength 7 + bDescriptorType 16 + bDevCapabilityType 2 + bmAttributes 0x00000006 + BESL Link Power Management (LPM) Supported + SuperSpeed USB Device Capability: + bLength 10 + bDescriptorType 16 + bDevCapabilityType 3 + bmAttributes 0x00 + wSpeedsSupported 0x000e + Device can operate at Full Speed (12Mbps) + Device can operate at High Speed (480Mbps) + Device can operate at SuperSpeed (5Gbps) + bFunctionalitySupport 1 + Lowest fully-functional device speed is Full Speed (12Mbps) + bU1DevExitLat 8 micro seconds + bU2DevExitLat 190 micro seconds + Container ID Device Capability: + bLength 20 + bDescriptorType 16 + bDevCapabilityType 4 + bReserved 0 + ContainerID {d667d696-4405-a542-9f29-f485e526bb58} +Hub Descriptor: + bLength 12 + bDescriptorType 42 + nNbrPorts 4 + wHubCharacteristic 0x0000 + Ganged power switching + Ganged overcurrent protection + bPwrOn2PwrGood 50 * 2 milli seconds + bHubContrCurrent 576 milli Ampere + bHubDecLat 0.0 micro seconds + wHubDelay 1248 nano seconds + DeviceRemovable 0x00 + Hub Port Status: + Port 1: 0000.02a0 5Gbps power Rx.Detect + Port 2: 0000.02a0 5Gbps power Rx.Detect + Port 3: 0000.02a0 5Gbps power Rx.Detect + Port 4: 0000.02a0 5Gbps power Rx.Detect +Device Status: 0x0001 + Self Powered + +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 + bDeviceProtocol 3 + bMaxPacketSize0 9 + idVendor 0x1d6b Linux Foundation + idProduct 0x0003 3.0 root hub + bcdDevice 5.19 + iManufacturer 3 Linux 5.19.17-2-MANJARO 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 + 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 +Binary Object Store Descriptor: + bLength 5 + bDescriptorType 15 + wTotalLength 0x003b + bNumDeviceCaps 2 + SuperSpeed USB Device Capability: + bLength 10 + bDescriptorType 16 + bDevCapabilityType 3 + bmAttributes 0x02 + Latency Tolerance Messages (LTM) Supported + wSpeedsSupported 0x0008 + Device can operate at SuperSpeed (5Gbps) + bFunctionalitySupport 1 + Lowest fully-functional device speed is Full Speed (12Mbps) + bU1DevExitLat 0 micro seconds + bU2DevExitLat 400 micro seconds + SuperSpeedPlus USB Device Capability: + bLength 44 + bDescriptorType 16 + bDevCapabilityType 10 + bmAttributes 0x00000067 + Sublink Speed Attribute count 8 + Sublink Speed ID count 4 + wFunctionalitySupport 0x1104 + Min functional Speed Attribute ID: 4 + Min functional RX lanes: 1 + Min functional TX lanes: 1 + bmSublinkSpeedAttr[0] 0x00050034 + Speed Attribute ID: 4 5Gb/s Symmetric RX SuperSpeed + bmSublinkSpeedAttr[1] 0x000500b4 + Speed Attribute ID: 4 5Gb/s Symmetric TX SuperSpeed + bmSublinkSpeedAttr[2] 0x000a4035 + Speed Attribute ID: 5 10Gb/s Symmetric RX SuperSpeedPlus + bmSublinkSpeedAttr[3] 0x000a40b5 + Speed Attribute ID: 5 10Gb/s Symmetric TX SuperSpeedPlus + bmSublinkSpeedAttr[4] 0x00054036 + Speed Attribute ID: 6 5Gb/s Symmetric RX SuperSpeedPlus + bmSublinkSpeedAttr[5] 0x000540b6 + Speed Attribute ID: 6 5Gb/s Symmetric TX SuperSpeedPlus + bmSublinkSpeedAttr[6] 0x000a4037 + Speed Attribute ID: 7 10Gb/s Symmetric RX SuperSpeedPlus + bmSublinkSpeedAttr[7] 0x000a40b7 + Speed Attribute ID: 7 10Gb/s Symmetric TX SuperSpeedPlus +Hub Descriptor: + bLength 12 + bDescriptorType 42 + nNbrPorts 4 + wHubCharacteristic 0x000a + No power switching (usb 1.0) + Per-port overcurrent protection + bPwrOn2PwrGood 50 * 2 milli seconds + bHubContrCurrent 0 milli Ampere + bHubDecLat 0.0 micro seconds + wHubDelay 0 nano seconds + DeviceRemovable 0x00 + Hub Port Status: + Port 1: 0000.0263 5Gbps power suspend enable connect + Ext Status: 0000.0044 + RX Speed Attribute ID: 4 Lanes: 1 + TX Speed Attribute ID: 4 Lanes: 1 + Port 2: 0000.02a0 5Gbps power Rx.Detect + Port 3: 0000.02a0 5Gbps power Rx.Detect + Port 4: 0000.02a0 5Gbps power Rx.Detect +Device Status: 0x0001 + Self Powered + +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 + bDeviceProtocol 1 Single TT + bMaxPacketSize0 64 + idVendor 0x1d6b Linux Foundation + idProduct 0x0002 2.0 root hub + bcdDevice 5.19 + iManufacturer 3 Linux 5.19.17-2-MANJARO 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 + 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 +Hub Descriptor: + bLength 9 + bDescriptorType 41 + nNbrPorts 1 + wHubCharacteristic 0x000a + No power switching (usb 1.0) + Per-port overcurrent protection + TT think time 8 FS bits + bPwrOn2PwrGood 10 * 2 milli seconds + bHubContrCurrent 0 milli Ampere + DeviceRemovable 0x00 + PortPwrCtrlMask 0xff + Hub Port Status: + Port 1: 0000.0100 power +Device Status: 0x0001 + Self Powered diff --git a/tests/test_lsusb.py b/tests/test_lsusb.py index e7693ca3..091228f1 100644 --- a/tests/test_lsusb.py +++ b/tests/test_lsusb.py @@ -34,6 +34,9 @@ class MyTests(unittest.TestCase): with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/lsusb-binary-object-store.out'), 'r', encoding='utf-8') as f: generic_lsusb_binary_object_store = f.read() + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/lsusb-extra-hub-port-status-info.out'), 'r', encoding='utf-8') as f: + generic_lsusb_extra_hub_port_status_info = f.read() + # output with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/lsusb.json'), 'r', encoding='utf-8') as f: centos_7_7_lsusb_json = json.loads(f.read()) @@ -56,6 +59,9 @@ class MyTests(unittest.TestCase): with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/lsusb-binary-object-store.json'), 'r', encoding='utf-8') as f: generic_lsusb_binary_object_store_json = json.loads(f.read()) + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/lsusb-extra-hub-port-status-info.json'), 'r', encoding='utf-8') as f: + generic_lsusb_extra_hub_port_status_info_json = json.loads(f.read()) + def test_lsusb_nodata(self): """ @@ -111,6 +117,12 @@ class MyTests(unittest.TestCase): """ self.assertEqual(jc.parsers.lsusb.parse(self.generic_lsusb_binary_object_store, quiet=True), self.generic_lsusb_binary_object_store_json) + def test_lsusb_extra_hub_port_status_info(self): + """ + Test 'lsusb -v' with extra information in the hub port status section + """ + self.assertEqual(jc.parsers.lsusb.parse(self.generic_lsusb_extra_hub_port_status_info, quiet=True), self.generic_lsusb_extra_hub_port_status_info_json) + if __name__ == '__main__': unittest.main()