Public bug reported:

ubuntu-bug linux was run from the affected system while reproducing the
problem, so Apport diagnostic information may already have been uploaded
separately.

HP ZBook X G1i: HP Thunderbolt Dock G2 JHL7540 xHCI controller dies during cold 
boot but works when hot-plugged after boot
Summary
On an HP ZBook X G1i 16-inch Mobile Workstation running Ubuntu 24.04, an HP 
Thunderbolt Dock G2 works correctly when connected after Ubuntu has finished 
booting, but its USB controller consistently dies during boot if the dock is 
already connected when the system starts.
DisplayPort output from the dock continues to work, but USB devices and 
Ethernet attached through the dock do not appear.
The affected PCI device is:
Intel JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018]

PCI ID: 8086:15ec

Subsystem: HP 103c:0467
The kernel binds xhci_hcd to the device, starts the USB buses, and then reports:
xhci_hcd 0000:05:00.0: xHCI host controller not responding, assume dead
xhci_hcd 0000:05:00.0: HC died; cleaning up
Hardware
Laptop:

HP ZBook X G1i 16 inch Mobile Workstation PC
CPU:

Intel Core Ultra 9 285H
Dock:

HP Thunderbolt Dock G2

Thunderbolt 3

Dock firmware reported by fwupd: 66.00
Dock USB controller:

Intel JHL7540 Thunderbolt 3 USB Controller

8086:15ec

Subsystem 103c:0467
System BIOS:

HP X97 Ver. 01.05.03
USB4 retimer firmware:

26.85
Ubuntu release:

Ubuntu 24.04
Kernels tested
The problem reproduces identically with:
7.0.0-28-generic
6.17.0-40-generic
Therefore it does not appear specific to the 7.0 kernel.
Steps to reproduce
Connect the HP Thunderbolt Dock G2 to the ZBook.
Leave USB mouse, keyboard, and Ethernet connected to the dock.
Boot Ubuntu with the dock already physically connected.
Log in.
Observe that the monitor connected through the dock works.
Observe that keyboard, mouse, and Ethernet through the dock do not work.
Run:
sudo dmesg | grep -iE 'xhci|thunderbolt|usb|05:00.0'
Actual result
During boot, PCI device 0000:05:00.0 is discovered and xhci_hcd starts normally:
pci 0000:05:00.0: [8086:15ec] type 00 class 0x0c0330 PCIe Endpoint
xhci_hcd 0000:05:00.0: xHCI Host Controller
xhci_hcd 0000:05:00.0: new USB bus registered
xhci_hcd 0000:05:00.0: Host supports USB 3.1 Enhanced SuperSpeed
Shortly afterward:
xhci_hcd 0000:05:00.0: xHCI host controller not responding, assume dead
xhci_hcd 0000:05:00.0: HC died; cleaning up
The downstream dock USB hubs, keyboard, mouse, audio, and Realtek RTL8153 
Ethernet controller therefore do not enumerate.
After the failure, the PCI device remains present and reports D0 / runtime 
active, but memory decoding, bus mastering, and MSI are disabled following the 
xHCI failure.
Expected result
The Thunderbolt Dock G2 should initialize during boot in the same way it does 
when physically connected after Ubuntu has finished booting.
USB mouse, keyboard, Ethernet, audio, and other dock USB devices should 
enumerate normally.
Important comparison: hot-plug works
If Ubuntu is booted with the dock physically disconnected, and the same dock is 
connected after login, everything works.
During successful hot-plug, the sequence is:
thunderbolt 0-1: new device found, vendor=0xf0 device=0x467
thunderbolt 0-1: HP Thunderbolt Dock G2
pci 0000:05:00.0: [8086:15ec] type 00 class 0x0c0330 PCIe Endpoint
pci 0000:05:00.0: BAR 0 [mem 0x8c000000-0x8c00ffff]: assigned
pci 0000:05:00.0: enabling device
xhci_hcd 0000:05:00.0: xHCI Host Controller
The downstream USB hierarchy then enumerates successfully, including:
2109:2820 VIA Labs VL820 USB 2 hub
2109:0820 VIA Labs VL820 USB 3 hub
0424:2807 Microchip USB hub
0424:5807 Microchip USB hub
046d:c52b Logitech Unifying Receiver
046d:c31c Logitech keyboard
03f0:0269 HP USB Audio
03f0:0667 HP/Cypress device
0bda:8153 Realtek RTL8153 Gigabit Ethernet
Mouse, keyboard, audio, and Ethernet all work normally in this state.
Thunderbolt authorization / DMA protection
Thunderbolt authorization was investigated separately.
BIOS DMA Protection is currently enabled for Thunderbolt devices.
Both Thunderbolt domains report:
iommu_dma_protection = 1
The connected G2 dock is enrolled with boltd and automatically shows status 
"authorized".
The Thunderbolt link reports 40 Gb/s in both directions.
Therefore the failure still occurs with Thunderbolt authorization and IOMMU DMA 
protection functioning normally.
Additional testing
The following tests did NOT resolve the failure:
Updating system BIOS from HP X97 01.04.03 to X97 01.05.03.
Booting Linux 6.17.0-40-generic instead of 7.0.0-28-generic.
Testing with intel_iommu=off.
PCI remove/rescan of 0000:05:00.0.
Thunderbolt device deauthorization and reauthorization.
PCI remove/rescan produces:
pci 0000:05:00.0: xHCI HW not ready after 5 sec (HC bug?) status = 0xffffffff
xhci_hcd 0000:05:00.0: Host halt failed, -19
xhci_hcd 0000:05:00.0: can't setup: -19
xhci_hcd 0000:05:00.0: init 0000:05:00.0 fail, -19
Deauthorizing and reauthorizing the Thunderbolt device does not remove/reset 
the 05:00.0 PCI endpoint deeply enough to recover it.
Only physically disconnecting the dock and reconnecting it after Ubuntu is 
running successfully resets/reinitializes the JHL7540 xHCI controller.
Other observations
During a successful hot-plug, 0000:05:00.0 reports:
Power state: D0
MSI: enabled
Mem+
BusMaster+
Kernel driver in use: xhci_hcd
PCIe link:
Speed 2.5GT/s
Width x4
No AER errors are reported.
During the failed cold-boot state, the PCI endpoint remains visible but after 
the xHCI driver cleanup it shows:
Mem-
BusMaster-
MSI disabled
The physical Thunderbolt link itself remains connected/authorized.
Workaround
Boot Ubuntu with the HP Thunderbolt Dock G2 physically disconnected.
After Ubuntu finishes booting, connect the Thunderbolt cable.
The dock then works normally.
Suspected area
This appears to be a cold-boot initialization / reset / sequencing issue 
involving the Intel JHL7540 Titan Ridge xHCI endpoint behind the Thunderbolt 
PCIe tunnel on the HP ZBook X G1i USB4/Thunderbolt platform.
The same controller works correctly when the Thunderbolt tunnel and PCI device 
are created dynamically after the OS is fully running.

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163288

Title:
  HP ZBook X G1i: JHL7540 xHCI dies when Thunderbolt Dock G2 is
  connected during boot; hot-plug works

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2163288/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to