Fedora 37 kernel 6.1 issue with lenovo dock

I just tested it with the kernel 6.1.9. Everything seems to work.

https://bodhi.fedoraproject.org/updates/FEDORA-2023-4006357f7e

1 Like

Same issue here with an Lenovo Slim 7 and a Dell Dock and running 6.1.7-200.fc37.x86_64 .
Sometimes things work kinda, but other times it just won’t work.

This for alone is one of the most annoying productivity bugs which i noticed during the last 3 years of using fedora.

@siamsensei It is really very tedious. But as I understand it, it is not a Fedora specific problem but a problem in the kernel.
Temporarily I use the vanilla kernel until the problem is completely fixed. With it it runs without problems.

https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories

With kernel 6.1.9-200, the situation appears to be similar to what it was with kernel 6.0.18-300, meaning:

  • If I lock the system and switch off the monitors which are connected to the docking station, and then (after a break) switch on the monitors, the two monitors are recognized and the windows are moved back to the previous positions on the external monitors
  • If I lock the system and do not switch off the monitors, the monitors sometimes remain black after unlocking the screen. In this case, I disconnect the docking station and reconnect it again, which causes one of the following:
    • the windows are moved back to the previous positions on the external monitors
    • the monitors remain black and are not recognized at all, even after disconnecting the monitors from the docking station. In this case, a reboot does not help: After a reboot, the two external monitors are still not recognized. The only action which helps in this case is to shut down and power off the system and start it again with the power button.

If anyone can think of any useful data I could collect to analyze such behavior, I’d be more than happy to do that.

I can postulate the reason why the monitors are recognized after being powered off but not when left energized.

The system configures a monitor when it sees the edid data that is sent by the monitor at initial configuration, which happens when the monitor is powered on. That data may not be sent if the monitor is left powered on and just disconnected. The monitor itself may be at issue.

I tried out 6.2.0-0.rc7.249.vanilla.fc37 and with that one, most of the problems which happen when the monitors and the docking station are connected disappeared. Except just a few minutes ago, when I started the laptop while the docking station and the two monitors were connected and the monitors were switched on: After logging in, the monitors went to power saving mode but the mouse did not stop at the top of the laptop monitor, meaning all three screens were still managed by the window system.
Plus, earlier today, with the same kernel, the following always happened: Right after disconnecting the docking station from the laptop (with two monitors being connected and switched on), some of the windows were shown partially on the laptop screen, the mouse disappeared and did not apear again for at least a minute. So I had to hard power off the laptop.

Is there maybe a list of hardware combinations of laptop and docking station for two monitors for kernel 6.1 or 6.2 which does not have such problems? Or a docking station which is known to work with Lenovo ThinkPad X1 when running these kernels?

I just ran some docking station unplug/plug tests with kernels 6.2.0-0.rc7.249.vanilla.fc37 and 6.0.18-300.fc37, using the logger command to mark the start and end events in the /var/log/messages file.

After unplugging the cable to the docking station, most of the error messages were identical, but with kernel 6.2.0-0.rc7.249.vanilla.fc37, the following additional lines occured after several kded5[<PID>]: colord: EDID ICC Profile already exists and before several kded5[<PID>]: colord: Failed to register device: "device id 'xrandr-California Institute of Technology' already exists" messages:

165155 Feb  7 23:43:09 kernel: i915 0000:00:02.0: [drm] *ERROR* [ENCODER:350:DDI TC3/PHY TC3][DPRX] Failed to enable link training
165156 Feb  7 23:43:10 kernel: i915 0000:00:02.0: [drm] *ERROR* Step 2 of creating MST payload for 00000000dffa0fa4 failed: -5

After pluggin in the cable, there were more differences. The most significant difference for me was that with kernel 6.2.0-0.rc7.249.vanilla.fc37, near the end of the reconfiguration, some lines after this block (which were identical for both kernels):

346 Feb  8 00:12:02 kernel: thunderbolt 1-1: new device found, vendor=0x108 device=0x1630
347 Feb  8 00:12:02 kernel: thunderbolt 1-1: Lenovo ThinkPad Thunderbolt 3 Dock

, the folllowing additional lines appeared:

389 Feb  7 23:43:47 kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to get ACT after 3000ms, last status: 00
390 Feb  7 23:43:50 kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to get ACT after 3000ms, last status: 00
391 Feb  7 23:43:54 kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to get ACT after 3000ms, last status: 00
392 Feb  7 23:43:54 kernel: i915 0000:00:02.0: [drm] *ERROR* Step 2 of creating MST payload for 000000003b027738 failed: -5
393 Feb  7 23:43:57 kernel: i915 0000:00:02.0: [drm] *ERROR* Failed to get ACT after 3000ms, last status: 00

Of note, 6.1.9 has brought in patches that have resolved my issues above.

1 Like

Yeah 6.1.9 fixed it as well on my T14s gen2 using 3 Len-T24 FHD monitor on a Lenovo USB 3 dock gen2

This morning, I booted my Lenovo Thinkpad X1 Carbon 9th gen with Thunderbolt 3 dock, two HP Z27n G2 monitors connected and switched on, with kernel 6.1.10-200.fc37. After logging in, the two external monitors went from normal to sleep mode within a few seconds. kf5-plasma is 5.102.0-1.fc37, XDG_SESSION_TYPE is x11.
Back to kernel 6.0.18-300.fc37.x86_64 now.

This morning, I booted my Lenovo Thinkpad X1 with Thunderbolt 3 dock (config in my previous posting), with kernel 6.1.11-200.fc37. After logging in, the two external monitors went from normal to sleep mode within a few seconds, just like with kernel 6.1.10-200.fc37 last time.
This time, I tested the behavior after unplugging and plugging in again the Thunderbolt cable to the docking station. The monitors remained in power saving mode and even worse: I was unable to start applications (e.g. a terminal), also after unplugging the cable again. The mouse pointer moved as normal when moving the mouse but a click with the left mouse button on an icon on the task bar did not cause any application to start. So I finally powered off the laptop by pressing the power button 10 seconds.
Back to kernel 6.0.18-300.fc37.x86_64 now.

It seems that the problem has been solved for me on 6.1.10-200.fc37. Using a Lenovo ThinkPad T14s Gen 2a and Dell display connected via DisplayPort. Anything I can provide in terms of debug output?

it was fine on my Computer with Kernel 6.1.9 (T14s Gen2a, Ryzen 7 Pro connected with USB C Gen2 Dock. With Kernel 6.1.10, they won’t turn back on after going to sleep. Even disconnect and reconnect the USB-C Cable won’t help. T

Edit: while running Kernel 6.1.9 I locked my workstation for about a half hour. If i turn back, monitors won’t switch on, in the logs, i see:

WARNING: CPU: 14 PID: 68269 at drivers/gpu/drm/amd/amdgpu/…/display/amdgpu_dm/amdgpu_dm_helpers.c:154 fill_dc_mst_payload_table_from_drm+0x86/0x110 [amdgpu] [amdgpu]

It’s sooo frustrating.

Hi @truster - Do you already know (ideally: Can you prove?) that this message about file drivers/gpu/drm/amd/amdgpu/…/display/amdgpu_dm/amdgpu_dm_helpers.c indicates the presence of the problem? Does this entry appear at the time when your screens wake up from sleep?

On my system (Lenovo Thinkpad X1 with Thunderbolt 3 dock), when showing lines containing WARNING: CPU:, I can see these lines:

Feb 19 14:16:57 <hostname> kernel: WARNING: CPU: X PID: 5259 at drivers/gpu/drm/i915/display/intel_modeset_verify.c:219 intel_modeset_verify_crtc+0x369/0x3b0 [i915]

(X can be any number between 0 and 7) when running with kernel 6.0.18-300, which is a relatively good kernel because I can solve all problems with external monitors not waking up by just pulling and plugging back in the USB-C/Thunderbolt cable. Although I expect that it should not be necessary to apply such workarounds at all. But at least I don’t have to hard power off the system to be able to continue working. So far I haven’t checked when these messages appear but I can see that they do not appear as part of the boot sequence but often many hours after the boot. And they occur when running with the following kernels (I used awk '/Linux version/||/WARNING: CPU: /{print}' messages* so I could see the boot times, the kernel versions, and these lines):

  • 6.0.18-300
  • 6.1.5-200
  • 6.1.6-200
  • 6.1.8-200
  • 6.1.9-200
  • 6.2.0-0.rc7.249.vanilla

These lines were not in /var/log/messages when running with kernel 6.1.10-200 and 6.1.11-200, so at least on my system, the absence of these lines is no indicator for the problem not being present.

After booting my Lenovo Thinkpad X1 (+Thunderbolt 3 dock) with kernel 6.1.12-200.fc37, the behavior is the same as with 6.1.11-200.fc37. I had to hard power off the system after logging in, and I am now running with kernel 6.0.18-300.fc37 again.

Hi,
I have a similar issue with a Thinkpad P1 gen 3 connected to a Thinkpad USB-C Dock Gen 2 (Type 40AS) and Fedora 37. All updates are done laptop, dock and os.
Kernel 6.0.18 works fine.
Kernel 6.1.x makes problems (tested with 6.1.1, 6.1.2, 6.1.4, 6.1.7, 6.1.8, 6.1.9, 6.1.11, 6.1.13, 6.1.14)

The problem occurs e.g. when I use two monitors with the docking station (1st connected via HDMI, 2nd connected via DP). Connecting only one monitor does not solve the problem.

The first 30 columns of the display are fine, but the rest of the display is distorted. When connecting the laptop directly with HDMI to one of the monitors the problem does not occur, so it is an indicator that the dock is the problem. If I try to make a screenshot from the distorted display, the resulting image is fine and free of distortion.
The image was taken with my mobile:

There are many posts about problems with video and docking stations.
I think it may be partly related to how the manufacturers design the dock (there are many available, and all are external devices that may only be configured at boot time). It may also be related to how the OS probes and identifies an attached monitor. If directly connected the monitor seems to properly provide the edid data needed for configuring it, but with the docking station in between that may not always happen correctly.

Thank you for pointing this out.
You’re right. My conclusion was a bit fast. What I meant was that the problem seems to be connected to the docking station and is not a general problem because this occurs only if the computer is connected to the docking station and the monitor. However, you are correct to say that it could be a number of factors that cause the problem. correlation vs causation.

No change with kernel 6.1.14-200 (Lenovo Thinkpad X1 (+Thunderbolt 3 dock): I had to hard power off the system after logging in; back to kernel 6.0.18-300.fc37.

Problem remains with kernel 6.1.15-200.fc37