Hello list, I'm having an issue which I guess might be related to thunderbolt 4. I have an HP EliteBook 630 G9 notebook and an HP Thunderbolt Dock G4, both with Thunderbolt 4. I run linux on it and need a working network interface (the one on the dock) in the UEFI firmware for PXE boot. When I come from a cold boot, the thunderbolt connection works well both in the UEFI firmware (I can do PXE), and also later in linux. After a reboot from linux, the dock disappears from the PCI bus and is no longer accessible in the UEFI firmware. Hence a PXE boot is not possible. When I then boot into linux again, the dock is there again, working just fine. On my machine the thunderbolt controller has the PCI address 0000.00.0d.2, and the PCI bridge to the dock has the address 0000.00.07.0. I've attached the PCI config spaces of these two devices as they are seen from the UEFI firmeware from two different states: 1. When the machine comes from a cold boot. In that state the UEFI firmware sees the dock and all devices on the dock. 2. When the machine comes from a linux reboot. In that state the dock is not visible on the PCI bus. The config spaces of the mentioned two devices are different in the two states. Note: once the machine is in state 2, it is necessary to remove the power supply from the dock (or physically disconnect and re-connect the thunderbolt cable) in order to get it working in UEFI again. That's what "cold boot" above actually means. Also, when the machine is in state 2 and boots into Windows the dock does not not become visible on the PCI bus. Interestingly, after a subsequent reboot from Windows it does become avialable in UEFI again (no need to disconnect the power supply or thunderbolt cable in this case!!) So I guess the linux kernel does something on shutdown (or misses to do something) that prevents the dock to wake up again after the reboot in the UEFI firmware. I'm observing this on all kernels I've tried (5.18.x, 6.0.x, 6.1.x; also when I run a vanilla Ubuntu 22.04 this happens); the logs below are from a pre-release kernel from today (which will be 6.2-rc1 in a few days). I've also experimented with some powersaving related settings on the kernel command line, unfortunately without success. Can anyone confirm this behaviour? Note2: when I use this TB4 Dock on a laptop with an older Thunderbolt 3 controller, none of these problems occur. Files attached: pci_config_space_000700_cold.txt: 07.00's config space from within UEFI after a cold boot pci_config_space_000700_lnx.txt: 07.00's config space after a reboot from linux pci_config_space_000D02_cold.txt: 0D.02's config space after a cold boot pci_config_space_000D02_lnx.txt: 0D.02's config space after a reboot from linux lscpi*: lspci output from linux dmesg_cold.txt: dmesg output after a cold boot dmesg_after_lnx.txt: dmesg output after a reboot from linux Thanks and best regards, Christian
Attachment:
pci_config_space_000D02_lnx.txt.xz
Description: application/xz
Attachment:
pci_config_space_000D02_cold.txt.xz
Description: application/xz
Attachment:
pci_config_space_000700_lnx.txt.xz
Description: application/xz
Attachment:
pci_config_space_000700_cold.txt.xz
Description: application/xz
Attachment:
lspci-vv.txt.xz
Description: application/xz
Attachment:
lspci-t.txt.xz
Description: application/xz
Attachment:
dmesg_cold.txt.xz
Description: application/xz
Attachment:
dmesg_after_lnx.txt.xz
Description: application/xz