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

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
Get this bounty!!!