Macrosilicon MS2131 Dongle - Magewell Clone, Weird USB A - A
I picked up one of these for 16.99€ on eBay.
This one looks promising, as it advertises support for YUV 4:2:2
running at a very high bit rate on a USB 3 SuperSpeed connection.
tl;dr:
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 1
bmCapabilities 0x00
Still image unsupported
wWidth 1920
wHeight 1080
dwMinBitRate 331776000
dwMaxBitRate 1990656000
dwMaxVideoFrameBufferSize 4147200
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
The max bit rate and the max frame buffer size line up with 1080p60 @ 16bpp,
which should be decent, though it'd be nice if they went ahead and bumped that
up to uncompressed 24bpp, this would fit into USB 3 bandwidth.
Here's a video sample.
$ ffmpeg -f v4l2 -list_formats all -i /dev/video4
[in#0 @ 0x562b73f2df00] Raw : yuyv422 : YUYV 4:2:2 : 1920x1080 1600x1200 1360x768 1280x1024 1280x960 1280x720 1024x768 800x600 720x576 720x480 640x480
[in#0 @ 0x562b73f2df00] Compressed: mjpeg : Motion-JPEG : 1920x1080 1600x1200 1360x768 1280x1024 1280x960 1280x720 1024x768 800x600 720x576 720x480 640x480
$ ffmpeg -framerate 60 -f v4l2 -input_format mjpeg -video_size 1920x1080 -i /dev/video4 -c:v copy -an -t 8 /tmp/output-mjpeg.mkv
$ ffmpeg -framerate 60 -f v4l2 -input_format yuyv422 -video_size 1920x1080 -i /dev/video4 -c:v copy -an -t 8 /tmp/output-yuyv422.mkv
$ ls -l *.mkv
-rw-r--r-- 1 max max 106655096 Apr 29 00:33 output-mjpeg.mkv
-rw-r--r-- 1 max max 1990679247 Apr 29 00:33 output-yuyv422.mkv
$ ffprobe output-mjpeg.mkv
ffprobe version n8.1 Copyright (c) 2007-2026 the FFmpeg developers
built with gcc 15.2.1 (GCC) 20260209
Input #0, matroska,webm, from 'output-mjpeg.mkv':
Metadata:
ENCODER : Lavf62.12.100
Duration: 00:00:08.02, start: 0.017000, bitrate: 106428 kb/s
Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 1920x1080, 60 fps, 60 tbr, 1k tbn, start 0.017000
Metadata:
DURATION : 00:00:08.017000000
$ ffprobe output-yuyv422.mkv
ffprobe version n8.1 Copyright (c) 2007-2026 the FFmpeg developers
built with gcc 15.2.1 (GCC) 20260209
Input #0, matroska,webm, from 'output-yuyv422.mkv':
Metadata:
ENCODER : Lavf62.12.100
Duration: 00:00:08.02, start: 0.017000, bitrate: 1986458 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 60 fps, 60 tbr, 1k tbn, start 0.017000
Metadata:
DURATION : 00:00:08.017000000
First frame of MJPEG as PNG:

Link: 20260427-hdmi-to-usb-uvc-dongle-3-output-mjpeg.png
First frame of YUYV422 as PNG:

Link: 20260427-hdmi-to-usb-uvc-dongle-3-output-yuyv422.png
This one does have a weird USB A - USB A cable that will be a pain to keep around.
Why are they not using USB-C everywhere for this?




Rather than futz with that, I could also just use a USB A - USB-C cable, flipped around.
i.e. Plug the USB-C side into my laptop and the USB A side into the device.
This is the reverse of how things normally look, but I hopefully assume that this thing doesn't have idiotic wiring that causes a short.
None of that worked.
This is also an example of where Chinese-led copycat design doesn't make sense, they basically cloned the way the Magewell capture box looked, for no reason at all, instead of using a USB-C device socket like every other sensible device out there.













It's a Macrosilicon MS2131 chip.
Here's what dmesg says:
[528138.039429] usb 2-1: new SuperSpeed USB device number 8 using xhci_hcd
[528138.065211] usb 2-1: LPM exit latency is zeroed, disabling LPM.
[528138.087938] usb 2-1: New USB device found, idVendor=345f, idProduct=2131, bcdDevice=31.00
[528138.087946] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[528138.087949] usb 2-1: Product: USB3 Video
[528138.087952] usb 2-1: Manufacturer: UltraSemi
[528138.087955] usb 2-1: SerialNumber: 75556464
[528138.141082] uvcvideo 2-1:1.0: Found UVC 1.00 device USB3 Video (345f:2131)
[528138.239106] hid-generic 0003:345F:2131.001B: hiddev96,hidraw1: USB HID v1.10 Device [UltraSemi USB3 Video] on usb-0000:64:00.3-1/input4
Here's what lsusb says:
$ lsusb -tv
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/2p, 10000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
|__ Port 001: Dev 008, If 0, Class=Video, Driver=uvcvideo, 5000M
ID 345f:2131
|__ Port 001: Dev 008, If 1, Class=Video, Driver=uvcvideo, 5000M
ID 345f:2131
|__ Port 001: Dev 008, If 2, Class=Audio, Driver=snd-usb-audio, 5000M
ID 345f:2131
|__ Port 001: Dev 008, If 3, Class=Audio, Driver=snd-usb-audio, 5000M
ID 345f:2131
|__ Port 001: Dev 008, If 4, Class=Human Interface Device, Driver=usbhid, 5000M
ID 345f:2131
$ sudo lsusb -v -s 002:008
Bus 002 Device 008: ID 345f:2131 UltraSemi USB3 Video
Negotiated speed: SuperSpeed (5Gbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 3.20
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 [unknown]
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 9
idVendor 0x345f UltraSemi
idProduct 0x2131 USB3 Video
bcdDevice 31.00
iManufacturer 1 UltraSemi
iProduct 2 USB3 Video
iSerial 3 75556464
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0528
bNumInterfaces 5
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 512mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 2
bFunctionClass 14 Video
bFunctionSubClass 3 Video Interface Collection
bFunctionProtocol 0
iFunction 2 USB3 Video
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 14 Video
bInterfaceSubClass 1 Video Control
bInterfaceProtocol 0
iInterface 2 USB3 Video
VideoControl Interface Descriptor:
bLength 13
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdUVC 1.00
wTotalLength 0x0033
dwClockFrequency 125.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 0x00000000
VideoControl Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 5 (PROCESSING_UNIT)
Warning: Descriptor too short
bUnitID 2
bSourceID 1
wMaxMultiplier 16384
bControlSize 2
bmControls 0x0000000f
Brightness
Contrast
Hue
Saturation
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 2
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 14 Video
bInterfaceSubClass 2 Video Streaming
bInterfaceProtocol 0
iInterface 0
VideoStreaming Interface Descriptor:
bLength 15
bDescriptorType 36
bDescriptorSubtype 1 (INPUT_HEADER)
bNumFormats 2
wTotalLength 0x0435
bEndpointAddress 0x83 EP 3 IN
bmInfo 0
bTerminalLink 3
bStillCaptureMethod 0
bTriggerSupport 0
bTriggerUsage 0
bControlSize 1
bmaControls( 0) 0
bmaControls( 1) 0
VideoStreaming Interface Descriptor:
bLength 27
bDescriptorType 36
bDescriptorSubtype 4 (FORMAT_UNCOMPRESSED)
bFormatIndex 2
bNumFrameDescriptors 11
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 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 1
bmCapabilities 0x00
Still image unsupported
wWidth 1920
wHeight 1080
dwMinBitRate 331776000
dwMaxBitRate 1990656000
dwMaxVideoFrameBufferSize 4147200
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 2
bmCapabilities 0x00
Still image unsupported
wWidth 1600
wHeight 1200
dwMinBitRate 307200000
dwMaxBitRate 1843200000
dwMaxVideoFrameBufferSize 3840000
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 3
bmCapabilities 0x00
Still image unsupported
wWidth 1360
wHeight 768
dwMinBitRate 167116800
dwMaxBitRate 1002700800
dwMaxVideoFrameBufferSize 2088960
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 4
bmCapabilities 0x00
Still image unsupported
wWidth 1280
wHeight 1024
dwMinBitRate 209715200
dwMaxBitRate 1258291200
dwMaxVideoFrameBufferSize 2621440
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 5
bmCapabilities 0x00
Still image unsupported
wWidth 1280
wHeight 960
dwMinBitRate 196608000
dwMaxBitRate 1179648000
dwMaxVideoFrameBufferSize 2457600
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 6
bmCapabilities 0x00
Still image unsupported
wWidth 1280
wHeight 720
dwMinBitRate 147456000
dwMaxBitRate 884736000
dwMaxVideoFrameBufferSize 1843200
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 7
bmCapabilities 0x00
Still image unsupported
wWidth 1024
wHeight 768
dwMinBitRate 125829120
dwMaxBitRate 754974720
dwMaxVideoFrameBufferSize 1572864
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 8
bmCapabilities 0x00
Still image unsupported
wWidth 800
wHeight 600
dwMinBitRate 76800000
dwMaxBitRate 460800000
dwMaxVideoFrameBufferSize 960000
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 9
bmCapabilities 0x00
Still image unsupported
wWidth 720
wHeight 576
dwMinBitRate 66355200
dwMaxBitRate 398131200
dwMaxVideoFrameBufferSize 829440
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 10
bmCapabilities 0x00
Still image unsupported
wWidth 720
wHeight 480
dwMinBitRate 55296000
dwMaxBitRate 331776000
dwMaxVideoFrameBufferSize 691200
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 5 (FRAME_UNCOMPRESSED)
bFrameIndex 11
bmCapabilities 0x00
Still image unsupported
wWidth 640
wHeight 480
dwMinBitRate 49152000
dwMaxBitRate 294912000
dwMaxVideoFrameBufferSize 614400
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
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 1
bNumFrameDescriptors 11
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 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 1
bmCapabilities 0x00
Still image unsupported
wWidth 1920
wHeight 1080
dwMinBitRate 331776000
dwMaxBitRate 1990656000
dwMaxVideoFrameBufferSize 4147200
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 2
bmCapabilities 0x00
Still image unsupported
wWidth 1600
wHeight 1200
dwMinBitRate 307200000
dwMaxBitRate 1843200000
dwMaxVideoFrameBufferSize 3840000
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 3
bmCapabilities 0x00
Still image unsupported
wWidth 1360
wHeight 768
dwMinBitRate 167116800
dwMaxBitRate 1002700800
dwMaxVideoFrameBufferSize 2088960
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 4
bmCapabilities 0x00
Still image unsupported
wWidth 1280
wHeight 1024
dwMinBitRate 209715200
dwMaxBitRate 1258291200
dwMaxVideoFrameBufferSize 2621440
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 5
bmCapabilities 0x00
Still image unsupported
wWidth 1280
wHeight 960
dwMinBitRate 196608000
dwMaxBitRate 1179648000
dwMaxVideoFrameBufferSize 2457600
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 6
bmCapabilities 0x00
Still image unsupported
wWidth 1280
wHeight 720
dwMinBitRate 147456000
dwMaxBitRate 884736000
dwMaxVideoFrameBufferSize 1843200
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 7
bmCapabilities 0x00
Still image unsupported
wWidth 1024
wHeight 768
dwMinBitRate 125829120
dwMaxBitRate 754974720
dwMaxVideoFrameBufferSize 1572864
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 8
bmCapabilities 0x00
Still image unsupported
wWidth 800
wHeight 600
dwMinBitRate 76800000
dwMaxBitRate 460800000
dwMaxVideoFrameBufferSize 960000
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 9
bmCapabilities 0x00
Still image unsupported
wWidth 720
wHeight 576
dwMinBitRate 66355200
dwMaxBitRate 398131200
dwMaxVideoFrameBufferSize 829440
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 10
bmCapabilities 0x00
Still image unsupported
wWidth 720
wHeight 480
dwMinBitRate 55296000
dwMaxBitRate 331776000
dwMaxVideoFrameBufferSize 691200
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 46
bDescriptorType 36
bDescriptorSubtype 7 (FRAME_MJPEG)
bFrameIndex 11
bmCapabilities 0x00
Still image unsupported
wWidth 640
wHeight 480
dwMinBitRate 49152000
dwMaxBitRate 294912000
dwMaxVideoFrameBufferSize 614400
dwDefaultFrameInterval 166666
bFrameIntervalType 5
dwFrameInterval( 0) 166666
dwFrameInterval( 1) 200000
dwFrameInterval( 2) 333333
dwFrameInterval( 3) 500000
dwFrameInterval( 4) 1000000
VideoStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 13 (COLORFORMAT)
bColorPrimaries 1 (BT.709,sRGB)
bTransferCharacteristics 1 (BT.709)
bMatrixCoefficients 4 (SMPTE 170M (BT.601))
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0400 1x 1024 bytes
bInterval 0
bMaxBurst 15
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 2
bInterfaceCount 2
bFunctionClass 1 Audio
bFunctionSubClass 2 Streaming
bFunctionProtocol 0
iFunction 4 USB3 Digital Audio
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 4 USB3 Digital Audio
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 0x0602 Digital Audio Interface
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 2
bSourceID 1
bControlSize 1
bmaControls(0) 0x01
Mute Control
iFeature 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 2
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 4 USB3 Digital Audio
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 4 USB3 Digital Audio
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 3
bDelay 0 frames
wFormatTag 0x0001 PCM
AudioStreaming Interface Descriptor:
bLength 11
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 1 Discrete
tSamFreq[ 0] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x00c0 1x 192 bytes
bInterval 4
bRefresh 0
bSynchAddress 0
bMaxBurst 0
wBytesPerInterval 192
AudioStreaming Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0x0000
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 4
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 33 US
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 23
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 16
bMaxBurst 0
wBytesPerInterval 64
Binary Object Store Descriptor:
bLength 5
bDescriptorType 15
wTotalLength 0x0016
bNumDeviceCaps 2
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 0 micro seconds
bU2DevExitLat 0 micro seconds
Device Status: 0x0000
(Bus Powered)
Here's what v4l2-ctl says about the devices:
$ v4l2-ctl --list-devices
USB3 Video: USB3 Video (usb-0000:64:00.3-1):
/dev/video4
/dev/video5
/dev/media2
Integrated Camera: Integrated C (usb-0000:64:00.4-1):
/dev/video0
/dev/video1
/dev/video2
/dev/video3
/dev/media0
/dev/media1
$ v4l2-ctl -d /dev/video4 --list-formats
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'YUYV' (YUYV 4:2:2)
[1]: 'MJPG' (Motion-JPEG, compressed)
$ v4l2-ctl -d /dev/video5 --list-formats
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
$ v4l2-ctl -d /dev/video4 --all
Driver Info:
Driver name : uvcvideo
Card type : USB3 Video: USB3 Video
Bus info : usb-0000:64:00.3-1
Driver version : 6.19.12
Capabilities : 0x84a00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Media Driver Info:
Driver name : uvcvideo
Model : USB3 Video: USB3 Video
Serial : 75556464
Bus info : usb-0000:64:00.3-1
Media version : 6.19.12
Hardware revision: 0x00003100 (12544)
Driver version : 6.19.12
Interface Info:
ID : 0x03000002
Type : V4L Video
Entity Info:
ID : 0x00000001 (1)
Name : USB3 Video: USB3 Video
Function : V4L2 I/O
Flags : default
Pad 0x01000007 : 0: Sink
Link 0x0200000d: from remote pad 0x100000a of entity 'Processing 2' (Video Pixel Formatter): Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : 'MJPG' (Motion-JPEG)
Field : None
Bytes per Line : 0
Size Image : 4147200
Colorspace : sRGB
Transfer Function : Rec. 709
YCbCr/HSV Encoding: ITU-R 601
Quantization : Default (maps to Full Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 1920, Height 1080
Default : Left 0, Top 0, Width 1920, Height 1080
Pixel Aspect: 1/1
Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags:
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
User Controls
brightness 0x00980900 (int) : min=0 max=100 step=1 default=50 value=50 flags=has-min-max
contrast 0x00980901 (int) : min=0 max=100 step=1 default=50 value=50 flags=has-min-max
saturation 0x00980902 (int) : min=0 max=100 step=1 default=50 value=50 flags=has-min-max
hue 0x00980903 (int) : min=0 max=100 step=1 default=50 value=50 flags=has-min-max
$ v4l2-ctl -d /dev/video5 --all
Driver Info:
Driver name : uvcvideo
Card type : USB3 Video: USB3 Video
Bus info : usb-0000:64:00.3-1
Driver version : 6.19.12
Capabilities : 0x84a00001
Video Capture
Metadata Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04a00000
Metadata Capture
Streaming
Extended Pix Format
Media Driver Info:
Driver name : uvcvideo
Model : USB3 Video: USB3 Video
Serial : 75556464
Bus info : usb-0000:64:00.3-1
Media version : 6.19.12
Hardware revision: 0x00003100 (12544)
Driver version : 6.19.12
Interface Info:
ID : 0x03000005
Type : V4L Video
Entity Info:
ID : 0x00000004 (4)
Name : USB3 Video: USB3 Video
Function : V4L2 I/O
Priority: 2
Format Metadata Capture:
Sample Format : 'UVCH' (UVC Payload Header Metadata)
Buffer Size : 10240
US32VF030A5 Chip
There's another microcontroller on this USB dongle, the US32V030A5, a Chinese-built chip from UltraSemi which adopts the part naming scheme that originated from STMicroelectronics.
There's an unpopulated 4 x 0.1" header that leads to this chip, which has 3v3, GND, and two other pins.
I would guess that those two other pins could be either UART TX / RX, or SWDIO / SWCLK serial-wire debugging pins a la ARM Cortex-M, either type of bus could be used for programming the chip. I'd be interested in dumping the flash, if it is readable.
This chip has very little documentation online, one of which is this page.
I'm copying the English translation here for posterity:
US32VF030
The US32VF030A5 is an ultra-low power, Low Pin Count, and wide voltage operating range
(3.0V~5.0V) microcontroller with an embedded 32-bit RISC-V core. It can run up to 96MHz,
has a built-in 160K byte embedded Flash, a 28K byte SRAM, and integrates high-altitude
peripheral interfaces such as ADC, RTC, multi-way UART, SPI, I2C, PWM, and IIS. It has
the characteristics of high integration, high anti-interference and high reliability.
Functional characteristics
CPU and IO
32-bit high-performance CPU;
Programmable pull-up and pull-down GPIO pins;
Support GPIO wakeup or interrupt;
Memory
160K byte embedded Flash with write protection
128K bytes of SRAM
Audio interface
High-performance stereo DAC, SNR: 95dB;
High-performance mono ADC, SNR: 90dB;
Support EQ regulation;
Support MIC input;
Supports sampling rates of 8KHz, 11.025KHz, 12KHz, 16KHz, and 22. IIS outputs at 05KHz, 32KHz, 44.1KHz, and 48KHz;
Supports IIS inputs with sampling rates of 8KHz, 11.025KHz, 12KHz, 16KHz, 22.05KHz, 32KHz, 44.1KHz, 48KHz, 88.2KHz, 96KHz, 176KHz, and 192KHz;
a four-channel stereo analog multiplexer;
Peripherals and interfaces
2 32-bit timers;
2 multifunctional 32-bit timers, supporting input capture and PWM output;
1 watchdog
2 full-duplex UARTs;
2 SPIs;
1 infrared controller;
IRTC;
Built-in PMU
1 SD card host controller;
16-channel 10-bit SAR ADC;
Ambient temperature
Operating temperature: -40 ℃to +85℃;
Storage temperature: -65 ℃to +150℃;
Encapsulation
SSOP24
Lead-free, RoHS compliant
Functional block diagram

Chip Shot

T25S40 Serial NOR Flash Chip
There's one piece of Serial NOR Flash on this board as well, which stores the program and configuration data for the MS2131 chip.

It should be possible to use a logic analyzer and intercept the chip readout at power-on reset.