3

After installing Ubuntu 19.10 on my Lenovo X1C (gen 7), I tried to hook it up via USB-C/Thunderbolt to my LG monitor. However, the display (and USB connection) flickers or blinks, i.e. the screen goes black for one to five seconds, the power led next to the USB-C port in the computer goes off, and no input from the external keyboard or mouse (hooked up via USB-C and the monitor's USB hub) is registered. Reducing resolution doesn't seem to make any difference, and using the HDMI port works stably.

From dmesg, I thought the following warnings which seemed to occur when the blinking happens, and which seemed relevant:

[509746.116260] WARNING: CPU: 0 PID: 12232 at drivers/usb/typec/class.c:302 typec_altmode_update_active.cold+0xc/0x13     [typec]
[509746.935963] WARNING: CPU: 0 PID: 12232 at kernel/module.c:1137 module_put.part.0.cold+0xc/0x13

...but according to my logs, these went away about one week ago, and I have definitely seen blinking after that.

Let me know if it would be useful to paste in (or otherwise make available) the full log or warning output.

Update: the following seems to describe the same problem. Here it is associated with the Thunderbolt dock (and using Windows), while I use a direct USB-C output and (obviously) Ubuntu. Two people report this only happening when simultaneously charging, which describes my situation (I don't have a non-charging USB-C display)

https://forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/Thinkpad-X1-Carbon-Gen6-and-issues-with-Thunderbolt-3-dock/td-p/4144364

Workaround: The flickering only seems to occur if I run the two displays (the internal LCD and the Thunderbolt-connected monitor) as separate screens, somehow. If I start X with both monitors connected, the external gets configured with the same (HD) resolution as the interal display - but it seems stable. If I configure it manually (xrandr --output DP-1 --left-of eDP-1) it is unstable. If I reconfigure it (xrandr --output DP-1 --same-as eDP-1) it is still unstable. Changing resolution of the extneral display (xrandr --output DP-1 --mode 3840x2160) doesn't seem to affect stabilty, it's still solid after a few hours.

4 Answers 4

2

Hypothesis: Could this be due to too little power from the monitor? Somebody else reported seeing this (or something similar) only when also charging from the USB-C cable. I notice that when I use a Dell USB-C dock (with a heavy PSU, so likely plenty of wattage), I seem to have no problems with the display. (Of course, that has other problems, like the internal USB hub only working if booting with the dock plugged in, but not after unplugging and replugging... but that's a story for another question.)

Anyway: if you have experience with charging and using the monitor on the same USB-C cable and an X1C, please comment below whether or not you are able to induce the "flickering" USB connection!

2
  • Plugging in the charger next to the monitor /seems/ to have solved it - stably running for about an hour so far. So evidence indicates that it is indeed a power issue. I consider it a (hardware?) bug that too little power causes loss of the USB and Thunderbolt connection, though. Jan 31, 2020 at 11:17
  • After the better part of a working day with no noticeable problems, I'm calling this the "solution". Although fixes or workarounds welcome, and will be rewarded! Jan 31, 2020 at 13:27
2

I hit this as well, and found that reducing the external monitor from 60 hz to 30 hz fixed it. My USB C to HDMI cable claims it's 60 hz.

1
  • Sounds like there may be either some technical issues with USB C, or quality issues with Lenovo's implementation of it. Or most likely; both :-( FWIW, things tend to work stably for me as long as I have enough power (i.e, a second USB C cable from the PSU) Sep 18, 2020 at 6:38
1

I downgraded the system firmware from 0.1.26 to 0.1.20 using fwupdmgr downgrade, and it looks like this may have fixed the problem. [Edit: no, it didn't] Here is the output from current fwupdmgr get-devices:

20QD00L1MX System Firmware
  DeviceId:             f09b748a98b31bb5c7c64d83f24ddbc80dff7c5f
  Guid:                 4bbc40fa-f81e-4206-bc70-a1f7b744d964
  Plugin:               uefi
  Flags:                internal|updatable|require-ac|supported|registered|needs-reboot
  Version:              0.1.20
  VersionLowest:        0.0.1
  VersionFormat:        triplet
  Icon:                 computer
  Created:              2020-01-03
  UpdateState:          success
2
  • It is also possible that the downgrade resurrected the bug that the trackpad stops working after suspend and wakeup. Just making a note of it here in case others experience the same, and will experiment more. Jan 5, 2020 at 15:35
  • Doesn't look like this helped after all, I now see blinking/loss of USB connectivity with the old firmware installed. Will upgrade back to 0.1.26 fw. Jan 9, 2020 at 7:29
1

I experienced the same issue with my new lenovo laptop with thunderbolt 4 and a lenovo thunderbolt 4 dock connecting to two additional monitors (24" full HD and 32" 4K) running ubuntu 21.10 (windows 11 the same behaviour).

I did rule out power consumption by unplugging almost everything and connecting the laptop to an additional power cable. The dock has got 130 W which should be enough for the setup anyway.

I solved the problem by NOT using HDMI to connect my monitors but displayport and usb-c.

HDMI is available at several versions. I suspect the combination of different hdmi versions supported by monitor, laptop and hdmi-cable might have caused this problem.

Since display port and usb-c also are available in different versions, it might be worth trying cables in various versions too.

EDIT: Although swapping the cables did significantly improve the situation, it did not fully solve it. I had to find that out after some more using the new setup. :-(

The final source for this problem (and others) actually was the small unifying reciver with my wireless mouse and keyboard. After unplugging this from the docking station now this issue really is entirely gone.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .