I know that the best option would be to use the manufacturer’s website, but let’s see what we can do with our knowledge about Linux since the manufacturer doesn’t care about …
I was able to compile and install the ms912x ( GitHub - rhgndf/ms912x: MacroSilicon USB to VGA/HDMI adapter (534d:6021) Linux DRM driver ) driver for Device 534d:6021 (USB 3.0 to HDMI Adapter). However, I have the following problems and would like some help so that we can diagnose what is happening together and, if possible, resolve it:
-
The device is recognized, but the screen is completely dark.
-
If I restart OS, then the driver no longer works. I have to reinstall.
OS: Manjaro Linux (Linux Kernel 6.5.5)
MANUFACTURER PRODUCT CODES: MT-UH02, MT-UV02 .
NOTE: When I try to activate the ms912x connected monitor, the other monitors are unconfigured for a moment and then the ms912x connected monitor is deactivated.
PLUS I: This fork contains implementations that are not available in ms912x driver repository ( GitHub - nunesbns/ms912x at kernel-6-support ).
PLUS II: Here ( https://askubuntu.com/a/1488791/134723 ) there is an interesting forum about the ms912x driver.
lsusb
output…
Bus 001 Device 010: ID 534d:6021 MacroSilicon VGA Display Adapter
Commands I’m using to compile and install the ms912x driver…
cd "./ms912x"
make clean
make all -j
sudo rmmod ms912x 2>/dev/null
sudo modprobe drm_shmem_helper
sudo insmod ms912x.ko
journalctl -k | grep ms912x # To confirm the instalation.
Thanks!
SOME REFERENCES:
https://askubuntu.com/a/1488791/134723
https://askubuntu.com/q/1488474/134723
UPDATE I:
I reproduce the process on a clean Manjaro KDE (23.0.4, linux65) installation. Same problem…
If we had some log output to be able to handle this problem… Then we would have some starting point to find out what happens…
Just to clarify further, this device uses the Macrosilicon MS9122 chipset ( Semiconductor integrated circuit,analog digital,audio and video signal processing - macrosilicon.com - Products - Chips - MS9122 , https://blog.csdn.net/YOU_SeMi/article/details/125105651 ).
Here’s a photo and the purchase link…
UPDATE II:
The journalctl -k | grep ms912x
output…
out 20 16:35:49 eduardolac-pc kernel: usbcore: registered new interface driver ms912x
out 20 16:37:07 eduardolac-pc kernel: [drm] Initialized ms912x 0.0.1 20220101 for 1-4:1.3 on minor 2
out 20 16:37:07 eduardolac-pc kernel: ms912x 1-4:1.3: [drm] Cannot find any crtc or sizes
out 20 16:37:07 eduardolac-pc kernel: ms912x 1-4:1.3: [drm] Cannot find any crtc or sizes
out 20 16:37:08 eduardolac-pc kernel: ms912x 1-4:1.3: [drm] fb1: ms912xdrmfb frame buffer device
My last "ms912x" driver installation did not cause "video crash", but the monitor screen remained black.
UPDATE III:
The lsusb -v
output…
Bus 001 Device 006: ID 534d:6021 MacroSilicon VGA Display Adapter
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x534d MacroSilicon
idProduct 0x6021 VGA Display Adapter
bcdDevice 1.10
iManufacturer 1 USB Display
iProduct 2 usb extscreen
iSerial 3 2019BA7160B0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x00a2
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
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 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 16
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 1
bInterfaceCount 2
bFunctionClass 1 Audio
bFunctionSubClass 1 Control Device
bFunctionProtocol 0
iFunction 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 4
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 0x002b
bInCollection 1
baInterfaceNr(0) 2
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 13
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 2
bSourceID 1
bControlSize 2
bmaControls(0) 0x0001
Mute Control
bmaControls(1) 0x0000
bmaControls(2) 0x0000
iFeature 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0301 Speaker
bAssocTerminal 0
bSourceID 2
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 4
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 4
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
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 0x03 EP 3 OUT
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 4
bRefresh 0
bSynchAddress 0
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 3
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0