6

I regularly use an external monitor, connected through USB-C/thunderbolt to my laptop. It usually works flawlessly, but every now and then (between a few weeks or a few days), the monitor starts blinking (turns black for 1~2 seconds, and this repeats every 10 to 30 seconds). Technically what is apparently happening is that the monitor losses video signal sync on the Displayport connection through the USB-C cable.

I don't think this problem is specific to my devices, as I have read in many places about this behavior on completely different USB-C monitors and laptops. But for the record, I'm having this problem with a viewsonic vp2771, and a System76 Lemur Pro laptop (lemp9). It has an Intel CometLake chipset, with i915 video interface:

~$ sudo lspci -v -s 00:02.0
00:02.0 VGA compatible controller: Intel Corporation CometLake-U GT2 [UHD Graphics] (rev 02) (prog-if 00 [VGA controller])
DeviceName: VGA compatible controller
Subsystem: CLEVO/KAPOK Computer UHD Graphics
Flags: bus master, fast devsel, latency 0, IRQ 137
Memory at b0000000 (64-bit, non-prefetchable) [size=16M]
Memory at a0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 1000 [size=64]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: i915
Kernel modules: i915

I don't see any changes in the logs when these blinks happen. I have checked with journalctl --follow and with sudo dmesg --follow, and nothing new is shown during the blackouts. I am not sure where else to look for logs or any sort of feedback.

Things I have tried:

  • Swapping the cable for other USB-C cables with thunderbolt, shorter and longer, but the blinks keep ocurring.

  • Dissabling the laptop's battery charging (thus lowering the current draw from 2A, to just 0,5A), but the problem persists.

  • I have some things connected to the monitor's USB hub (like keyboard and mouse, printer, ethernet adapter), and I have tried disconnecting everything to check if this would solve the problem, but the problem persists.

  • I usually use the monitor's audio, and on my laptop I select "HDMI / DisplayPort" as sound output. When the blinks started, I have tried using the internal speakers, but the external monitor still flickers.

  • If I connect the monitor via HDMI, video works correctly. If I reconnect USB-C, blinking resumes.

  • If I lower the resolution, the flickering becomes much less frequent, although it still happens every couple of minutes.

I can't figure out what triggers this behavior, but after rebooting the laptop, the problem seems to go away for a couple of days.

chronos00
  • 771

1 Answers1

2

Even though I did try disconnecting all USB peripherals from the monitor's USB HUB, I finally found that the old USB dongle for a logitech keyboard was for some reason introducing noise to the USB bus, which is shared with the video feed in USB-C.

Apparently the explanation is that the logitech dongle being USB 2.0, and the USB hub being 3.0, there was some kind of problem during speed negotiation (between bus and device) which introduced the noise to the bus.

The simplest solution I found is to use a long USB-to-USB extender cable, to force the speed to USB 2.0 standards for the logitech dongle. I guess using a USB 2.0 hub would also achieve the same result.

The important thing here, during the painstaking process of trouble shooting, is that the things you try to solve the problem do not take real effect until you reboot your computer. I'm not sure why, but it might be related to how the USB bus works on each computer, and the USB controllers used in each computer. This means you might have tried things that would have fixed the problem, but you would still see the monitor flickering until you reboot the computer.

If you have tried everything else and still see the monitor flickering, my suggestion is that you disconnect all USB peripherals, and reboot the computer. And to use the computer without any of those peripherals at least for a couple of days. If you absolutely must use one of them, try connecting it directly to your computer's USB ports, and not to the monitor's USB ports. After using the monitor without any flickering for a couple of days, introduce the USB peripherals one by one (one every couple of days) to see if one of the devices causes the flicker to start. Notice that the device may introduce the noise and cause the flickering after days of being connected (although it is usually quicker).

chronos00
  • 771