Re: Possible problem with thunderbolt 4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Fri, Dec 23, 2022 at 12:24:35PM +0100, Christian Schaubschläger wrote:
> 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?

First of all can you check if you are running Intel or Microsoft driver
for the Thunderbolt controller? It can be seen in Device Manager
somehow. It is possible that Windows and Linux use different "connection
manager" so that explains why there is a difference in behaviour.

In case of Linux this is software connection manager so it is Linux that
does all the tunneling. In case of Windows it may be also firmware
connection manager so it is handled in the firmware (and this might
explain why it magically works after rebooting from Windows).

In general this depends on the BIOS setting whether there is PCIe tunnel
or not. Typically there is something like "boot from Thunderbolt" or
similar option that turns it on so I suggest checking if you have
such option.



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux