HDMI from baseus usb-c pd hub wont work on 20.04

I'm using a Baseus usb-c hub with PD. I don't know the model, but it's this one:

enter image description here

I'm on Ubuntu 20.04 with kernel 5.10.0-051000rc6-lowlatency. Everything works except for HDMI. I plug the cable and nothing happens on the TV.

lz@xps13:~$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 031: ID 2109:8817 VIA Labs, Inc. 
Bus 003 Device 030: ID 1050:0407 Yubico.com Yubikey 4 OTP+U2F+CCID
Bus 003 Device 029: ID 045e:07fd Microsoft Corp. Nano Transceiver 1.1
Bus 003 Device 028: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 003 Device 027: ID 2109:2817 VIA Labs, Inc. USB2.0 Hub             
Bus 003 Device 004: ID 0c45:672a Microdia Integrated_Webcam_HD
Bus 003 Device 003: ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
Bus 003 Device 002: ID 27c6:533c Shenzhen Goodix Technology Co.,Ltd. FingerPrint
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I think the usb hub is this thing called VIA labs.

How can I debug this problem and make HDMI work?

It's a Dell XPS 13 9310. I do not have an HDMI only usb adapter to test, and it does not have HDMI output.

UPDATE:

lz@xps13:~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 3: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 4: Dev 3, If 0, Class=Vendor Specific Class, Driver=mt7601u, 480M
    |__ Port 6: Dev 4, If 3, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 4, If 2, Class=Video, Driver=uvcvideo, 480M
    |__ Port 6: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 27, If 0, Class=Hub, Driver=hub/5p, 480M
        |__ Port 1: Dev 28, If 0, Class=Vendor Specific Class, Driver=r8152, 480M
        |__ Port 2: Dev 29, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 29, If 2, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 2: Dev 29, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 3: Dev 30, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 3: Dev 30, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 3: Dev 30, If 2, Class=Chip/SmartCard, Driver=, 12M
        |__ Port 4: Dev 36, If 0, Class=Vendor Specific Class, Driver=usbfs, 480M
        |__ Port 4: Dev 36, If 1, Class=Vendor Specific Class, Driver=usbfs, 480M
        |__ Port 5: Dev 31, If 0, Class=, Driver=, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M

UPDATE:

Ubuntu 21.04 fixes this problem. However, I can't use it because my VMs get slow there, I don't know why. Is there a way to update some things in Ubuntu 20.04 so I can benefit from the changes?

PS: on ubuntu 20.04, the problem happens only if the second monitor resolution is high, like 4K. For less resolution, it won't. Maybe it has something to do with bandwidth.


Solution 1:

I think in your case you are lucky.

Not all the laptops having USB-C support video over it. It happens the same to me on a Hp laptop. I saw one message on Dell support site reporting the same problem with 5 different USB devices. https://www.dell.com/community/XPS/XPS-13-9310-not-working-with-USB-C-to-USB-A-HDMI-adapter/m-p/7771169

But on the 5th link I found a solution.

I found another message in Dell support site for your model where they were able to connect both monitors, one by HDMI and the other by USB-C dongle after updating the BIOS. https://www.dell.com/community/XPS/External-USB-C-Dock-Question-XPS-13-9310/td-p/7765095

Here you have the link to the BIOS update: https://www.dell.com/support/home/us-en/drivers/driversdetails?driverid=c77dm Version: 1.1.1 From: 2020-Oct-28 The description says that fixes issues with Intel graphics output. Please, be very careful when upgrading the Firmware. Is a very delicate process. Do it with plenty battery and connected to electricity to avoid interruptions in the process.

Hope it works. Good luck.

Cheers.

Solution 2:

Similar problem with Ubuntu 20.04 running on a HP Zbook and connected to a Baseus "6 in 1 Multifunctional Type-C HUB Dockingstation". My ACER 27" Display connected to the HDMI port of the Baseus docking station worked for some time before eventually becoming black.

Unplugging the display and restarting the computer helped for a short while before the display went black again. Upgrading to Ubuntu 21.04 did not change the behavior.

Only after setting the monitor's refresh rate from its default value (74.60 Hz) to its slower option (59.95 Hz) the problem got resolved.