You are not logged in.

#1 2020-04-04 18:00:31

andrejr
Member
Registered: 2018-05-25
Posts: 5

Arch-related issues with USB-C to HDMI adapter on ThinkPad T480

I'm having some really strange issues with monitor detection that only happen on Arch.

I recently bought a cheap, unbranded USB-C to HDMI adapter to connect my Thinkpad T480 (no discrete graphics) to a monitor (I also have another monitor connected through HDMI, same model). It has a HDMI output, but is detected as a DisplayPort output (when it works).

The thing worked for a couple of days, and then - stopped. I was trying to write an udev rule + script to detect the monitor being plugged and in the middle of writing and testing it - the adapter just stopped working. I unplugged it and re-plugged it a couple of times and it just didn't work. I removed the udev rule and script but nothing changed, it just doesn't work. Since I also applied some updates that day, I reverted all of the updates since 2020-03-25, which didn't help at all. I usually use linux-zen, but I also tried linux-lts and it didn't work either.

I then tried the adaper-monitor combo on another up-to-date computer with Arch (Dell XPS 13 9350 w/ latest linux-lts), and it works flawlessly. Maybe I screwed up something in my install on T480, I thought. I live-booted the only thing I had lying around, Solus Linux 4.1 (it also has the lts 5.4 kernel), on my T480 - and everything works. I then downloaded the only graphics-enabled Arch-based repo I could think of - Manjaro Xfce, live-booted, it doesn't work. Same issue as with my own install of Arch. How does this make any sense? It works on Arch on XPS13, it doesn't work on any Arch-derivate on T480 (but it used to), it works on Solus on T480.

Here are some logs from my regular install:
xorg.0.log
dmesg
lsusb -v
lspci -v
udevadm monitor when [un]plugging the adapter
journalctl -b0

Let me tell you that the logs AND ls{pci,usb} outputs are very similar among my regular Arch install on T480 (where the adapter doesn't work), live booted Manjaro on T480 (where it also doesn't work), the Arch install on XPS13 (where it works) and liveboot Solus Budgie on T480 (where it works). There isn't some glaring difference or error reported anywhere.

The only difference is that

udevadm monitor

used to output this while it was working, and you [un]plugged the HDMI, while it now does nothing. This still works on Solus and on Arch on the XPS13.

# adapter unplugged
KERNEL[28996.323832] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV  [28996.329849] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)

#adapter plug
KERNEL[29000.415774] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV  [29000.421580] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)

Now, when I say that the adapter doesn't work, I mean it doesn't show up in xrandr (shows as disconnected) and I can't force it to some resolution in xrandr. I also tried writing 'detect'/'on'/'on-digital' to the sysfs status file of the card, like this:

echo on | sudo tee /sys/class/drm/card0-DP-1/status

Still, even if the output is forced on, I can't enable it w/ xrandr and it doesn't recognize the right resolutions or read the EDID at all.

I have absolutely no idea what to try next. Please help me make this adapter work, since it's certainly a software issue. My choice of adapters is slim (this 15eur POS adapter I bought and another 75eur Chinese USB-C dock I'd rather not buy) and I can't order them online, because I'm stuck in a country that has stopped all nonessential imports. I work as a programmer remotely, so using only one monitor like this is quite a pain.

The adapter is described by lsusb as this:

Bus 003 Device 006: ID 0bda:2171 Realtek Semiconductor Corp. BillBoard Device
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.01
  bDeviceClass           17 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0bda Realtek Semiconductor Corp.
  idProduct          0x2171 
  bcdDevice            1.11
  iManufacturer          17 Realtek
  iProduct               18 BillBoard Device
  iSerial                19 123456789ABCDEFGH
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0012
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration         18 BillBoard Device
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        17 
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface             18 BillBoard Device
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x005a
  bNumDeviceCaps          4
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000000
      (Missing must-be-set LPM bit!)
  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          10 micro seconds
    bU2DevExitLat        1023 micro seconds
  Container ID Device Capability:
    bLength                20
    bDescriptorType        16
    bDevCapabilityType      4
    bReserved               0
    ContainerID             {0dac4faf-8700-ee40-b758-26a107d76c6b}
  Billboard Capability:
    bLength                    48
    bDescriptorType            16
    bDevCapabilityType         13
    iAddtionalInfoURL           1 Generic
    bNumberOfAlternateModes     1
    bPreferredAlternateMode     0
    VCONN Power                 0 1W
    bmConfigured                03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    bcdVersion               1.10
    bAdditionalFailureInfo      0
    bReserved                   0
    Alternate Modes supported by Device Container:
    Alternate Mode 0 : Alternate Mode configuration successful
      wSVID[0]                    0xFF01
      bAlternateMode[0]           1
      iAlternateModeString[0]     1 Generic
Device Status:     0x0001
  Self Powered

Last edited by andrejr (2020-04-04 22:14:13)

Offline

#2 2020-04-04 23:07:27

andrejr
Member
Registered: 2018-05-25
Posts: 5

Re: Arch-related issues with USB-C to HDMI adapter on ThinkPad T480

Offline

#3 2020-09-19 18:49:39

TheChuckster
Member
Registered: 2013-07-19
Posts: 14

Re: Arch-related issues with USB-C to HDMI adapter on ThinkPad T480

Has nobody figured this out yet? The links on these two posts from a cycle!

Offline

#4 2020-10-02 15:31:20

petsam
Member
Registered: 2016-02-18
Posts: 4

Re: Arch-related issues with USB-C to HDMI adapter on ThinkPad T480

Is it possible it is just black screen, although working? There is a backlight bug on latest kernel.
Verify using backlight/brightness shortcut keys.
Try linux-lts which is not affected from this.

Just guessing.

Offline

#5 2020-10-02 16:02:09

euromatlox
Member
Registered: 2017-02-10
Posts: 110

Re: Arch-related issues with USB-C to HDMI adapter on ThinkPad T480

Possibly port or cable issue (or loose connection) ?

Last edited by euromatlox (2020-10-02 16:15:50)

Offline

#6 2021-12-24 15:04:11

fschuetz04
Member
Registered: 2021-12-24
Posts: 2

Re: Arch-related issues with USB-C to HDMI adapter on ThinkPad T480

The solution mentioned at https://www.reddit.com/r/System76/comme … c_to_hdmi/ worked for me, though I did not try it on a Lenovo laptop: Go to the BIOS (F2 on boot), and change 'DDI to mDP' to 'DDI to TBT' in the advanced chipset settings.

Offline

Board footer

Powered by FluxBB