2

Summary

Two monitors daisy chained to a port replicator via DisplayPort are not recognized as output via USB Type-C interface using Kernel 5.8.0-1 in OpenSuse Tumbleweed. I've tested various combination (single Displayport, HDMI-Port) and the only thing that works is when I plug in the monitor directly to a HDMI output on my monitor.

Setup

OS: OpenSuse Tumbleweed

Kernel: 5.8.0-1-default

Hardware:

Sorry for the German sites. I was unable to find localized English product pages. Seems like these things are only marketed in Germany.

Details

I have my Lifebook connected via the one and only USB Type-C port to the "recommended" Port Replicator. Connected to this is my mouse, keyboard, audio and even ethernet. All works fine. Additionally, I have my two monitors daisy chained (so one monitor connected to the other, and that one connected to the port replicator) via DisplayPort. I have activated DP1.2 in the monitors settings. I tried all different combinations how I can plug in the monitor with the few monitor settings available and nothing works. The only thing that does work is directly plugging in the monitor to my laptop. But since I only have one HDMI (and one VGA port) this isn't a really good solution for two monitors.

What have I tried

Besides the stuff I described above, I tried to contact the official support, which didn't help much ("We don't support Linux!"). You can read it here. To recap, I thought it may be that the cable/USB Type-C port does not support video output. I asked and after a while support told me that indeed the laptops USB-C port does not support video output. BUT then one day I got to work, plugged in the USB-C cable into my laptop and before I was able to plug in the HDMI-cable both monitors awoke and turned on. It suddenly worked flawlessly. That was until I left for a meeting without my laptop and left plugged in. When I came back everything went to sleep mode but now the monitors didn't woke up no matter what I tried. Back to the HDMI cable it was.

I am now sure that the support doesn't know what he/she was talking about and this indeed can work, because how else should it have worked suddenly?

Since then Tumbleweed had some kernel updates and general updates and I do believe that something changed and back then some settings were just right for it to work. Besides updates, I changed only one thing and that is to load the kernel module "typec_displayport", which wasn't loaded at boot for some reasons.

Further, I looked at the following sources/solutions with no luck:

At this point I have no further idea what I can do.

Question

Is there any configuration option that I missed? I can't find many information about the TYPEC_DP_ALTMODE driver in the linux kernel. I assume that the USB-C port does not automatically configure itself to use DP_Altmode. Is there a way to force this?

Additional Information

Some additional informations for you guys/girls that may help you more

  • lsmod output of typec:
x@y:~> sudo lsmod | grep typec
typec_ucsi             40960  1 ucsi_acpi
typec_displayport      16384  0
typec                  53248  2 typec_displayport,typec_ucsi
  • kernel config:
x@x:~> cat /boot/config-5.8.0-1-default | grep TYPEC
CONFIG_TYPEC=m
CONFIG_TYPEC_TCPM=m
CONFIG_TYPEC_TCPCI=m
CONFIG_TYPEC_RT1711H=m
CONFIG_TYPEC_FUSB302=m
CONFIG_TYPEC_WCOVE=m
CONFIG_TYPEC_UCSI=m
CONFIG_TYPEC_HD3SS3220=m
CONFIG_TYPEC_TPS6598X=m
CONFIG_TYPEC_MUX_PI3USB30532=m
CONFIG_TYPEC_MUX_INTEL_PMC=m
CONFIG_TYPEC_DP_ALTMODE=m
CONFIG_TYPEC_NVIDIA_ALTMODE=m
CONFIG_CROS_EC_TYPEC=m
  • xrandr output (DP-1 and DP-2 are the HDMI and VGA output of my laptop. EDP-1 is the built-in one)
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 276mm x 156mm
   1920x1080     60.00*+  59.97    59.96    59.93  
   1680x1050     59.95    59.88  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1280x800      59.99    59.97    59.81    59.91  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   640x400       59.88    59.98  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
  • lsusb -t
x@x:~> sudo lsusb -v -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    |__ Port 4: Dev 38, If 0, Class=Hub, Driver=hub/4p, 5000M
        ID 04b4:6500 Cypress Semiconductor Corp. 
        |__ Port 1: Dev 39, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
            ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
        |__ Port 3: Dev 40, If 0, Class=Hub, Driver=hub/4p, 5000M
            ID 04b4:6500 Cypress Semiconductor Corp. 
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 4: Dev 20, If 0, Class=Hub, Driver=hub/4p, 480M
        ID 04b4:6502 Cypress Semiconductor Corp. CY4609
        |__ Port 3: Dev 22, If 0, Class=Hub, Driver=hub/4p, 480M
            ID 04b4:6502 Cypress Semiconductor Corp. CY4609
            |__ Port 4: Dev 26, If 0, Class=Audio, Driver=snd-usb-audio, 480M
                ID 04c5:1571 Fujitsu, Ltd 
            |__ Port 4: Dev 26, If 3, Class=Human Interface Device, Driver=usbhid, 480M
                ID 04c5:1571 Fujitsu, Ltd 
            |__ Port 4: Dev 26, If 1, Class=Audio, Driver=snd-usb-audio, 480M
                ID 04c5:1571 Fujitsu, Ltd 
            |__ Port 4: Dev 26, If 2, Class=Audio, Driver=snd-usb-audio, 480M
                ID 04c5:1571 Fujitsu, Ltd 
            |__ Port 2: Dev 25, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
                ID 046d:c328 Logitech, Inc. Corded Keyboard K280e
            |__ Port 2: Dev 25, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
                ID 046d:c328 Logitech, Inc. Corded Keyboard K280e
            |__ Port 1: Dev 24, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
                ID 046d:c069 Logitech, Inc. M-U0007 [Corded Mouse M500]
        |__ Port 4: Dev 23, If 0, Class=, Driver=, 12M
            ID 04b4:5217 Cypress Semiconductor Corp. 
        |__ Port 4: Dev 23, If 1, Class=Human Interface Device, Driver=usbhid, 12M
            ID 04b4:5217 Cypress Semiconductor Corp. 
    |__ Port 7: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
        ID 04f2:b564 Chicony Electronics Co., Ltd 
    |__ Port 7: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
        ID 04f2:b564 Chicony Electronics Co., Ltd 
    |__ Port 8: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        ID 056a:50cc Wacom Co., Ltd 
    |__ Port 8: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        ID 056a:50cc Wacom Co., Ltd 
    |__ Port 10: Dev 8, If 0, Class=Wireless, Driver=btusb, 12M
        ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
    |__ Port 10: Dev 8, If 1, Class=Wireless, Driver=btusb, 12M
        ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
c-pid
  • 21
  • 3
  • It looks like a bugreport, so... https://en.opensuse.org/openSUSE:Submitting_bug_reports – Ipor Sircer Sep 01 '20 at 10:47
  • Maybe I was not clear enough with my question, let me edit it. I am looking for someone that could tell me, if I am missing some sort setting that could influence this behavior. I am not able to find much information about the TYPEC_DP_ALTMODE. – c-pid Sep 01 '20 at 10:50
  • Have you tried plugging in just a single monitor (break the daisy-chain) into the DP on the dock? What about the same, but plugging into the HDMI on the dock instead? Also, check the UEFI setup for possible settings that could disable the alternate mode on the USB-C. I've never had a Fujitsu, but my HP laptop has such a setting, which turns the port into a plain USB, no Thunderbolt, no DP. – TooTea Sep 01 '20 at 12:35
  • Also, check the output of `tail /sys/bus/typec/devices/*/displayport/configuration`. If there are no such files, do you have anything in `/sys/bus/typec/devices` at all? – TooTea Sep 01 '20 at 12:48
  • To answer in order: Yes, I tried. Did not work. Also tried HDMI, did not work. I checked UEFI, was not able to find any setting that had anything to do with it. There is no such file and the devices directory is empty. – c-pid Sep 01 '20 at 13:19
  • It seems that at least the nvidia driver doesn't use the linux type c driver/alt mode. Or, for a usb port connected to the nvidia card it "works" without typec modules loaded. – Paul de Vrieze Sep 16 '20 at 07:34
  • It may has something to do with the monitor I am using, since the new ones I got at home not in daisy chain work fine. But I tried everysetup with and without daisy chaining for the monitors at work and they had issues. Maybe it's because of a specific Displayport Version? The monitors at work uses DP1.2. The ones I got at home support 1.4a iirc. – c-pid Sep 17 '20 at 11:11

0 Answers0