---
## Subject
i915: Unknown symbol drm_dp_128b132b_link_training_failed (err -2) —
KMS hang on Intel UHD 620 (Kaby Lake Refresh), all available Trixie
kernels 6.12.86–6.12.94
---
## Description
On a Dell Latitude 7490 with Intel UHD Graphics 620 (PCI 00:02.0, Kaby
Lake Refresh, rev 07), the i915 kernel module fails to load on all
available Trixie kernel versions (6.12.86, 6.12.90, 6.12.90+deb13.1,
6.12.94) due to unresolved symbols in drm_display_helper.
The system hangs at boot with a frozen, non-blinking cursor. No DRM
device node is created (/dev/dri/ does not exist). The system is only
usable with `nomodeset` on the kernel command line, which falls back
to the EFI framebuffer (efifb) and bypasses i915/KMS entirely.
This affects all Trixie kernels tested. It is not a regression
introduced in a specific point release — the symbol mismatch is
present across the full range of available versions.
---
## Symptoms
- System boots normally until KMS/DRM init
- Kernel freezes with non-blinking cursor (no further console output)
- Adding `nomodeset` to the kernel command line allows the system to boot
- Under `nomodeset`: efifb is used, /dev/dri/ does not exist, i915 is
absent from lsmod
- `snd_hda_codec_hdmi: No i915 binding for Intel HDMI/DP codec` in dmesg
---
## Failing symbols (from dmesg, without nomodeset)
```
[ 6.109074] i915: Unknown symbol
drm_dp_pcon_hdmi_frl_link_error_count (err -2)
[ 6.110013] i915: Unknown symbol
drm_dp_128b132b_link_training_failed (err -2)
[ 6.113891] i915: Unknown symbol drm_dp_tunnel_set_io_error (err -2)
```
All three symbols are DisplayPort 2.0 / DP tunneling helpers. The UHD
620 (Kaby Lake Refresh) is a DP 1.4 device and does not use these code
paths at runtime — but i915 references them unconditionally at module
load time, causing the load to fail.
---
## Module state (with nomodeset, after manual modprobe)
```
$ sudo modprobe drm_display_helper
$ sudo modprobe drm_kms_helper
$ sudo modprobe i915
modprobe: ERROR: could not insert 'i915': No such device
```
drm_display_helper and drm_kms_helper load successfully. i915 returns
"No such device" when loaded manually after boot under nomodeset — the
GPU is already claimed by efifb/vgaarb and i915 cannot bind to it
post-boot. However the symbol error is confirmed from dmesg on cold
boot without nomodeset.
```
$ find /lib/modules/$(uname -r) -name "drm_display_helper*"
/lib/modules/6.12.86+deb13-amd64/kernel/drivers/gpu/drm/display/drm_display_helper.ko.xz
```
drm_display_helper.ko is present but does not export the symbols i915
expects. i915's module metadata does not declare drm_display_helper as
a dependency, so it is not loaded before i915 during boot.
---
## System information
```
uname -r: 6.12.86+deb13-amd64 (also reproduced on 6.12.90+deb13.1,
6.12.94+deb13)
lspci: 00:02.0 VGA compatible controller: Intel Corporation UHD
Graphics 620 (rev 07)
Machine: Dell Latitude 7490
Distribution: Debian Trixie (testing)
Boot mode: UEFI, Secure Boot disabled
```
---
## Relevant dmesg (boot without nomodeset, up to hang)
```
[ 0.466410] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[ 1.148803] efifb: probing for efifb
[ 1.148896] efifb: framebuffer at 0xd0000000, using 8100k, total 8100k
[ 1.148900] efifb: mode is 1920x1080x32, linelength=7680, pages=1
[ 1.151403] fb0: EFI VGA frame buffer device
[ 2.786673] intel-lpss INT3446:00: probe with driver intel-lpss
failed with error -16
[ 6.109074] i915: Unknown symbol
drm_dp_pcon_hdmi_frl_link_error_count (err -2)
[ 6.110013] i915: Unknown symbol
drm_dp_128b132b_link_training_failed (err -2)
[ 6.113891] i915: Unknown symbol drm_dp_tunnel_set_io_error (err -2)
<system hangs — non-blinking cursor, no further output>
```
---
## Workaround
Add `nomodeset` to `GRUB_CMDLINE_LINUX_DEFAULT` in `/etc/default/grub`
and run `update-grub`. The system boots using the EFI framebuffer.
Hardware acceleration, hardware video decode, and /dev/dri/ are
unavailable under this workaround.
---
## Expected behaviour
i915 should load successfully on Intel UHD 620 (Kaby Lake Refresh)
hardware. Either:
1. drm_display_helper should export the symbols i915 references
(`drm_dp_128b132b_link_training_failed`, `drm_dp_tunnel_set_io_error`,
`drm_dp_pcon_hdmi_frl_link_error_count`), or
2. i915 should declare drm_display_helper as a module dependency so it
is loaded first and its symbols are available, or
3. i915 should not reference these symbols unconditionally on hardware
that does not use DP 2.0 / DP tunneling code paths (Kaby Lake Refresh
is DP 1.4)
---
## Additional notes
- The intel-lpss INT3446 error (-16 / EBUSY) at timestamp 2.786s is a
separate, pre-existing issue and is not related to this bug. The
system hangs at the i915 symbol errors, not at the lpss probe.
- This bug affects any Trixie installation on Kaby Lake Refresh
hardware with Intel UHD 620. Given the wide deployment of this GPU in
Dell Latitude, Lenovo ThinkPad, and HP EliteBook laptops from the
2017–2019 era, the impact is broad.
- Tested kernels: 6.12.86+deb13, 6.12.90+deb13, 6.12.90+deb13.1,
6.12.94+deb13. All affected.