Lenovo dock no longer working after upgrade from 6.5.0-35 to 6.5.0-41

Bug #2070020 reported by TomyLobo
40
This bug affects 5 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
New
Undecided
Unassigned
Mantic
In Progress
Medium
Unassigned

Bug Description

1) The release of Ubuntu you are using, via 'lsb_release -rd' or System -> About Ubuntu
Ubuntu 22.04.4 LTS

2) The version of the package you are using, via 'apt-cache policy pkgname' or by checking in Software Center
6.5.0-41.41~22.04.2

3) What you expected to happen
I have a Lenovo laptop (P15v Gen 3).
I have a Lenovo dock attached to that.
I have a monitor attached to that via HDMI.
I have another monitor attached directly to the laptop's own HDMI port.

When I boot my machine with the Lenovo dock attached, it usually works.

4) What happened instead

Yesterday, that display didn't work.
It just stayed blank and the journal showed the following lines:
---
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(4190400)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(4190400)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(2095200)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(5028480)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(2514240)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(1257120)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(4190400)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(4190400)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(2095200)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(5028480)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(2514240)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(1257120)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(4190400)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(4190400)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(2095200)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(5028480)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(2514240)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(1257120)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) training attempt 4 of 4 failed @ rate(20) x lane(4) @ spread = 10 : fail reason:(6)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) training attempt 4 of 4 failed @ rate(20) x lane(2) @ spread = 10 : fail reason:(6)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(4190400)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) training attempt 4 of 4 failed @ rate(20) x lane(1) @ spread = 10 : fail reason:(6)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) training attempt 4 of 4 failed @ rate(10) x lane(4) @ spread = 10 : fail reason:(6)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(4190400)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) training attempt 4 of 4 failed @ rate(10) x lane(2) @ spread = 10 : fail reason:(6)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(2095200)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) training attempt 4 of 4 failed @ rate(10) x lane(1) @ spread = 10 : fail reason:(6)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(5028480)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) training attempt 4 of 4 failed @ rate(6) x lane(4) @ spread = 10 : fail reason:(6)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(2514240)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) training attempt 4 of 4 failed @ rate(6) x lane(2) @ spread = 10 : fail reason:(6)
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) bandwidth too low after fallback req_bw(5796000) > link_bw(1257120)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] perform_link_training_with_retries: Link(3) training attempt 4 of 4 failed @ rate(6) x lane(1) @ spread = 10 : fail reason:(6)
Jun 21 08:52:13 mymachine kernel: [drm] DMUB HPD IRQ callback: link_index=3
Jun 21 08:52:13 mymachine kernel: [drm] enabling link 3 failed: 15
---
Some of these messages reoccur if I unplug and replug the HDMI display or disable and enable it via the display settings.
Every time I enable the display, the other display (connected to the laptop's own HDMI port) freezes for about 10 seconds.

I switched to another dock in order to rule out hardware failure and I get the same issue.

This worked on 6.5.0-35.35~22.04.1.
It broke when 6.5.0-41.41~22.04.2 was installed.
It worked again when I booted back into 6.5.0-35.35~22.04.1.

ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: linux-image-unsigned-6.5.0-41-generic (not installed)
ProcVersionSignature: Ubuntu 6.5.0-35.35~22.04.1-generic 6.5.13
Uname: Linux 6.5.0-35-generic x86_64
NonfreeKernelModules: zfs
ApportVersion: 2.20.11-0ubuntu82.5
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: KDE
Date: Fri Jun 21 10:17:11 2024
InstallationDate: Installed on 2023-07-05 (351 days ago)
InstallationMedia: Kubuntu 22.04.2 LTS "Jammy Jellyfish" - Release amd64 (20230223)
SourcePackage: linux-hwe-6.5
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
TomyLobo (tomylobo) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux-hwe-6.5 (Ubuntu):
status: New → Confirmed
tags: added: regression
tags: added: regression-update
removed: regression
Changed in linux-oem-6.5 (Ubuntu):
status: New → Confirmed
no longer affects: linux-hwe-6.5 (Ubuntu)
no longer affects: linux-oem-6.5 (Ubuntu)
Changed in linux (Ubuntu Mantic):
status: New → In Progress
importance: Undecided → Medium
Revision history for this message
Matthew Ruffell (mruffell) wrote :

Hi everyone,

I noticed you were all using AMD processors... and I had a browse through the 1100 commits or so that are between 6.5.0-25-generic to 6.5.0-41-generic, and this one caught my eye:

commit 286f3a7ccae334cef008c6be713c7c30427243c1 ubuntu-mantic
Author: Wayne Lin <email address hidden>
Date: Tue Jan 2 14:20:37 2024 +0800
Subject: drm/amd/display: Align the returned error code with legacy DP
Link: https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/mantic/commit/?id=286f3a7ccae334cef008c6be713c7c30427243c1

It seems to possibly match your logs on "[drm] DMUB HPD IRQ callback: link_index=3". This is all an educated guess though.

How about I build a test kernel of 6.5.0-41-generic with this reverted, and we see if it fixes the issue? If it doesn't, I suppose we will do a bisect.

I'll write back soon.

Thanks,
Matthew

Revision history for this message
Matthew Ruffell (mruffell) wrote :

Hi everyone,

Okay, I have gotten test kernels building. They have the below commit reverted on 6.5.0-41-generic:

commit 286f3a7ccae334cef008c6be713c7c30427243c1 ubuntu-mantic
Author: Wayne Lin <email address hidden>
Date: Tue Jan 2 14:20:37 2024 +0800
Subject: drm/amd/display: Align the returned error code with legacy DP
Link: https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/mantic/commit/?id=286f3a7ccae334cef008c6be713c7c30427243c1

Its going to take three hours from the time of this comment for them to build. You can check build status here:

https://launchpad.net/~mruffell/+archive/ubuntu/lp2070020-test

Can someone please try the test kernel and let me know if it fixes the issue?

Please note this package is NOT SUPPORTED by Canonical, and is for TESTING
PURPOSES ONLY. ONLY Install in a dedicated test environment.

Instructions to Install (On a jammy or mantic system):
1) sudo add-apt-repository ppa:mruffell/lp2070020-test
2) sudo apt update
3) sudo apt install linux-image-unsigned-6.5.0-41-generic linux-modules-6.5.0-41-generic linux-modules-extra-6.5.0-41-generic linux-headers-6.5.0-41-generic
4) sudo reboot
5) uname -rv
Look for "+TEST2070020v20240625b1".

You might be asked to abort removal of the current running kernel, say no. Also, you might need to turn off secureboot if its on, since I can't sign secureboot kernels.

Does your external thunderbolt displays go back to normal? Let me know.

If they don't work we will likely do a full bisect.

Thanks,
Matthew

Revision history for this message
Robert Neve (robertneve) wrote :

I wish I could but I am away until Saturday and don't have my laptop with me. If nobody has done it by Saturday I can do it then.

Revision history for this message
Robert Neve (robertneve) wrote :
Download full text (10.8 KiB)

I'm going to play middleman.

Jorg_Mertin via framework forum: Went on the launchpad and tried to follow the bug here Bug #2070020 “Lenovo dock no longer working after upgrade from 6...” : Bugs : linux package : Ubuntu
So - mruffel has compiled a kernel and I tested it.
Can’t log into bugs.launchpad.net - always getting a 500 internal server error on login.
So posting here:

It does not work. Kernel:
[mar. juin 25 10:49:31 2024] Linux version 6.5.0-41-generic (buildd@lcy02-amd64-028) (x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #41~22.04.2+TEST2070020v20240625b1-Ubun tu SMP PREEMPT_DYNAMIC Mo (Ubuntu 6.5.0-41.41~22.04.2+TEST2070020v20240625b1-generic 6.5.13)

Getting various of these:

```
[mar. juin 25 10:50:30 2024] ------------[ cut here ]------------
[mar. juin 25 10:50:30 2024] WARNING: CPU: 15 PID: 1400 at drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_helpers.c:190 fill_dc_mst_payload_table_from_drm+0xb7/0x250 [amdgpu]
[mar. juin 25 10:50:30 2024] Modules linked in: r8153_ecm cdc_ether usbnet r8152 mii snd_usb_audio snd_usbmidi_lib snd_ump mc ccm rfcomm cmac algif_hash algif_skcipher af_alg bnep sunrpc binfmt_misc dm_crypt intel_rapl_msr intel_rapl_common snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio snd_sof_amd_rembrandt snd_sof_amd_renoir snd_sof_amd_acp snd_sof_pci snd_sof_xtensa_dsp snd_hda_codec_hdmi snd_sof snd_hda_intel snd_sof_utils snd_intel_dspcfg snd_intel_sdw_acpi mt7921e snd_hda_codec edac_mce_amd mt7921_common snd_soc_core snd_hda_core btusb mt76_connac_lib snd_hwdep snd_compress btrtl ac97_bus kvm_amd btbcm snd_pcm_dmaengine mt76 btintel snd_seq_midi btmtk snd_pci_ps snd_seq_midi_event mac80211 snd_rpl_pci_acp6x snd_rawmidi snd_acp_pci kvm snd_pci_acp6x bluetooth snd_seq hid_sensor_als snd_pcm hid_sensor_trigger industrialio_triggered_buffer kfifo_buf irqbypass hid_sensor_iio_common ecdh_generic snd_seq_device nls_iso8859_1 ecc joydev rapl input_leds snd_pci_acp5x industrialio typec_displayport hid_multitouch wmi_bmof
[mar. juin 25 10:50:30 2024] snd_timer k10temp cfg80211 snd_rn_pci_acp3x snd_acp_config snd snd_soc_acpi snd_pci_acp3x ccp libarc4 soundcore mac_hid amd_pmf amd_pmc platform_profile sch_fq_codel msr parport_pc ppdev lp parport efi_pstore ip_tables x_tables autofs4 btrfs blake2b_generic raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear usbhid amdgpu amdxcp iommu_v2 drm_buddy gpu_sched i2c_algo_bit drm_suballoc_helper drm_ttm_helper ttm crct10dif_pclmul crc32_pclmul polyval_clmulni polyval_generic drm_display_helper ghash_clmulni_intel cec sha256_ssse3 nvme sha1_ssse3 rc_core aesni_intel nvme_core drm_kms_helper hid_sensor_hub ucsi_acpi crypto_simd cros_ec_lpcs hid_generic cros_ec cryptd typec_ucsi thunderbolt i2c_piix4 xhci_pci drm xhci_pci_renesas nvme_common typec video i2c_hid_acpi wmi i2c_hid hid
[mar. juin 25 10:50:30 2024] CPU: 15 PID: 1400 Comm: kwin_wayland Tainted: G W 6.5.0-41-generic #41~22.04.2+TEST2070020v20240625b1-Ubuntu
[mar. juin 25 10:50:30 2024] Hardware name: Framework Laptop 16 (AMD Ryzen 7040 Series)/FRANMZCP07, BI...

Revision history for this message
Matthew Ruffell (mruffell) wrote :

Hi Robert, and to Jorg_Mertin too,

Thanks for trying the test kernel, sorry it didn't fix the issue. It seems I have the wrong commit, and I was hoping it was that one too.

I'll have another look though the changelog to see if anything else jumps out, but we might have to do a full bisect. I can build all the kernels for you, it might just take quite a few iterations to land on the one that causes the issue. Around 10 kernels maybe. Its labour intensive, which is why I tired guessing first.

I'll let you know how we will progress.

Thanks,
Matthew

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.