* Thunderbolt: One missing DisplayPort? @ 2022-05-20 10:22 Stefan Hoffmeister 2022-05-24 10:55 ` Heikki Krogerus 0 siblings, 1 reply; 19+ messages in thread From: Stefan Hoffmeister @ 2022-05-20 10:22 UTC (permalink / raw) To: linux-usb I am trying to diagnose a problem where I get video output on Thunderbolt on one DisplayPort, but no output on the second DisplayPort. I would love to turn on all the (kernel-level) logging output that there is, but do not know how to do that. Basically, on a Dell Inspiron 16 Plus (7610) laptop with Thunderbolt 4, I am running Fedora Linux 36 with kernel 5.17+. Connecting that laptop to a Thunderbolt docking station (Intel Thunderbolt 3 chip inside), with two screens attached via DisplayPort, I get only one screen up and running. I'd like to discover more about this apparent error mode, because attaching a different TB3 setup works fine. I am looking for some means to enable logging or to get debugging insight. Generally speaking, I suspect that this specific Dell laptop (configuration) has some challenges in the BIOS, and with Thunderbolt in general, but am totally blind to what is going on. This system offers potential for fun, this being a hybrid PRIME configuration, with an Intel iGPU passing through to an Nvidia dGPU which seems to be the only wired-up way to get DisplayPort output. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-20 10:22 Thunderbolt: One missing DisplayPort? Stefan Hoffmeister @ 2022-05-24 10:55 ` Heikki Krogerus 2022-05-24 11:04 ` Mika Westerberg 0 siblings, 1 reply; 19+ messages in thread From: Heikki Krogerus @ 2022-05-24 10:55 UTC (permalink / raw) To: Stefan Hoffmeister; +Cc: linux-usb, Mika Westerberg +Mika On Fri, May 20, 2022 at 12:22:50PM +0200, Stefan Hoffmeister wrote: > I am trying to diagnose a problem where I get video output on > Thunderbolt on one DisplayPort, but no output on the second > DisplayPort. > > I would love to turn on all the (kernel-level) logging output that > there is, but do not know how to do that. > > Basically, on a Dell Inspiron 16 Plus (7610) laptop with Thunderbolt > 4, I am running Fedora Linux 36 with kernel 5.17+. > > Connecting that laptop to a Thunderbolt docking station (Intel > Thunderbolt 3 chip inside), > with two screens attached via DisplayPort, I get only one screen up and running. > > I'd like to discover more about this apparent error mode, because > attaching a different TB3 > setup works fine. I am looking for some means to enable logging or to > get debugging insight. > > Generally speaking, I suspect that this specific Dell laptop > (configuration) has some challenges > in the BIOS, and with Thunderbolt in general, but am totally blind to > what is going on. > > This system offers potential for fun, this being a hybrid PRIME > configuration, with an Intel iGPU passing through to an Nvidia dGPU > which seems to be the only wired-up way to get DisplayPort output. -- heikki ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-24 10:55 ` Heikki Krogerus @ 2022-05-24 11:04 ` Mika Westerberg 2022-05-27 6:24 ` Stefan Hoffmeister 0 siblings, 1 reply; 19+ messages in thread From: Mika Westerberg @ 2022-05-24 11:04 UTC (permalink / raw) To: Heikki Krogerus; +Cc: Stefan Hoffmeister, linux-usb Hi, On Tue, May 24, 2022 at 01:55:23PM +0300, Heikki Krogerus wrote: > +Mika > > On Fri, May 20, 2022 at 12:22:50PM +0200, Stefan Hoffmeister wrote: > > I am trying to diagnose a problem where I get video output on > > Thunderbolt on one DisplayPort, but no output on the second > > DisplayPort. > > > > I would love to turn on all the (kernel-level) logging output that > > there is, but do not know how to do that. > > > > Basically, on a Dell Inspiron 16 Plus (7610) laptop with Thunderbolt > > 4, I am running Fedora Linux 36 with kernel 5.17+. > > > > Connecting that laptop to a Thunderbolt docking station (Intel > > Thunderbolt 3 chip inside), > > with two screens attached via DisplayPort, I get only one screen up and running. > > > > I'd like to discover more about this apparent error mode, because > > attaching a different TB3 > > setup works fine. I am looking for some means to enable logging or to > > get debugging insight. > > > > Generally speaking, I suspect that this specific Dell laptop > > (configuration) has some challenges > > in the BIOS, and with Thunderbolt in general, but am totally blind to > > what is going on. > > > > This system offers potential for fun, this being a hybrid PRIME > > configuration, with an Intel iGPU passing through to an Nvidia dGPU > > which seems to be the only wired-up way to get DisplayPort output. In that system all the tunneling is done by the firmware so there is really not much you can debug on the kernel side. You can add "thunderbolt.dyndbg" in the command line to get more verbose logging but I doubt it reveals anything useful. How do you connect the monitors to the dock and what dock it is? ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-24 11:04 ` Mika Westerberg @ 2022-05-27 6:24 ` Stefan Hoffmeister 2022-05-27 9:10 ` Mika Westerberg 0 siblings, 1 reply; 19+ messages in thread From: Stefan Hoffmeister @ 2022-05-27 6:24 UTC (permalink / raw) To: Mika Westerberg; +Cc: Heikki Krogerus, linux-usb Hi, On Tue, May 24, 2022 at 1:04 PM Mika Westerberg <mika.westerberg@linux.intel.com> wrote: > > Hi, > > On Tue, May 24, 2022 at 01:55:23PM +0300, Heikki Krogerus wrote: > > +Mika > > > > On Fri, May 20, 2022 at 12:22:50PM +0200, Stefan Hoffmeister wrote: > > > I am trying to diagnose a problem where I get video output on > > > Thunderbolt on one DisplayPort, but no output on the second > > > DisplayPort. > > > > > > I would love to turn on all the (kernel-level) logging output that > > > there is, but do not know how to do that. > > > > > > Basically, on a Dell Inspiron 16 Plus (7610) laptop with Thunderbolt > > > 4, I am running Fedora Linux 36 with kernel 5.17+. > > > > > > Connecting that laptop to a Thunderbolt docking station (Intel > > > Thunderbolt 3 chip inside), > > > with two screens attached via DisplayPort, I get only one screen up and running. > > > > > > I'd like to discover more about this apparent error mode, because > > > attaching a different TB3 > > > setup works fine. I am looking for some means to enable logging or to > > > get debugging insight. > > > > > > Generally speaking, I suspect that this specific Dell laptop > > > (configuration) has some challenges > > > in the BIOS, and with Thunderbolt in general, but am totally blind to > > > what is going on. > > > > > > This system offers potential for fun, this being a hybrid PRIME > > > configuration, with an Intel iGPU passing through to an Nvidia dGPU > > > which seems to be the only wired-up way to get DisplayPort output. > > In that system all the tunneling is done by the firmware so there is > really not much you can debug on the kernel side. You can add > "thunderbolt.dyndbg" in the command line to get more verbose logging but > I doubt it reveals anything useful. > > How do you connect the monitors to the dock and what dock it is? The dock is an i-tec Thunderbolt3/USB-C Dual DisplayPort 4K Docking Station + Power Delivery 85W (https://i-tec.pro/en/produkt/tb3cdualdpdockpd-2/). This dock exposes two DisplayPort outs, to which I have connected one 2.5K screen and one 4K screen "natively", for running at 60 Hz. According to lspci from the "broken" Dell 7610 (BIOS version 1.7.0) the dock looks like this: [stefan@fedora ~]$ lspci -vt -[0000:00]-+-00.0 Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers +-01.0-[01]--+-00.0 NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] | \-00.1 NVIDIA Corporation Device 228e +-02.0 Intel Corporation TigerLake-H GT1 [UHD Graphics] +-04.0 Intel Corporation TigerLake-LP Dynamic Tuning Processor Participant +-06.0-[02]----00.0 KIOXIA Corporation Device 0001 +-07.0-[03-3a]----00.0-[04-05]----02.0-[05]----00.0 Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] +-08.0 Intel Corporation GNA Scoring Accelerator module ... For reference, when I attach a Dell XPS 9360 (also on Fedora 36), which works perfectly (both screens at expected resolution and refresh rate), I get this output [stefan@xps13 ~]# lspci -vt -[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers +-02.0 Intel Corporation HD Graphics 620 +-04.0 Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem +-14.0 Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller +-14.2 Intel Corporation Sunrise Point-LP Thermal subsystem +-15.0 Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 +-15.1 Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 +-16.0 Intel Corporation Sunrise Point-LP CSME HECI #1 +-1c.0-[01-39]----00.0-[02-39]--+-00.0-[03]----00.0 Intel Corporation DSL6340 Thunderbolt 3 NHI [Alpine Ridge 2C 2015] | +-01.0-[04-38]----00.0-[05-38]----02.0-[06]----00.0 Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] | \-02.0-[39]-- +-1c.4-[3a]----00.0 Intel Corporation Wi-Fi 6 AX200 ... On the broken Dell 7610 (BIOS version 1.7.0), everything else on the dock works fine - the NIC, USB ports (forwarding to the next hub, too), power delivery. Even any single one of the screens alone works fine, in isolation and solitude, on any of the dock DisplayPort outs (turning dock on/off in between). Only with both screens attached, only the "first" screen seems to be detected (and "first" really seems to translate to the physical DisplayPort out next to the power input socket on the dock). ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-27 6:24 ` Stefan Hoffmeister @ 2022-05-27 9:10 ` Mika Westerberg 2022-05-28 14:29 ` Stefan Hoffmeister 2022-05-29 19:51 ` Stefan Hoffmeister 0 siblings, 2 replies; 19+ messages in thread From: Mika Westerberg @ 2022-05-27 9:10 UTC (permalink / raw) To: Stefan Hoffmeister; +Cc: Heikki Krogerus, linux-usb Hi, On Fri, May 27, 2022 at 08:24:31AM +0200, Stefan Hoffmeister wrote: > Hi, > > On Tue, May 24, 2022 at 1:04 PM Mika Westerberg > <mika.westerberg@linux.intel.com> wrote: > > > > Hi, > > > > On Tue, May 24, 2022 at 01:55:23PM +0300, Heikki Krogerus wrote: > > > +Mika > > > > > > On Fri, May 20, 2022 at 12:22:50PM +0200, Stefan Hoffmeister wrote: > > > > I am trying to diagnose a problem where I get video output on > > > > Thunderbolt on one DisplayPort, but no output on the second > > > > DisplayPort. > > > > > > > > I would love to turn on all the (kernel-level) logging output that > > > > there is, but do not know how to do that. > > > > > > > > Basically, on a Dell Inspiron 16 Plus (7610) laptop with Thunderbolt > > > > 4, I am running Fedora Linux 36 with kernel 5.17+. > > > > > > > > Connecting that laptop to a Thunderbolt docking station (Intel > > > > Thunderbolt 3 chip inside), > > > > with two screens attached via DisplayPort, I get only one screen up and running. > > > > > > > > I'd like to discover more about this apparent error mode, because > > > > attaching a different TB3 > > > > setup works fine. I am looking for some means to enable logging or to > > > > get debugging insight. > > > > > > > > Generally speaking, I suspect that this specific Dell laptop > > > > (configuration) has some challenges > > > > in the BIOS, and with Thunderbolt in general, but am totally blind to > > > > what is going on. > > > > > > > > This system offers potential for fun, this being a hybrid PRIME > > > > configuration, with an Intel iGPU passing through to an Nvidia dGPU > > > > which seems to be the only wired-up way to get DisplayPort output. > > > > In that system all the tunneling is done by the firmware so there is > > really not much you can debug on the kernel side. You can add > > "thunderbolt.dyndbg" in the command line to get more verbose logging but > > I doubt it reveals anything useful. > > > > How do you connect the monitors to the dock and what dock it is? > > The dock is an i-tec Thunderbolt3/USB-C Dual DisplayPort 4K Docking > Station + Power Delivery 85W > (https://i-tec.pro/en/produkt/tb3cdualdpdockpd-2/). This dock exposes > two DisplayPort outs, to which I have connected one 2.5K screen and > one 4K screen "natively", for running at 60 Hz. According to lspci > from the "broken" Dell 7610 (BIOS version 1.7.0) the dock looks like > this: > > [stefan@fedora ~]$ lspci -vt > -[0000:00]-+-00.0 Intel Corporation 11th Gen Core Processor Host > Bridge/DRAM Registers > +-01.0-[01]--+-00.0 NVIDIA Corporation GA106M [GeForce RTX > 3060 Mobile / Max-Q] > | \-00.1 NVIDIA Corporation Device 228e > +-02.0 Intel Corporation TigerLake-H GT1 [UHD Graphics] > +-04.0 Intel Corporation TigerLake-LP Dynamic Tuning > Processor Participant > +-06.0-[02]----00.0 KIOXIA Corporation Device 0001 > +-07.0-[03-3a]----00.0-[04-05]----02.0-[05]----00.0 Intel > Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] > +-08.0 Intel Corporation GNA Scoring Accelerator module > ... > > For reference, when I attach a Dell XPS 9360 (also on Fedora 36), > which works perfectly (both screens at expected resolution and refresh > rate), I get this output > > [stefan@xps13 ~]# lspci -vt > -[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v6/7th Gen Core > Processor Host Bridge/DRAM Registers > +-02.0 Intel Corporation HD Graphics 620 > +-04.0 Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen > Core Processor Thermal Subsystem > +-14.0 Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller > +-14.2 Intel Corporation Sunrise Point-LP Thermal subsystem > +-15.0 Intel Corporation Sunrise Point-LP Serial IO I2C > Controller #0 > +-15.1 Intel Corporation Sunrise Point-LP Serial IO I2C > Controller #1 > +-16.0 Intel Corporation Sunrise Point-LP CSME HECI #1 > +-1c.0-[01-39]----00.0-[02-39]--+-00.0-[03]----00.0 Intel > Corporation DSL6340 Thunderbolt 3 NHI [Alpine Ridge 2C 2015] > | > +-01.0-[04-38]----00.0-[05-38]----02.0-[06]----00.0 Intel Corporation > JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] > | \-02.0-[39]-- > +-1c.4-[3a]----00.0 Intel Corporation Wi-Fi 6 AX200 > ... > > On the broken Dell 7610 (BIOS version 1.7.0), everything else on the > dock works fine - the NIC, USB ports (forwarding to the next hub, > too), power delivery. > > Even any single one of the screens alone works fine, in isolation and > solitude, on any of the dock DisplayPort outs (turning dock on/off in > between). Only with both screens attached, only the "first" screen > seems to be detected (and "first" really seems to translate to the > physical DisplayPort out next to the power input socket on the dock). OK, I think this is not a Thunderbolt issue but rather related to graphics so I would try to ask from the graphics folks if they have any ideas what might be the issue or how to debug further. There is not much the Linux Thunderbolt driver does here because it is the firmware that creates these tunnels, and I think it works here as expected. Probably dri-devel@lists.freedesktop.org is a good mailing list to ask graphics related help. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-27 9:10 ` Mika Westerberg @ 2022-05-28 14:29 ` Stefan Hoffmeister 2022-05-29 19:51 ` Stefan Hoffmeister 1 sibling, 0 replies; 19+ messages in thread From: Stefan Hoffmeister @ 2022-05-28 14:29 UTC (permalink / raw) To: Mika Westerberg; +Cc: Heikki Krogerus, linux-usb Hi, On Fri, May 27, 2022 at 11:10 AM Mika Westerberg <mika.westerberg@linux.intel.com> wrote: > > Hi, > > On Fri, May 27, 2022 at 08:24:31AM +0200, Stefan Hoffmeister wrote: > > Hi, > > > > On Tue, May 24, 2022 at 1:04 PM Mika Westerberg > > <mika.westerberg@linux.intel.com> wrote: > > > > > > Hi, > > > > > > On Tue, May 24, 2022 at 01:55:23PM +0300, Heikki Krogerus wrote: > > > > +Mika > > > > > > > > On Fri, May 20, 2022 at 12:22:50PM +0200, Stefan Hoffmeister wrote: > > > > > I am trying to diagnose a problem where I get video output on > > > > > Thunderbolt on one DisplayPort, but no output on the second > > > > > DisplayPort. > > > > > > > > > > I would love to turn on all the (kernel-level) logging output that > > > > > there is, but do not know how to do that. > > > > > > > > > > Basically, on a Dell Inspiron 16 Plus (7610) laptop with Thunderbolt > > > > > 4, I am running Fedora Linux 36 with kernel 5.17+. > > > > > > > > > > Connecting that laptop to a Thunderbolt docking station (Intel > > > > > Thunderbolt 3 chip inside), > > > > > with two screens attached via DisplayPort, I get only one screen up and running. > > > > > > > > > > I'd like to discover more about this apparent error mode, because > > > > > attaching a different TB3 > > > > > setup works fine. I am looking for some means to enable logging or to > > > > > get debugging insight. > > > > > > > > > > Generally speaking, I suspect that this specific Dell laptop > > > > > (configuration) has some challenges > > > > > in the BIOS, and with Thunderbolt in general, but am totally blind to > > > > > what is going on. > > > > > > > > > > This system offers potential for fun, this being a hybrid PRIME > > > > > configuration, with an Intel iGPU passing through to an Nvidia dGPU > > > > > which seems to be the only wired-up way to get DisplayPort output. > > > > > > In that system all the tunneling is done by the firmware so there is > > > really not much you can debug on the kernel side. You can add > > > "thunderbolt.dyndbg" in the command line to get more verbose logging but > > > I doubt it reveals anything useful. > > > > > > How do you connect the monitors to the dock and what dock it is? > > > > The dock is an i-tec Thunderbolt3/USB-C Dual DisplayPort 4K Docking > > Station + Power Delivery 85W > > (https://i-tec.pro/en/produkt/tb3cdualdpdockpd-2/). This dock exposes > > two DisplayPort outs, to which I have connected one 2.5K screen and > > one 4K screen "natively", for running at 60 Hz. According to lspci > > from the "broken" Dell 7610 (BIOS version 1.7.0) the dock looks like > > this: > > > > [stefan@fedora ~]$ lspci -vt > > -[0000:00]-+-00.0 Intel Corporation 11th Gen Core Processor Host > > Bridge/DRAM Registers > > +-01.0-[01]--+-00.0 NVIDIA Corporation GA106M [GeForce RTX > > 3060 Mobile / Max-Q] > > | \-00.1 NVIDIA Corporation Device 228e > > +-02.0 Intel Corporation TigerLake-H GT1 [UHD Graphics] > > +-04.0 Intel Corporation TigerLake-LP Dynamic Tuning > > Processor Participant > > +-06.0-[02]----00.0 KIOXIA Corporation Device 0001 > > +-07.0-[03-3a]----00.0-[04-05]----02.0-[05]----00.0 Intel > > Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] > > +-08.0 Intel Corporation GNA Scoring Accelerator module > > ... > > > > For reference, when I attach a Dell XPS 9360 (also on Fedora 36), > > which works perfectly (both screens at expected resolution and refresh > > rate), I get this output > > > > [stefan@xps13 ~]# lspci -vt > > -[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v6/7th Gen Core > > Processor Host Bridge/DRAM Registers > > +-02.0 Intel Corporation HD Graphics 620 > > +-04.0 Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen > > Core Processor Thermal Subsystem > > +-14.0 Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller > > +-14.2 Intel Corporation Sunrise Point-LP Thermal subsystem > > +-15.0 Intel Corporation Sunrise Point-LP Serial IO I2C > > Controller #0 > > +-15.1 Intel Corporation Sunrise Point-LP Serial IO I2C > > Controller #1 > > +-16.0 Intel Corporation Sunrise Point-LP CSME HECI #1 > > +-1c.0-[01-39]----00.0-[02-39]--+-00.0-[03]----00.0 Intel > > Corporation DSL6340 Thunderbolt 3 NHI [Alpine Ridge 2C 2015] > > | > > +-01.0-[04-38]----00.0-[05-38]----02.0-[06]----00.0 Intel Corporation > > JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] > > | \-02.0-[39]-- > > +-1c.4-[3a]----00.0 Intel Corporation Wi-Fi 6 AX200 > > ... > > > > On the broken Dell 7610 (BIOS version 1.7.0), everything else on the > > dock works fine - the NIC, USB ports (forwarding to the next hub, > > too), power delivery. > > > > Even any single one of the screens alone works fine, in isolation and > > solitude, on any of the dock DisplayPort outs (turning dock on/off in > > between). Only with both screens attached, only the "first" screen > > seems to be detected (and "first" really seems to translate to the > > physical DisplayPort out next to the power input socket on the dock). > > OK, I think this is not a Thunderbolt issue but rather related to > graphics so I would try to ask from the graphics folks if they have any > ideas what might be the issue or how to debug further. There is not much > the Linux Thunderbolt driver does here because it is the firmware that > creates these tunnels, and I think it works here as expected. I see the very same undesirable / defective behaviour across operating systems; what I see on the Linux side ("only one DisplayPort") is also exactly the same behaviour I see on a dual-booted Windows 11 Pro. So, in a way, that would rule out the (Linux) Thunderbolt _driver_. With the firmware (AKA "the Dell BIOS"?) creating tunnels, are there failure modes where that firmware might be setting up those tunnels "partially" wrong? After all, one DisplayPort works... Are there any magic words I can use, like ACPI? Routing? Anything beyond "tunnel"? My knowledge about these low-level things basically does not exist, sorry. FWIW, the dock NVM version is at "50", the working Dell at 26.1 and the broken Dell at 26 - would that be the firmware you are referring to? > Probably dri-devel@lists.freedesktop.org is a good mailing list to ask > graphics related help. Many thanks for the pointer! This will be rough because my notebook has an Nvidia GPU, the OSS nouveau driver barely doesn't die on that relatively new chip (GA106), and, of course, DisplayPort out is physically wired to the Nvidia hardware... ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-27 9:10 ` Mika Westerberg 2022-05-28 14:29 ` Stefan Hoffmeister @ 2022-05-29 19:51 ` Stefan Hoffmeister 2022-05-30 8:33 ` Tomasz Moń 1 sibling, 1 reply; 19+ messages in thread From: Stefan Hoffmeister @ 2022-05-29 19:51 UTC (permalink / raw) To: Mika Westerberg; +Cc: Heikki Krogerus, linux-usb Hello again :) On Fri, May 27, 2022 at 11:10 AM Mika Westerberg <mika.westerberg@linux.intel.com> wrote: > > Hi, > > On Fri, May 27, 2022 at 08:24:31AM +0200, Stefan Hoffmeister wrote: > > Hi, > > > > On Tue, May 24, 2022 at 1:04 PM Mika Westerberg > > <mika.westerberg@linux.intel.com> wrote: > > > > > > Hi, > > > > > > On Tue, May 24, 2022 at 01:55:23PM +0300, Heikki Krogerus wrote: > > > > +Mika > > > > > > > > On Fri, May 20, 2022 at 12:22:50PM +0200, Stefan Hoffmeister wrote: > > > > > I am trying to diagnose a problem where I get video output on > > > > > Thunderbolt on one DisplayPort, but no output on the second > > > > > DisplayPort. > > > > > > > > > > I would love to turn on all the (kernel-level) logging output that > > > > > there is, but do not know how to do that. > > > > > > > > > > Basically, on a Dell Inspiron 16 Plus (7610) laptop with Thunderbolt > > > > > 4, I am running Fedora Linux 36 with kernel 5.17+. > > > > > > > > > > Connecting that laptop to a Thunderbolt docking station (Intel > > > > > Thunderbolt 3 chip inside), > > > > > with two screens attached via DisplayPort, I get only one screen up and running. > > > > > > > > > > I'd like to discover more about this apparent error mode, because > > > > > attaching a different TB3 > > > > > setup works fine. I am looking for some means to enable logging or to > > > > > get debugging insight. > > > > > > > > > > Generally speaking, I suspect that this specific Dell laptop > > > > > (configuration) has some challenges > > > > > in the BIOS, and with Thunderbolt in general, but am totally blind to > > > > > what is going on. > > > > > > > > > > This system offers potential for fun, this being a hybrid PRIME > > > > > configuration, with an Intel iGPU passing through to an Nvidia dGPU > > > > > which seems to be the only wired-up way to get DisplayPort output. > > > > > > In that system all the tunneling is done by the firmware so there is > > > really not much you can debug on the kernel side. You can add > > > "thunderbolt.dyndbg" in the command line to get more verbose logging but > > > I doubt it reveals anything useful. > > > > > > How do you connect the monitors to the dock and what dock it is? > > > > The dock is an i-tec Thunderbolt3/USB-C Dual DisplayPort 4K Docking > > Station + Power Delivery 85W > > (https://i-tec.pro/en/produkt/tb3cdualdpdockpd-2/). This dock exposes > > two DisplayPort outs, to which I have connected one 2.5K screen and > > one 4K screen "natively", for running at 60 Hz. According to lspci > > from the "broken" Dell 7610 (BIOS version 1.7.0) the dock looks like > > this: > > > > [stefan@fedora ~]$ lspci -vt > > -[0000:00]-+-00.0 Intel Corporation 11th Gen Core Processor Host > > Bridge/DRAM Registers > > +-01.0-[01]--+-00.0 NVIDIA Corporation GA106M [GeForce RTX > > 3060 Mobile / Max-Q] > > | \-00.1 NVIDIA Corporation Device 228e > > +-02.0 Intel Corporation TigerLake-H GT1 [UHD Graphics] > > +-04.0 Intel Corporation TigerLake-LP Dynamic Tuning > > Processor Participant > > +-06.0-[02]----00.0 KIOXIA Corporation Device 0001 > > +-07.0-[03-3a]----00.0-[04-05]----02.0-[05]----00.0 Intel > > Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] > > +-08.0 Intel Corporation GNA Scoring Accelerator module > > ... > > > > For reference, when I attach a Dell XPS 9360 (also on Fedora 36), > > which works perfectly (both screens at expected resolution and refresh > > rate), I get this output > > > > [stefan@xps13 ~]# lspci -vt > > -[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v6/7th Gen Core > > Processor Host Bridge/DRAM Registers > > +-02.0 Intel Corporation HD Graphics 620 > > +-04.0 Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen > > Core Processor Thermal Subsystem > > +-14.0 Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller > > +-14.2 Intel Corporation Sunrise Point-LP Thermal subsystem > > +-15.0 Intel Corporation Sunrise Point-LP Serial IO I2C > > Controller #0 > > +-15.1 Intel Corporation Sunrise Point-LP Serial IO I2C > > Controller #1 > > +-16.0 Intel Corporation Sunrise Point-LP CSME HECI #1 > > +-1c.0-[01-39]----00.0-[02-39]--+-00.0-[03]----00.0 Intel > > Corporation DSL6340 Thunderbolt 3 NHI [Alpine Ridge 2C 2015] > > | > > +-01.0-[04-38]----00.0-[05-38]----02.0-[06]----00.0 Intel Corporation > > JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] > > | \-02.0-[39]-- > > +-1c.4-[3a]----00.0 Intel Corporation Wi-Fi 6 AX200 > > ... > > > > On the broken Dell 7610 (BIOS version 1.7.0), everything else on the > > dock works fine - the NIC, USB ports (forwarding to the next hub, > > too), power delivery. > > > > Even any single one of the screens alone works fine, in isolation and > > solitude, on any of the dock DisplayPort outs (turning dock on/off in > > between). Only with both screens attached, only the "first" screen > > seems to be detected (and "first" really seems to translate to the > > physical DisplayPort out next to the power input socket on the dock). > > OK, I think this is not a Thunderbolt issue but rather related to > graphics Based on updated information, I do believe even stronger that there is a problem specifically with Thunderbolt _somewhere_ in the stack. I am not saying that the Linux Thunderbolt driver is the root cause :) I have managed to wedge the system into a state where it does not know about Thunderbolt, and now, on what I presume to be USB-C only ("usb_typec_revision" == 1.2? Seems ... low?), both DisplayPort outputs on the docking station are now active, and I do get meaningful entries from the DRM subsystem (and hence X). I am half-way happy: I want exactly that over Thunderbolt for the bandwidth ;) This is the state I see with USB-C (I only have one port == port0): $ cd /sys/class/typec/port0 $ find . -type f -name 'svid' | xargs -i sh -c 'echo {}; cat {}' ./port0.3/svid 413c ./port0.1/svid ff01 ./port0.2/svid 413c ./port0.0/svid 8087 Based on my reading of https://www.quantumdata.com/assets/essentials_displayport_usb-c_dp_alt_mode_protocols_webinar.pdf the value of ff01 for SVID is defined as: "DP_SID (DisplayPort Standard Identifier) - 16-bit Identifier assigned by the USB-IF for the DisplayPort alt mode (FF01h) specification (standard)."; https://composter.com.ua/documents/USB_Billboard_Revision.1.2.1.pdf suggests that the 8087 part is the Intel VID and we are talking about power-delivery. 413c is the Dell USB vendor ID. I have no idea what any of that means, though, way out of my domain of knowledge. I see no "partner" entries in that scenario. Now, when I unwedge the system to enable Thunderbolt again, I see the same behaviour - only one DisplayPort output can be seen (this is not about the screens, I am looking at /sys/class/drm/. The thunderbolt module output I have pasted at the end of this message. Now, what irritates me is that on /sys/class/drm in the case of USB-C I get card0 card0-DP-1 card0-DP-2 card0-DP-3 card0-DP-4 card0-eDP-1 card0-HDMI-A-1 card1 card1-DP-5 card1-DP-6 card1-DP-7 with card1-DP-7 being where the second port suddenly pops up, but for no good reason? And card1-DP-5 is empty. And with Thunderbolt card0 card0-DP-1 card0-DP-2 card0-DP-3 card0-DP-4 card0-eDP-1 card0-HDMI-A-1 card1 card1-DP-5 card1-DP-6 "card1-DP-7" never is present, but then I have content in card1-DP-5, but nothing ever in card1-DP-6. I am just ... surprised, and don't know what observables / logging should happen when I plug in a cable into the "second" DisplayPort port. BR Stefan $ grep thunderbolt dmesg.txt [ 2393.181675] thunderbolt 0-1: device disconnected [ 2393.484134] thunderbolt 0000:00:0d.2: ICM rtd3 veto=0x00000000 [ 2407.639236] thunderbolt 0000:00:0d.2: current switch config: [ 2407.639245] thunderbolt 0000:00:0d.2: Thunderbolt 3 Switch: 8086:15ef (Revision: 6, TB Version: 16) [ 2407.639250] thunderbolt 0000:00:0d.2: Max Port Number: 13 [ 2407.639253] thunderbolt 0000:00:0d.2: Config: [ 2407.639254] thunderbolt 0000:00:0d.2: Upstream Port Number: 1 Depth: 1 Route String: 0x1 Enabled: 1, PlugEventsDelay: 10ms [ 2407.639258] thunderbolt 0000:00:0d.2: unknown1: 0x0 unknown4: 0x0 [ 2408.110732] thunderbolt 0000:00:0d.2: 1: reading drom (length: 0x66) [ 2414.788163] thunderbolt 0000:00:0d.2: 1: DROM version: 1 [ 2414.803299] thunderbolt 0000:00:0d.2: 1: uid: 0x16b26bdc8584100 [ 2414.841453] thunderbolt 0000:00:0d.2: Port 1: 8086:15ef (Revision: 6, TB Version: 1, Type: Port (0x1)) [ 2414.841467] thunderbolt 0000:00:0d.2: Max hop id (in/out): 19/19 [ 2414.841472] thunderbolt 0000:00:0d.2: Max counters: 16 [ 2414.841475] thunderbolt 0000:00:0d.2: NFC Credits: 0x7800046 [ 2414.841479] thunderbolt 0000:00:0d.2: Credits (total/control): 120/2 [ 2414.879467] thunderbolt 0000:00:0d.2: Port 2: 8086:15ef (Revision: 6, TB Version: 1, Type: Port (0x1)) [ 2414.879483] thunderbolt 0000:00:0d.2: Max hop id (in/out): 19/19 [ 2414.879488] thunderbolt 0000:00:0d.2: Max counters: 16 [ 2414.879491] thunderbolt 0000:00:0d.2: NFC Credits: 0x0 [ 2414.879494] thunderbolt 0000:00:0d.2: Credits (total/control): 0/2 [ 2414.879499] thunderbolt 0000:00:0d.2: 1:3: disabled by eeprom [ 2414.879503] thunderbolt 0000:00:0d.2: 1:4: disabled by eeprom [ 2414.879506] thunderbolt 0000:00:0d.2: 1:5: disabled by eeprom [ 2414.879508] thunderbolt 0000:00:0d.2: 1:6: disabled by eeprom [ 2414.879511] thunderbolt 0000:00:0d.2: 1:7: disabled by eeprom [ 2414.884685] thunderbolt 0000:00:0d.2: Port 8: 8086:15ef (Revision: 6, TB Version: 1, Type: PCIe (0x100102)) [ 2414.884695] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 2414.884700] thunderbolt 0000:00:0d.2: Max counters: 2 [ 2414.884702] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 2414.884706] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 2414.889725] thunderbolt 0000:00:0d.2: Port 9: 8086:15ef (Revision: 6, TB Version: 1, Type: PCIe (0x100101)) [ 2414.889736] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 2414.889740] thunderbolt 0000:00:0d.2: Max counters: 2 [ 2414.889743] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 2414.889746] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 2414.899756] thunderbolt 0000:00:0d.2: Port 10: 8086:15ef (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102)) [ 2414.899764] thunderbolt 0000:00:0d.2: Max hop id (in/out): 9/9 [ 2414.899768] thunderbolt 0000:00:0d.2: Max counters: 2 [ 2414.899771] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 2414.899774] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 2414.909862] thunderbolt 0000:00:0d.2: Port 11: 8086:15ef (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102)) [ 2414.909865] thunderbolt 0000:00:0d.2: Max hop id (in/out): 9/9 [ 2414.909866] thunderbolt 0000:00:0d.2: Max counters: 2 [ 2414.909867] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 2414.909868] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 2414.914998] thunderbolt 0000:00:0d.2: Port 12: 8086:15ea (Revision: 6, TB Version: 1, Type: Inactive (0x0)) [ 2414.915006] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 2414.915009] thunderbolt 0000:00:0d.2: Max counters: 2 [ 2414.915012] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 2414.915014] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 2414.920095] thunderbolt 0000:00:0d.2: Port 13: 8086:15ea (Revision: 6, TB Version: 1, Type: Inactive (0x0)) [ 2414.920103] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 2414.920109] thunderbolt 0000:00:0d.2: Max counters: 2 [ 2414.920112] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 2414.920114] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 2414.920130] thunderbolt 0-1: ACPI companion not found [ 2414.920132] thunderbolt 0-1: No ACPI support [ 2414.920175] thunderbolt 0-1: new device found, vendor=0x16b device=0x9010 [ 2414.920178] thunderbolt 0-1: i-tec TB3CDUALDPDOCKPD [ 2414.940384] thunderbolt 0000:00:0d.2: ICM rtd3 veto=0x00000001 ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-29 19:51 ` Stefan Hoffmeister @ 2022-05-30 8:33 ` Tomasz Moń 2022-05-30 9:54 ` Mika Westerberg 2022-05-30 18:02 ` Stefan Hoffmeister 0 siblings, 2 replies; 19+ messages in thread From: Tomasz Moń @ 2022-05-30 8:33 UTC (permalink / raw) To: Stefan Hoffmeister, Mika Westerberg; +Cc: Heikki Krogerus, linux-usb On Sun, 2022-05-29 at 21:51 +0200, Stefan Hoffmeister wrote: > I have managed to wedge the system into a state where it does not > know about Thunderbolt, and now, on what I presume to be USB-C only > ("usb_typec_revision" == 1.2? Seems ... low?), both DisplayPort > outputs on the docking station are now active, and I do get > meaningful entries from the DRM subsystem (and hence X). I am half- > way happy: I want exactly that over Thunderbolt for the bandwidth ;) Could you please tell how did you wedge the system into a state where it does not know about Thunderbolt? > Now, when I unwedge the system to enable Thunderbolt again I am curious about the wedge/unwedge procedure. Best Regards, Tomasz Moń ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-30 8:33 ` Tomasz Moń @ 2022-05-30 9:54 ` Mika Westerberg 2022-05-30 18:57 ` Stefan Hoffmeister 2022-06-02 19:34 ` Tomasz Moń 2022-05-30 18:02 ` Stefan Hoffmeister 1 sibling, 2 replies; 19+ messages in thread From: Mika Westerberg @ 2022-05-30 9:54 UTC (permalink / raw) To: Tomasz Moń; +Cc: Stefan Hoffmeister, Heikki Krogerus, linux-usb On Mon, May 30, 2022 at 10:33:06AM +0200, Tomasz Moń wrote: > On Sun, 2022-05-29 at 21:51 +0200, Stefan Hoffmeister wrote: > > I have managed to wedge the system into a state where it does not > > know about Thunderbolt, and now, on what I presume to be USB-C only > > ("usb_typec_revision" == 1.2? Seems ... low?), both DisplayPort > > outputs on the docking station are now active, and I do get > > meaningful entries from the DRM subsystem (and hence X). I am half- > > way happy: I want exactly that over Thunderbolt for the bandwidth ;) > > Could you please tell how did you wedge the system into a state where > it does not know about Thunderbolt? > > > Now, when I unwedge the system to enable Thunderbolt again > > I am curious about the wedge/unwedge procedure. Probably just connecting the dock using non-Thunderbolt Type-C cable. That will enter USB (+DP altmode) or so instead of Thunderbolt altmode. @Stefan, Can you paste contents of /sys/kernel/debug/thunderbolt/0-0/port5/regs and port6/regs here? Once you have conneted the dock with Thunderbolt cable. That should show if the both DP IN adapters are connected and hence if both DP tunnels are up. I'm guessing they are but better to check. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-30 9:54 ` Mika Westerberg @ 2022-05-30 18:57 ` Stefan Hoffmeister 2022-05-31 9:36 ` Mika Westerberg 2022-06-02 19:34 ` Tomasz Moń 1 sibling, 1 reply; 19+ messages in thread From: Stefan Hoffmeister @ 2022-05-30 18:57 UTC (permalink / raw) To: Mika Westerberg; +Cc: Tomasz Moń, Heikki Krogerus, linux-usb Many thanks for your continued support ... On Mon, May 30, 2022 at 11:54 AM Mika Westerberg <mika.westerberg@linux.intel.com> wrote: > > > On Sun, 2022-05-29 at 21:51 +0200, Stefan Hoffmeister wrote: > > > I have managed to wedge the system into a state where it does not > > > know about Thunderbolt, and now, on what I presume to be USB-C only > > > ("usb_typec_revision" == 1.2? Seems ... low?), both DisplayPort > > > outputs on the docking station are now active, and I do get > > > meaningful entries from the DRM subsystem (and hence X). I am half- > > > way happy: I want exactly that over Thunderbolt for the bandwidth ;) > Can you paste contents of > /sys/kernel/debug/thunderbolt/0-0/port5/regs and port6/regs here? > Once you have conneted the dock with Thunderbolt cable. That should show > if the both DP IN adapters are connected and hence if both DP tunnels > are up. I'm guessing they are but better to check. Steps, for a hopefully consistent and reproducible experience: * disconnect dock from power * add both (2.5K + 4K) screens to the dock (DisplayPort), 2.5K next to power inlet, 4K further to the middle * add power to dock * plug Thunderbolt connector into notebook * warm reboot notebook * boot to Wayland (and log in) - X shouldn't be any different $dmesg | grep HDMI [ 5.128604] thunderbolt 0000:00:0d.2: Port 5: 8086:9a1f (Revision: 5, TB Version: 1, Type: DP/HDMI (0xe0101)) [ 5.133597] thunderbolt 0000:00:0d.2: Port 6: 8086:9a1f (Revision: 5, TB Version: 1, Type: DP/HDMI (0xe0101)) [ 12.459885] thunderbolt 0000:00:0d.2: Port 10: 8086:15ef (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102)) [ 12.469951] thunderbolt 0000:00:0d.2: Port 11: 8086:15ef (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102)) "8096:9a1f" is the laptop's TB4 NHI; "8086:15ef" is the JHL7540 of the Thunderbolt dock Below I have dropped the data as of "logged into Wayland" (which is way beyond the timestamps above). In that state, the 2.5K screen is running at 60 Hz (on port 10?) and the 4K screen is literally lifeless / dark. Just by looking at the "regs" data, port 10 has more data than port 11. FWIW, when I say "Wayland", this is just disclosure. I believe that X is the same, I am just trying to diagnose some different scenario on Wayland. I am also flipping between the "native" HDMI port of the notebook and Thunderbolt / DisplayPort for those reasons, so I am treading a delicate path to have the right things plugged into the right port for repro. Caveat emptor? BR Stefan ********** $ grep thunderbolt boot_thunderbolt.txt ******************** [ 4.497375] ACPI: bus type thunderbolt registered [ 4.497710] thunderbolt 0000:00:0d.2: total paths: 12 [ 4.497998] thunderbolt 0000:00:0d.2: allocating TX ring 0 of size 10 [ 4.498020] thunderbolt 0000:00:0d.2: allocating RX ring 0 of size 10 [ 4.498035] thunderbolt 0000:00:0d.2: control channel created [ 4.498038] thunderbolt 0000:00:0d.2: using firmware connection manager [ 4.498039] thunderbolt 0000:00:0d.2: NHI initialized, starting thunderbolt [ 4.498041] thunderbolt 0000:00:0d.2: control channel starting... [ 4.498042] thunderbolt 0000:00:0d.2: starting TX ring 0 [ 4.498046] thunderbolt 0000:00:0d.2: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1) [ 4.498049] thunderbolt 0000:00:0d.2: starting RX ring 0 [ 4.498053] thunderbolt 0000:00:0d.2: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001) [ 4.586628] thunderbolt 0000:00:0d.2: USB4 proxy operations supported [ 4.586632] thunderbolt 0000:00:0d.2: security level set to none [ 4.592985] thunderbolt 0000:00:0d.2: current switch config: [ 4.592990] thunderbolt 0000:00:0d.2: USB4 Switch: 8087:9a1f (Revision: 5, TB Version: 32) [ 4.592994] thunderbolt 0000:00:0d.2: Max Port Number: 13 [ 4.592995] thunderbolt 0000:00:0d.2: Config: [ 4.592997] thunderbolt 0000:00:0d.2: Upstream Port Number: 7 Depth: 0 Route String: 0x0 Enabled: 1, PlugEventsDelay: 10ms [ 4.593001] thunderbolt 0000:00:0d.2: unknown1: 0x0 unknown4: 0x0 [ 4.677387] thunderbolt 0000:00:0d.2: 0: uid: 0xcce0a46080879309 [ 4.875540] thunderbolt 0000:00:0d.2: Port 1: 8086:9a1f (Revision: 5, TB Version: 1, Type: Port (0x1)) [ 4.875546] thunderbolt 0000:00:0d.2: Max hop id (in/out): 19/19 [ 4.875547] thunderbolt 0000:00:0d.2: Max counters: 16 [ 4.875549] thunderbolt 0000:00:0d.2: NFC Credits: 0x47800000 [ 4.875550] thunderbolt 0000:00:0d.2: Credits (total/control): 120/2 [ 5.042614] thunderbolt 0000:00:0d.2: Port 2: 8086:9a1f (Revision: 5, TB Version: 1, Type: Port (0x1)) [ 5.042621] thunderbolt 0000:00:0d.2: Max hop id (in/out): 19/19 [ 5.042622] thunderbolt 0000:00:0d.2: Max counters: 16 [ 5.042624] thunderbolt 0000:00:0d.2: NFC Credits: 0x80000000 [ 5.042625] thunderbolt 0000:00:0d.2: Credits (total/control): 0/2 [ 5.083002] thunderbolt 0000:00:0d.2: Port 3: 8086:9a1f (Revision: 5, TB Version: 1, Type: Port (0x1)) [ 5.083012] thunderbolt 0000:00:0d.2: Max hop id (in/out): 19/19 [ 5.083014] thunderbolt 0000:00:0d.2: Max counters: 16 [ 5.083015] thunderbolt 0000:00:0d.2: NFC Credits: 0x83c00000 [ 5.083016] thunderbolt 0000:00:0d.2: Credits (total/control): 60/2 [ 5.123582] thunderbolt 0000:00:0d.2: Port 4: 8086:9a1f (Revision: 5, TB Version: 1, Type: Port (0x1)) [ 5.123594] thunderbolt 0000:00:0d.2: Max hop id (in/out): 19/19 [ 5.123597] thunderbolt 0000:00:0d.2: Max counters: 16 [ 5.123601] thunderbolt 0000:00:0d.2: NFC Credits: 0x83c00000 [ 5.123603] thunderbolt 0000:00:0d.2: Credits (total/control): 60/2 [ 5.128604] thunderbolt 0000:00:0d.2: Port 5: 8086:9a1f (Revision: 5, TB Version: 1, Type: DP/HDMI (0xe0101)) [ 5.128617] thunderbolt 0000:00:0d.2: Max hop id (in/out): 9/9 [ 5.128622] thunderbolt 0000:00:0d.2: Max counters: 2 [ 5.128625] thunderbolt 0000:00:0d.2: NFC Credits: 0x4100000d [ 5.128627] thunderbolt 0000:00:0d.2: Credits (total/control): 16/0 [ 5.133597] thunderbolt 0000:00:0d.2: Port 6: 8086:9a1f (Revision: 5, TB Version: 1, Type: DP/HDMI (0xe0101)) [ 5.133605] thunderbolt 0000:00:0d.2: Max hop id (in/out): 9/9 [ 5.133606] thunderbolt 0000:00:0d.2: Max counters: 2 [ 5.133607] thunderbolt 0000:00:0d.2: NFC Credits: 0x100000d [ 5.133608] thunderbolt 0000:00:0d.2: Credits (total/control): 16/0 [ 5.146090] thunderbolt 0000:00:0d.2: Port 7: 8086:9a1f (Revision: 5, TB Version: 1, Type: NHI (0x2)) [ 5.146095] thunderbolt 0000:00:0d.2: Max hop id (in/out): 11/11 [ 5.146096] thunderbolt 0000:00:0d.2: Max counters: 16 [ 5.146097] thunderbolt 0000:00:0d.2: NFC Credits: 0x41800000 [ 5.146098] thunderbolt 0000:00:0d.2: Credits (total/control): 24/0 [ 5.151093] thunderbolt 0000:00:0d.2: Port 8: 8086:9a1f (Revision: 5, TB Version: 1, Type: PCIe (0x100101)) [ 5.151104] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 5.151108] thunderbolt 0000:00:0d.2: Max counters: 2 [ 5.151110] thunderbolt 0000:00:0d.2: NFC Credits: 0x40800000 [ 5.151114] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 5.156079] thunderbolt 0000:00:0d.2: Port 9: 8086:9a1f (Revision: 5, TB Version: 1, Type: PCIe (0x100101)) [ 5.156088] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 5.156091] thunderbolt 0000:00:0d.2: Max counters: 2 [ 5.156093] thunderbolt 0000:00:0d.2: NFC Credits: 0x40800000 [ 5.156096] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 5.158692] thunderbolt 0000:00:0d.2: Port 10: not implemented [ 5.161302] thunderbolt 0000:00:0d.2: Port 11: not implemented [ 5.166290] thunderbolt 0000:00:0d.2: Port 12: 8086:9a1f (Revision: 5, TB Version: 1, Type: USB (0x200101)) [ 5.166299] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 5.166302] thunderbolt 0000:00:0d.2: Max counters: 2 [ 5.166304] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 5.166307] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 5.171822] thunderbolt 0000:00:0d.2: Port 13: 8086:9a1f (Revision: 5, TB Version: 1, Type: USB (0x200101)) [ 5.171825] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 5.171826] thunderbolt 0000:00:0d.2: Max counters: 2 [ 5.171826] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 5.171827] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 5.171828] thunderbolt 0000:00:0d.2: 0: linked ports 1 <-> 2 [ 5.171829] thunderbolt 0000:00:0d.2: 0: linked ports 3 <-> 4 [ 5.178167] thunderbolt 0000:00:0d.2: ICM rtd3 veto=0x00000000 [ 5.182315] thunderbolt 0000:00:0d.2: current switch config: [ 5.182318] thunderbolt 0000:00:0d.2: Thunderbolt 3 Switch: 8086:15ef (Revision: 6, TB Version: 16) [ 5.182321] thunderbolt 0000:00:0d.2: Max Port Number: 13 [ 5.182322] thunderbolt 0000:00:0d.2: Config: [ 5.182323] thunderbolt 0000:00:0d.2: Upstream Port Number: 1 Depth: 1 Route String: 0x1 Enabled: 1, PlugEventsDelay: 10ms [ 5.182325] thunderbolt 0000:00:0d.2: unknown1: 0x0 unknown4: 0x0 [ 5.687160] thunderbolt 0000:00:0d.2: 1: reading drom (length: 0x66) [ 12.349348] thunderbolt 0000:00:0d.2: 1: DROM version: 1 [ 12.364493] thunderbolt 0000:00:0d.2: 1: uid: 0x16b26bdc8584100 [ 12.402123] thunderbolt 0000:00:0d.2: Port 1: 8086:15ef (Revision: 6, TB Version: 1, Type: Port (0x1)) [ 12.402134] thunderbolt 0000:00:0d.2: Max hop id (in/out): 19/19 [ 12.402138] thunderbolt 0000:00:0d.2: Max counters: 16 [ 12.402139] thunderbolt 0000:00:0d.2: NFC Credits: 0x7800046 [ 12.402142] thunderbolt 0000:00:0d.2: Credits (total/control): 120/2 [ 12.439798] thunderbolt 0000:00:0d.2: Port 2: 8086:15ef (Revision: 6, TB Version: 1, Type: Port (0x1)) [ 12.439809] thunderbolt 0000:00:0d.2: Max hop id (in/out): 19/19 [ 12.439812] thunderbolt 0000:00:0d.2: Max counters: 16 [ 12.439814] thunderbolt 0000:00:0d.2: NFC Credits: 0x0 [ 12.439816] thunderbolt 0000:00:0d.2: Credits (total/control): 0/2 [ 12.439819] thunderbolt 0000:00:0d.2: 1:3: disabled by eeprom [ 12.439822] thunderbolt 0000:00:0d.2: 1:4: disabled by eeprom [ 12.439823] thunderbolt 0000:00:0d.2: 1:5: disabled by eeprom [ 12.439825] thunderbolt 0000:00:0d.2: 1:6: disabled by eeprom [ 12.439827] thunderbolt 0000:00:0d.2: 1:7: disabled by eeprom [ 12.444782] thunderbolt 0000:00:0d.2: Port 8: 8086:15ef (Revision: 6, TB Version: 1, Type: PCIe (0x100102)) [ 12.444791] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 12.444794] thunderbolt 0000:00:0d.2: Max counters: 2 [ 12.444795] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 12.444797] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 12.449813] thunderbolt 0000:00:0d.2: Port 9: 8086:15ef (Revision: 6, TB Version: 1, Type: PCIe (0x100101)) [ 12.449824] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 12.449827] thunderbolt 0000:00:0d.2: Max counters: 2 [ 12.449829] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 12.449831] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 12.459885] thunderbolt 0000:00:0d.2: Port 10: 8086:15ef (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102)) [ 12.459896] thunderbolt 0000:00:0d.2: Max hop id (in/out): 9/9 [ 12.459899] thunderbolt 0000:00:0d.2: Max counters: 2 [ 12.459901] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 12.459903] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 12.469951] thunderbolt 0000:00:0d.2: Port 11: 8086:15ef (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102)) [ 12.469962] thunderbolt 0000:00:0d.2: Max hop id (in/out): 9/9 [ 12.469965] thunderbolt 0000:00:0d.2: Max counters: 2 [ 12.469966] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 12.469968] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 12.475010] thunderbolt 0000:00:0d.2: Port 12: 8086:15ea (Revision: 6, TB Version: 1, Type: Inactive (0x0)) [ 12.475021] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 12.475024] thunderbolt 0000:00:0d.2: Max counters: 2 [ 12.475025] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 12.475027] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 12.480040] thunderbolt 0000:00:0d.2: Port 13: 8086:15ea (Revision: 6, TB Version: 1, Type: Inactive (0x0)) [ 12.480055] thunderbolt 0000:00:0d.2: Max hop id (in/out): 8/8 [ 12.480058] thunderbolt 0000:00:0d.2: Max counters: 2 [ 12.480059] thunderbolt 0000:00:0d.2: NFC Credits: 0x800000 [ 12.480061] thunderbolt 0000:00:0d.2: Credits (total/control): 8/0 [ 12.480147] thunderbolt 0-1: new device found, vendor=0x16b device=0x9010 [ 12.480150] thunderbolt 0-1: i-tec TB3CDUALDPDOCKPD [ 12.500425] thunderbolt 0000:00:0d.2: ICM rtd3 veto=0x00000001 [ 12.500434] thunderbolt 0000:00:0d.2: ICM rtd3 veto=0x00000000 [ 12.500438] thunderbolt 0000:00:0d.2: ICM rtd3 veto=0x00000001 ********** $ cat /sys/kernel/debug/thunderbolt/0-0/port5/regs ******************** # offset relative_offset cap_id vs_cap_id value 0x0000 0 0x00 0x00 0x9a1f8086 0x0001 1 0x00 0x00 0x05080239 0x0002 2 0x00 0x00 0x010e0101 0x0003 3 0x00 0x00 0x80500010 0x0004 4 0x00 0x00 0x4100000d 0x0005 5 0x00 0x00 0x00004809 0x0006 6 0x00 0x00 0x00000000 0x0007 7 0x00 0x00 0x00000000 0x0008 8 0x00 0x00 0x00000000 0x0039 0 0x04 0x00 0xc009048f 0x003a 1 0x04 0x00 0x00004008 0x003b 2 0x04 0x00 0x8d10214a 0x003c 3 0x04 0x00 0x3f290005 0x003d 4 0x04 0x00 0x80c0a334 0x003e 5 0x04 0x00 0x88c0a234 0x003f 6 0x04 0x00 0x00000204 0x0040 7 0x04 0x00 0x88c0a234 0x008f 0 0x05 0x00 0x40000500 0x0090 1 0x05 0x00 0x00000000 0x0091 2 0x05 0x00 0x00000000 0x0092 3 0x05 0x00 0x00000000 0x0093 4 0x05 0x00 0x00000000 0x0094 5 0x05 0x00 0x00000000 0x0095 6 0x05 0x00 0x00000000 0x0096 7 0x05 0x00 0x00000000 0x0097 8 0x05 0x00 0x00000000 0x0098 9 0x05 0x00 0x00000000 0x0099 10 0x05 0x00 0x00000000 0x009a 11 0x05 0x00 0x00000000 0x009b 12 0x05 0x00 0x00000000 0x009c 13 0x05 0x00 0x00000000 0x009d 14 0x05 0x00 0x00000000 0x009e 15 0x05 0x00 0x00000000 0x009f 16 0x05 0x00 0x00000000 0x00a0 17 0x05 0x00 0x00000000 0x00a1 18 0x05 0x00 0x00000000 0x00a2 19 0x05 0x00 0x00000000 0x00a3 20 0x05 0x00 0x00000000 0x00a4 21 0x05 0x00 0x00000000 0x00a5 22 0x05 0x00 0x00000000 0x00a6 23 0x05 0x00 0x00000000 0x00a7 24 0x05 0x00 0x00000000 0x00a8 25 0x05 0x00 0x00000000 0x00a9 26 0x05 0x00 0x00000000 0x00aa 27 0x05 0x00 0x00000000 0x00ab 28 0x05 0x00 0x00000000 0x00ac 29 0x05 0x00 0x00000000 0x00ad 30 0x05 0x00 0x00000000 0x00ae 31 0x05 0x00 0x00000000 0x00af 32 0x05 0x00 0x00000000 0x00b0 33 0x05 0x00 0x00000000 0x00b1 34 0x05 0x00 0x00000000 0x00b2 35 0x05 0x00 0x00000000 0x00b3 36 0x05 0x00 0x00000000 0x00b4 37 0x05 0x00 0x00000000 0x00b5 38 0x05 0x00 0x00000000 0x00b6 39 0x05 0x00 0x00000000 0x00b7 40 0x05 0x00 0x00000000 0x00b8 41 0x05 0x00 0x00000000 0x00b9 42 0x05 0x00 0x00000000 0x00ba 43 0x05 0x00 0x00000000 0x00bb 44 0x05 0x00 0x00000000 0x00bc 45 0x05 0x00 0x00000000 0x00bd 46 0x05 0x00 0x00000000 0x00be 47 0x05 0x00 0x00000000 0x00bf 48 0x05 0x00 0x00000000 0x00c0 49 0x05 0x00 0x00000000 0x00c1 50 0x05 0x00 0x00000000 0x00c2 51 0x05 0x00 0x00000000 0x00c3 52 0x05 0x00 0x00000000 0x00c4 53 0x05 0x00 0x00000000 0x00c5 54 0x05 0x00 0x00000000 0x00c6 55 0x05 0x00 0x00000000 0x00c7 56 0x05 0x00 0x00000000 0x00c8 57 0x05 0x00 0x00000000 0x00c9 58 0x05 0x00 0x00000000 0x00ca 59 0x05 0x00 0x00000000 0x00cb 60 0x05 0x00 0x00000000 0x00cc 61 0x05 0x00 0x00000000 0x00cd 62 0x05 0x00 0x00000000 0x00ce 63 0x05 0x00 0x00000000 ********** $ cat /sys/kernel/debug/thunderbolt/0-0/port6/regs ******************** # offset relative_offset cap_id vs_cap_id value 0x0000 0 0x00 0x00 0x9a1f8086 0x0001 1 0x00 0x00 0x05080239 0x0002 2 0x00 0x00 0x010e0101 0x0003 3 0x00 0x00 0x80600010 0x0004 4 0x00 0x00 0x0100000d 0x0005 5 0x00 0x00 0x00004809 0x0006 6 0x00 0x00 0x00000000 0x0007 7 0x00 0x00 0x00000000 0x0008 8 0x00 0x00 0x00000000 0x0039 0 0x04 0x00 0x0009048f 0x003a 1 0x04 0x00 0x00004008 0x003b 2 0x04 0x00 0x46102102 0x003c 3 0x04 0x00 0x00410005 0x003d 4 0x04 0x00 0x00c0a334 0x003e 5 0x04 0x00 0x00000000 0x003f 6 0x04 0x00 0x00000000 0x0040 7 0x04 0x00 0x00000000 0x008f 0 0x05 0x00 0x40000500 0x0090 1 0x05 0x00 0x00000000 0x0091 2 0x05 0x00 0x00000000 0x0092 3 0x05 0x00 0x00000000 0x0093 4 0x05 0x00 0x00000000 0x0094 5 0x05 0x00 0x00000000 0x0095 6 0x05 0x00 0x00000000 0x0096 7 0x05 0x00 0x00000000 0x0097 8 0x05 0x00 0x00000000 0x0098 9 0x05 0x00 0x00000000 0x0099 10 0x05 0x00 0x00000000 0x009a 11 0x05 0x00 0x00000000 0x009b 12 0x05 0x00 0x00000000 0x009c 13 0x05 0x00 0x00000000 0x009d 14 0x05 0x00 0x00000000 0x009e 15 0x05 0x00 0x00000000 0x009f 16 0x05 0x00 0x00000000 0x00a0 17 0x05 0x00 0x00000000 0x00a1 18 0x05 0x00 0x00000000 0x00a2 19 0x05 0x00 0x00000000 0x00a3 20 0x05 0x00 0x00000000 0x00a4 21 0x05 0x00 0x00000000 0x00a5 22 0x05 0x00 0x00000000 0x00a6 23 0x05 0x00 0x00000000 0x00a7 24 0x05 0x00 0x00000000 0x00a8 25 0x05 0x00 0x00000000 0x00a9 26 0x05 0x00 0x00000000 0x00aa 27 0x05 0x00 0x00000000 0x00ab 28 0x05 0x00 0x00000000 0x00ac 29 0x05 0x00 0x00000000 0x00ad 30 0x05 0x00 0x00000000 0x00ae 31 0x05 0x00 0x00000000 0x00af 32 0x05 0x00 0x00000000 0x00b0 33 0x05 0x00 0x00000000 0x00b1 34 0x05 0x00 0x00000000 0x00b2 35 0x05 0x00 0x00000000 0x00b3 36 0x05 0x00 0x00000000 0x00b4 37 0x05 0x00 0x00000000 0x00b5 38 0x05 0x00 0x00000000 0x00b6 39 0x05 0x00 0x00000000 0x00b7 40 0x05 0x00 0x00000000 0x00b8 41 0x05 0x00 0x00000000 0x00b9 42 0x05 0x00 0x00000000 0x00ba 43 0x05 0x00 0x00000000 0x00bb 44 0x05 0x00 0x00000000 0x00bc 45 0x05 0x00 0x00000000 0x00bd 46 0x05 0x00 0x00000000 0x00be 47 0x05 0x00 0x00000000 0x00bf 48 0x05 0x00 0x00000000 0x00c0 49 0x05 0x00 0x00000000 0x00c1 50 0x05 0x00 0x00000000 0x00c2 51 0x05 0x00 0x00000000 0x00c3 52 0x05 0x00 0x00000000 0x00c4 53 0x05 0x00 0x00000000 0x00c5 54 0x05 0x00 0x00000000 0x00c6 55 0x05 0x00 0x00000000 0x00c7 56 0x05 0x00 0x00000000 0x00c8 57 0x05 0x00 0x00000000 0x00c9 58 0x05 0x00 0x00000000 0x00ca 59 0x05 0x00 0x00000000 0x00cb 60 0x05 0x00 0x00000000 0x00cc 61 0x05 0x00 0x00000000 0x00cd 62 0x05 0x00 0x00000000 0x00ce 63 0x05 0x00 0x00000000 ********** $ cat /sys/kernel/debug/thunderbolt/0-1/port10/regs ******************** # offset relative_offset cap_id vs_cap_id value 0x0000 0 0x00 0x00 0x15ef8086 0x0001 1 0x00 0x00 0x0608020a 0x0002 2 0x00 0x00 0x010e0102 0x0003 3 0x00 0x00 0x80a00008 0x0004 4 0x00 0x00 0x00800000 0x0005 5 0x00 0x00 0x00004809 0x0006 6 0x00 0x00 0x00000000 0x0007 7 0x00 0x00 0x00000000 0x0008 8 0x00 0x00 0x00000000 0x000a 0 0x03 0x00 0x00000339 0x000b 1 0x03 0x00 0x40110005 0x000c 2 0x03 0x00 0x00000000 0x000d 3 0x03 0x00 0x00000000 0x000e 4 0x03 0x00 0xffffffff 0x000f 5 0x03 0x00 0x00000000 0x0010 6 0x03 0x00 0x000009c4 0x0011 7 0x03 0x00 0x00c80002 0x0039 0 0x04 0x00 0xc009044f 0x003a 1 0x04 0x00 0x00004008 0x003b 2 0x04 0x00 0x000fff40 0x003c 3 0x04 0x00 0x3a290005 0x003d 4 0x04 0x00 0x00c0a234 0x003e 5 0x04 0x00 0x00c0a334 0x003f 6 0x04 0x00 0x04000204 0x0040 7 0x04 0x00 0x00c0a234 0x004f 0 0x05 0x01 0x40010500 0x0050 1 0x05 0x01 0x00000000 0x0051 2 0x05 0x01 0x0000d282 0x0052 3 0x05 0x01 0x00000000 0x0053 4 0x05 0x01 0x00000004 0x0054 5 0x05 0x01 0x00000000 0x0055 6 0x05 0x01 0x00000000 0x0056 7 0x05 0x01 0x00000000 0x0057 8 0x05 0x01 0x00000000 0x0058 9 0x05 0x01 0x00000000 0x0059 10 0x05 0x01 0x00000000 0x005a 11 0x05 0x01 0x00000000 0x005b 12 0x05 0x01 0x00000000 0x005c 13 0x05 0x01 0x00000000 0x005d 14 0x05 0x01 0x00000000 0x005e 15 0x05 0x01 0x00000000 0x005f 16 0x05 0x01 0x00000000 0x0060 17 0x05 0x01 0x00000000 0x0061 18 0x05 0x01 0x00000000 0x0062 19 0x05 0x01 0x00000000 0x0063 20 0x05 0x01 0x00000000 0x0064 21 0x05 0x01 0x00000000 0x0065 22 0x05 0x01 0x00000000 0x0066 23 0x05 0x01 0x00000000 0x0067 24 0x05 0x01 0x00000000 0x0068 25 0x05 0x01 0x00000000 0x0069 26 0x05 0x01 0x00000000 0x006a 27 0x05 0x01 0x00000000 0x006b 28 0x05 0x01 0x00000000 0x006c 29 0x05 0x01 0x00000000 0x006d 30 0x05 0x01 0x00000000 0x006e 31 0x05 0x01 0x00000000 0x006f 32 0x05 0x01 0x00000000 0x0070 33 0x05 0x01 0x00000000 0x0071 34 0x05 0x01 0x00000000 0x0072 35 0x05 0x01 0x00000000 0x0073 36 0x05 0x01 0x00000000 0x0074 37 0x05 0x01 0x00000000 0x0075 38 0x05 0x01 0x00000000 0x0076 39 0x05 0x01 0x00000000 0x0077 40 0x05 0x01 0x00000000 0x0078 41 0x05 0x01 0x00000000 0x0079 42 0x05 0x01 0x00000000 0x007a 43 0x05 0x01 0x00000000 0x007b 44 0x05 0x01 0x00000000 0x007c 45 0x05 0x01 0x00000000 0x007d 46 0x05 0x01 0x00000000 0x007e 47 0x05 0x01 0x00000000 0x007f 48 0x05 0x01 0x0000000a 0x0080 49 0x05 0x01 0x06410641 0x0081 50 0x05 0x01 0x00000000 0x0082 51 0x05 0x01 0x00000000 0x0083 52 0x05 0x01 0x00000000 0x0084 53 0x05 0x01 0x00000000 0x0085 54 0x05 0x01 0x00000000 0x0086 55 0x05 0x01 0x00000000 0x0087 56 0x05 0x01 0x00000000 0x0088 57 0x05 0x01 0x00000000 0x0089 58 0x05 0x01 0x00000000 0x008a 59 0x05 0x01 0x00000000 0x008b 60 0x05 0x01 0x00000000 0x008c 61 0x05 0x01 0x00000000 0x008d 62 0x05 0x01 0x00000000 0x008e 63 0x05 0x01 0x00000000 ********** $ cat /sys/kernel/debug/thunderbolt/0-1/port11/regs ******************** # offset relative_offset cap_id vs_cap_id value 0x0000 0 0x00 0x00 0x15ef8086 0x0001 1 0x00 0x00 0x0608020a 0x0002 2 0x00 0x00 0x010e0102 0x0003 3 0x00 0x00 0x80b00008 0x0004 4 0x00 0x00 0x00800000 0x0005 5 0x00 0x00 0x00004809 0x0006 6 0x00 0x00 0x00000000 0x0007 7 0x00 0x00 0x00000000 0x0008 8 0x00 0x00 0x00000000 0x000a 0 0x03 0x00 0x00000339 0x000b 1 0x03 0x00 0x40110005 0x000c 2 0x03 0x00 0x00000000 0x000d 3 0x03 0x00 0x00000000 0x000e 4 0x03 0x00 0xffffffff 0x000f 5 0x03 0x00 0x00000000 0x0010 6 0x03 0x00 0x000009c4 0x0011 7 0x03 0x00 0x00c80002 0x0039 0 0x04 0x00 0x0009044f 0x003a 1 0x04 0x00 0x00004008 0x003b 2 0x04 0x00 0x000fff40 0x003c 3 0x04 0x00 0x00400005 0x003d 4 0x04 0x00 0x00c0a234 0x003e 5 0x04 0x00 0x00000000 0x003f 6 0x04 0x00 0x04000000 0x0040 7 0x04 0x00 0x00c0a234 0x004f 0 0x05 0x01 0x34010500 0x0050 1 0x05 0x01 0x34010500 0x0051 2 0x05 0x01 0x34010500 0x0052 3 0x05 0x01 0x34010500 0x0053 4 0x05 0x01 0x34010500 0x0054 5 0x05 0x01 0x34010500 0x0055 6 0x05 0x01 0x34010500 0x0056 7 0x05 0x01 0x34010500 0x0057 8 0x05 0x01 0x34010500 0x0058 9 0x05 0x01 0x34010500 0x0059 10 0x05 0x01 0x34010500 0x005a 11 0x05 0x01 0x34010500 0x005b 12 0x05 0x01 0x34010500 0x005c 13 0x05 0x01 0x34010500 0x005d 14 0x05 0x01 0x34010500 0x005e 15 0x05 0x01 0x34010500 0x005f 16 0x05 0x01 0x34010500 0x0060 17 0x05 0x01 0x34010500 0x0061 18 0x05 0x01 0x34010500 0x0062 19 0x05 0x01 0x34010500 0x0063 20 0x05 0x01 0x34010500 0x0064 21 0x05 0x01 0x34010500 0x0065 22 0x05 0x01 0x34010500 0x0066 23 0x05 0x01 0x34010500 0x0067 24 0x05 0x01 0x34010500 0x0068 25 0x05 0x01 0x34010500 0x0069 26 0x05 0x01 0x34010500 0x006a 27 0x05 0x01 0x34010500 0x006b 28 0x05 0x01 0x34010500 0x006c 29 0x05 0x01 0x34010500 0x006d 30 0x05 0x01 0x34010500 0x006e 31 0x05 0x01 0x34010500 0x006f 32 0x05 0x01 0x34010500 0x0070 33 0x05 0x01 0x34010500 0x0071 34 0x05 0x01 0x34010500 0x0072 35 0x05 0x01 0x34010500 0x0073 36 0x05 0x01 0x34010500 0x0074 37 0x05 0x01 0x34010500 0x0075 38 0x05 0x01 0x34010500 0x0076 39 0x05 0x01 0x34010500 0x0077 40 0x05 0x01 0x34010500 0x0078 41 0x05 0x01 0x34010500 0x0079 42 0x05 0x01 0x34010500 0x007a 43 0x05 0x01 0x34010500 0x007b 44 0x05 0x01 0x34010500 0x007c 45 0x05 0x01 0x34010500 0x007d 46 0x05 0x01 0x34010500 0x007e 47 0x05 0x01 0x34010500 0x007f 48 0x05 0x01 0x0000000a 0x0080 49 0x05 0x01 0x06410641 0x0081 50 0x05 0x01 0x00000000 0x0082 51 0x05 0x01 0x00000000 ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-30 18:57 ` Stefan Hoffmeister @ 2022-05-31 9:36 ` Mika Westerberg 2022-05-31 19:45 ` Stefan Hoffmeister 0 siblings, 1 reply; 19+ messages in thread From: Mika Westerberg @ 2022-05-31 9:36 UTC (permalink / raw) To: Stefan Hoffmeister; +Cc: Tomasz Moń, Heikki Krogerus, linux-usb Hi, On Mon, May 30, 2022 at 08:57:34PM +0200, Stefan Hoffmeister wrote: > ********** $ cat /sys/kernel/debug/thunderbolt/0-0/port5/regs > ******************** > # offset relative_offset cap_id vs_cap_id value > 0x0000 0 0x00 0x00 0x9a1f8086 > 0x0001 1 0x00 0x00 0x05080239 > 0x0002 2 0x00 0x00 0x010e0101 > 0x0003 3 0x00 0x00 0x80500010 > 0x0004 4 0x00 0x00 0x4100000d > 0x0005 5 0x00 0x00 0x00004809 > 0x0006 6 0x00 0x00 0x00000000 > 0x0007 7 0x00 0x00 0x00000000 > 0x0008 8 0x00 0x00 0x00000000 > 0x0039 0 0x04 0x00 0xc009048f The bits 31:30 tell that this tunnel is active. > ********** $ cat /sys/kernel/debug/thunderbolt/0-0/port6/regs > ******************** > # offset relative_offset cap_id vs_cap_id value > 0x0000 0 0x00 0x00 0x9a1f8086 > 0x0001 1 0x00 0x00 0x05080239 > 0x0002 2 0x00 0x00 0x010e0101 > 0x0003 3 0x00 0x00 0x80600010 > 0x0004 4 0x00 0x00 0x0100000d > 0x0005 5 0x00 0x00 0x00004809 > 0x0006 6 0x00 0x00 0x00000000 > 0x0007 7 0x00 0x00 0x00000000 > 0x0008 8 0x00 0x00 0x00000000 > 0x0039 0 0x04 0x00 0x0009048f This one is not. > ********** $ cat /sys/kernel/debug/thunderbolt/0-1/port11/regs > ******************** > # offset relative_offset cap_id vs_cap_id value > 0x0000 0 0x00 0x00 0x15ef8086 > 0x0001 1 0x00 0x00 0x0608020a > 0x0002 2 0x00 0x00 0x010e0102 > 0x0003 3 0x00 0x00 0x80b00008 > 0x0004 4 0x00 0x00 0x00800000 > 0x0005 5 0x00 0x00 0x00004809 > 0x0006 6 0x00 0x00 0x00000000 > 0x0007 7 0x00 0x00 0x00000000 > 0x0008 8 0x00 0x00 0x00000000 > 0x000a 0 0x03 0x00 0x00000339 > 0x000b 1 0x03 0x00 0x40110005 > 0x000c 2 0x03 0x00 0x00000000 > 0x000d 3 0x03 0x00 0x00000000 > 0x000e 4 0x03 0x00 0xffffffff > 0x000f 5 0x03 0x00 0x00000000 > 0x0010 6 0x03 0x00 0x000009c4 > 0x0011 7 0x03 0x00 0x00c80002 > 0x0039 0 0x04 0x00 0x0009044f > 0x003a 1 0x04 0x00 0x00004008 > 0x003b 2 0x04 0x00 0x000fff40 > 0x003c 3 0x04 0x00 0x00400005 > 0x003d 4 0x04 0x00 0x00c0a234 This is the "local" capability and it tells that this one supports MST (bit 15). I wonder if this dock has the two DP outputs behind a MST "hub" or so? I've seen such devices out there. This would explain why there is only single DP tunnel active. I don't remember if you already mentioned but have you tried to connect the second monitor to the USB-C downstream ports on that dock? At least for some docks this is where the second DP OUT adapter is routed. If the second DP tunnel gets activated you should also see bits 31:30 of the port6/regs to be set by the connection manager firmware. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-31 9:36 ` Mika Westerberg @ 2022-05-31 19:45 ` Stefan Hoffmeister 2022-06-01 10:51 ` Mika Westerberg 0 siblings, 1 reply; 19+ messages in thread From: Stefan Hoffmeister @ 2022-05-31 19:45 UTC (permalink / raw) To: Mika Westerberg; +Cc: Tomasz Moń, Heikki Krogerus, linux-usb Hi, fascinating, so only one Thunderbolt tunnel is established by the Thunderbolt connection manager firmware on the Dell Inspiron 7610, despite two screens being connected via DisplayPort. On Tue, May 31, 2022 at 11:38 AM Mika Westerberg <mika.westerberg@linux.intel.com> wrote: > > > 0x0039 0 0x04 0x00 0xc009048f > > > The bits 31:30 tell that this tunnel is active. > > 0x0039 0 0x04 0x00 0x0009048f > > This one is not. I have a second notebook, a Dell XPS 9360 Kaby Lake generation, and there the situation (everything else identical) is [root@desktop-9c4gf7m ~]# dmesg | grep thunderbolt | grep HDMI [ 6.631731] thunderbolt 0000:03:00.0: Port 9: 8086:1576 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0101)) [ 6.631989] thunderbolt 0000:03:00.0: Port 10: 8086:1576 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0101)) [ 7.046273] thunderbolt 0000:03:00.0: Port 10: 8086:15ef (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102)) [ 7.046769] thunderbolt 0000:03:00.0: Port 11: 8086:15ef (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102)) cat /sys/kernel/debug/thunderbolt/0-0/port9/regs | grep -E ^0x0039 0x0039 0 0x04 0x00 0xc009044f cat /sys/kernel/debug/thunderbolt/0-0/port10/regs | grep -E ^0x0039 0x0039 0 0x04 0x00 0xc009044f This would suggest that, on the XPS 9360, two Thunderbolt tunnels were established (by the Thunderbolt connection manager firmware), which is matched with both the 2.5K and the 4K screen working at 60 Hz. > > > ********** $ cat /sys/kernel/debug/thunderbolt/0-1/port11/regs ... > > 0x003d 4 0x04 0x00 0x00c0a234 > > This is the "local" capability and it tells that this one supports MST > (bit 15). > > I wonder if this dock has the two DP outputs behind a MST "hub" or so? The content of https://i-tec.pro/en/produkt/tb3cdualdpdockpd-2/ mentions "2x DisplayPort (1x DP++ support)" (where DP++ == Dual-mode == DisplayPort++ - and "active vs passive" whatever that means). There is no mention of MST anywhere, and my screens are each on their own port. For the dock registers, while connected to the XPS 9360, I get [root@desktop-9c4gf7m ~]# cat /sys/kernel/debug/thunderbolt/0-1/port10/regs | grep -E ^0x003d 0x003d 4 0x04 0x00 0x00c0a214 [root@desktop-9c4gf7m ~]# cat /sys/kernel/debug/thunderbolt/0-1/port11/regs | grep -E ^0x003d 0x003d 4 0x04 0x00 0x00c0a214 which would imply MST in both cases? > I don't remember if you already mentioned but have you tried to connect > the second monitor to the USB-C downstream ports on that dock? At least > for some docks this is where the second DP OUT adapter is routed. I own a USB-C to DisplayPort adapter; trying to go 2.5K screen -> DisplayPort adapter -> USB-C port on both of the USB-C ports of the dock did not impress the screen one bit. The specs say "2x USB-C Gen 2 port (10 Gbps, for data only)", so I am not surprised. > If the second DP tunnel gets activated you should also see bits 31:30 of > the port6/regs to be set by the connection manager firmware. That's what I do see for the XPS 9360, but not for the Dell Inspiron 7610. On the (working) XPS 9360, boltctl list ● i-tec TB3CDUALDPDOCKPD ├─ type: peripheral ├─ name: TB3CDUALDPDOCKPD ├─ vendor: i-tec ├─ uuid: c0030000-0080-840e-83dc-6b1282b06021 ├─ generation: Thunderbolt 3 ├─ status: authorized │ ├─ domain: df010000-0062-6508-a2e8-71d78a74c118 │ ├─ rx speed: 40 Gb/s = 2 lanes * 20 Gb/s │ ├─ tx speed: 40 Gb/s = 2 lanes * 20 Gb/s │ └─ authflags: none ├─ authorized: Di 31 Mai 2022 16:38:55 ├─ connected: Di 31 Mai 2022 16:38:51 └─ stored: Fr 20 Aug 2021 08:52:32 ├─ policy: auto └─ key: no On the (broken) Inspiron 7610, ● i-tec TB3CDUALDPDOCKPD ├─ type: peripheral ├─ name: TB3CDUALDPDOCKPD ├─ vendor: i-tec ├─ uuid: 004158c8-bd26-6b01-ffff-ffffffffffff ├─ generation: Thunderbolt 3 ├─ status: authorized │ ├─ domain: 606de333-0530-8780-ffff-ffffffffffff │ ├─ rx speed: 40 Gb/s = 2 lanes * 20 Gb/s │ ├─ tx speed: 40 Gb/s = 2 lanes * 20 Gb/s │ └─ authflags: none ├─ authorized: Tue 31 May 2022 05:49:01 PM UTC ├─ connected: Tue 31 May 2022 05:49:01 PM UTC └─ stored: Tue 10 May 2022 06:48:15 PM UTC ├─ policy: iommu └─ key: no With respect to NVM versions (which, I think, would be the Thunderbolt connection manager?), I get * dock == 50.0 (cat /sys/bus/thunderbolt/devices/0-1/nvm_version) * XPS 9360 == 26.1 (cat /sys/bus/thunderbolt/devices/0-0/nvm_version) * Inspiron 7610 = ??? - I don't see nvm_version here? What could be reasons that the second tunnel is not established on the Dell? I read somewhere that Intel hands off the firmware to vendors (Dell) who then customize it for their systems? Could the vendor have made bad customizations / configurations of that package while integrating it? I would imagine that plugging in a DisplayPort cable makes the dock (firmware) signal something to the notebook (TB firmware) and a negotiation will take place. That negotiation fails, otherwise the tunnel would be established, and remain established? Is there a means to trace the negotiation? FWIW, I have read the phrase "insufficent provision of GPU Interfaces to the TB port" (sic, on Reddit), and a lengthy related post at https://www.dell.com/community/XPS/Understanding-Thunderbolt-docks-GPU-bandwidth-and-GPU-interfaces/td-p/7678776 which I will not pretend to understand. What I wonder about is whether the "GPU interfaces" situation would be reliably discoverable by inspecting ... something ... anything? Anyway, my impression, from a layering point of view, is that on the stack (my imagination!) * notebook hardware * firmware (BIOS, Thunderbolt firmware / connection manager, ...) * Linux thunderbolt driver * Linux graphics drivers: drm / kms (i915 / nvidia / nouveau) the graphics drivers are not involved when it comes to building / maintaining the Thunderbolt(!) tunnel? I am also reading "Thunderbolt Alternate Mode encapsulates DisplayPort Alternate Mode". To my ears this sounds like "wrap the raw DisplayPort Alternate Mode bitstream", just with more bandwidth. Pure "DisplayPort Alternate Mode" I can force with success by way of disabling Thunderbolt in the BIOS (at the expense of bandwidth -> bad refresh rate). And "DisplayPort Alternate Mode" gives me _both_ screens, apparently very much scraping along at the max protocol bandwidth, with the 4K screen going black (out of sync?) every once in a while. Sorry for my rambling, this is an area where I have no expertise. Anyway, if those graphics drivers are involved for _Thunderbolt_, please do tell me, and I'll venture over to dri-devel. And given what I see above, is that still "Thunderbolt 4 Certified" ("Two 4K displays") in the case of the Dell Inspiron 7610? BR and many thanks for your patience! Stefan ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-31 19:45 ` Stefan Hoffmeister @ 2022-06-01 10:51 ` Mika Westerberg 0 siblings, 0 replies; 19+ messages in thread From: Mika Westerberg @ 2022-06-01 10:51 UTC (permalink / raw) To: Stefan Hoffmeister; +Cc: Tomasz Moń, Heikki Krogerus, linux-usb Hi, On Tue, May 31, 2022 at 09:45:55PM +0200, Stefan Hoffmeister wrote: > What could be reasons that the second tunnel is not established on the > Dell? I read somewhere that Intel hands off the firmware to vendors > (Dell) who then customize it for their systems? Could the vendor have > made bad customizations / configurations of that package while > integrating it? Probably not a firmware issue. > I would imagine that plugging in a DisplayPort cable makes the dock > (firmware) signal something to the notebook (TB firmware) and a > negotiation will take place. That negotiation fails, otherwise the > tunnel would be established, and remain established? Is there a means > to trace the negotiation? It is all done in firmware but when you plug in DisplayPort cable to the dock, it generates a hotplug event for that DP OUT adapter and this will then be handled by the firmware connection manager by establishing a DP tunnel (if it finds resources). > FWIW, I have read the phrase "insufficent provision of GPU Interfaces > to the TB port" (sic, on Reddit), and a lengthy related post at > https://www.dell.com/community/XPS/Understanding-Thunderbolt-docks-GPU-bandwidth-and-GPU-interfaces/td-p/7678776 > which I will not pretend to understand. > > What I wonder about is whether the "GPU interfaces" situation would be > reliably discoverable by inspecting ... something ... anything? > > Anyway, my impression, from a layering point of view, is that on the > stack (my imagination!) > > * notebook hardware > * firmware (BIOS, Thunderbolt firmware / connection manager, ...) > * Linux thunderbolt driver > * Linux graphics drivers: drm / kms (i915 / nvidia / nouveau) > > the graphics drivers are not involved when it comes to building / > maintaining the Thunderbolt(!) tunnel? Correct. > I am also reading "Thunderbolt Alternate Mode encapsulates DisplayPort > Alternate Mode". To my ears this sounds like "wrap the raw DisplayPort > Alternate Mode bitstream", just with more bandwidth. Pure "DisplayPort > Alternate Mode" I can force with success by way of disabling > Thunderbolt in the BIOS (at the expense of bandwidth -> bad refresh > rate). And "DisplayPort Alternate Mode" gives me _both_ screens, > apparently very much scraping along at the max protocol bandwidth, > with the 4K screen going black (out of sync?) every once in a while. > > Sorry for my rambling, this is an area where I have no expertise. > > Anyway, if those graphics drivers are involved for _Thunderbolt_, > please do tell me, and I'll venture over to dri-devel. In case of firmware based connection manager, the Thunderbolt driver does not do much. Pretty much just the PCIe tunnel authorization and power management things (and P2P). IIRC this non-working system had a discrete (NVIDIA?) GPU? It may be that routing it to the DP IN adapters in the Thunderbolt host router requires something we don't implement in Linux side yet. > And given what I see above, is that still "Thunderbolt 4 Certified" > ("Two 4K displays") in the case of the Dell Inspiron 7610? This I don't know I would expect Dell testing this, at least with their own dock. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-30 9:54 ` Mika Westerberg 2022-05-30 18:57 ` Stefan Hoffmeister @ 2022-06-02 19:34 ` Tomasz Moń 2022-06-03 5:04 ` Mika Westerberg 2022-06-07 17:28 ` Stefan Hoffmeister 1 sibling, 2 replies; 19+ messages in thread From: Tomasz Moń @ 2022-06-02 19:34 UTC (permalink / raw) To: Mika Westerberg; +Cc: Stefan Hoffmeister, Heikki Krogerus, linux-usb On Mon, 2022-05-30 at 12:54 +0300, Mika Westerberg wrote: > On Mon, May 30, 2022 at 10:33:06AM +0200, Tomasz Moń wrote: > > On Sun, 2022-05-29 at 21:51 +0200, Stefan Hoffmeister wrote: > > > I have managed to wedge the system into a state where it does not > > > know about Thunderbolt, and now, on what I presume to be USB-C only > > > ("usb_typec_revision" == 1.2? Seems ... low?), both DisplayPort > > > outputs on the docking station are now active, and I do get > > > meaningful entries from the DRM subsystem (and hence X). I am half- > > > way happy: I want exactly that over Thunderbolt for the bandwidth ;) > > > > Could you please tell how did you wedge the system into a state where > > it does not know about Thunderbolt? > > > > > Now, when I unwedge the system to enable Thunderbolt again > > > > I am curious about the wedge/unwedge procedure. > > Probably just connecting the dock using non-Thunderbolt Type-C cable. > That will enter USB (+DP altmode) or so instead of Thunderbolt altmode. How do I determine that the cable is non-Thunderbolt Type-C? I have tried with two different brands 1m USB Type-C cables that are not advertised as Thunderbolt. Both cables are electronically marked and 5A capable. When the docking station is connected using these cables, it operates in Thunderbolt mode. If the device was operating in USB (+DP altmode), I assume that boltctl would show that the docking station status as disconnected? Can I read the cable EMCA details in Linux? Best Regards, Tomasz Moń ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-06-02 19:34 ` Tomasz Moń @ 2022-06-03 5:04 ` Mika Westerberg 2022-06-08 14:27 ` Tomasz Moń 2022-06-07 17:28 ` Stefan Hoffmeister 1 sibling, 1 reply; 19+ messages in thread From: Mika Westerberg @ 2022-06-03 5:04 UTC (permalink / raw) To: Tomasz Moń; +Cc: Stefan Hoffmeister, Heikki Krogerus, linux-usb On Thu, Jun 02, 2022 at 09:34:27PM +0200, Tomasz Moń wrote: > On Mon, 2022-05-30 at 12:54 +0300, Mika Westerberg wrote: > > On Mon, May 30, 2022 at 10:33:06AM +0200, Tomasz Moń wrote: > > > On Sun, 2022-05-29 at 21:51 +0200, Stefan Hoffmeister wrote: > > > > I have managed to wedge the system into a state where it does not > > > > know about Thunderbolt, and now, on what I presume to be USB-C only > > > > ("usb_typec_revision" == 1.2? Seems ... low?), both DisplayPort > > > > outputs on the docking station are now active, and I do get > > > > meaningful entries from the DRM subsystem (and hence X). I am half- > > > > way happy: I want exactly that over Thunderbolt for the bandwidth ;) > > > > > > Could you please tell how did you wedge the system into a state where > > > it does not know about Thunderbolt? > > > > > > > Now, when I unwedge the system to enable Thunderbolt again > > > > > > I am curious about the wedge/unwedge procedure. > > > > Probably just connecting the dock using non-Thunderbolt Type-C cable. > > That will enter USB (+DP altmode) or so instead of Thunderbolt altmode. > > How do I determine that the cable is non-Thunderbolt Type-C? It does not have that "lightning" logo on the connector. > I have tried with two different brands 1m USB Type-C cables that are > not advertised as Thunderbolt. Both cables are electronically marked > and 5A capable. When the docking station is connected using these > cables, it operates in Thunderbolt mode. Oh, yeah it is possible actually that with a passive type-C cable that it still enters TBT/USB4 mode (20G). I think. > If the device was operating in USB (+DP altmode), I assume that boltctl > would show that the docking station status as disconnected? Correct. > Can I read the cable EMCA details in Linux? This I don't know. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-06-03 5:04 ` Mika Westerberg @ 2022-06-08 14:27 ` Tomasz Moń 2022-06-11 16:29 ` Tomasz Moń 0 siblings, 1 reply; 19+ messages in thread From: Tomasz Moń @ 2022-06-08 14:27 UTC (permalink / raw) To: Mika Westerberg; +Cc: Stefan Hoffmeister, Heikki Krogerus, linux-usb On Fri, 2022-06-03 at 08:04 +0300, Mika Westerberg wrote: > On Thu, Jun 02, 2022 at 09:34:27PM +0200, Tomasz Moń wrote: > > How do I determine that the cable is non-Thunderbolt Type-C? > > It does not have that "lightning" logo on the connector. I got two more (to a total of 4) cables without lightning logo and all seem to enter Thunderbolt mode. > > I have tried with two different brands 1m USB Type-C cables that are > > not advertised as Thunderbolt. Both cables are electronically marked > > and 5A capable. When the docking station is connected using these > > cables, it operates in Thunderbolt mode. > > Oh, yeah it is possible actually that with a passive type-C cable that > it still enters TBT/USB4 mode (20G). I think. Yes, with all the cables boltctl shows 20 Gb/s = 2 lanes * 10 Gb/s With the 0.7m cable that came with dock (without e-Marker), boltctl shows 40 Gb/s = 2 lanes * 20 Gb/s > > If the device was operating in USB (+DP altmode), I assume that boltctl > > would show that the docking station status as disconnected? > > Correct. > > > Can I read the cable EMCA details in Linux? > > This I don't know. My USB-C Power Meter shows basic EMCA details. I presume the information is not complete (it only shows it on small display, I didn't find option to export/dump EMCA). Below is the EMCA for all 4 cables. None support Thunderbolt, but all, even the 3m one, manage to enter Thunderbolt mode. Type Passive Cable Vendor CE-LINK (0x2095) Specs [ <10ns (~1m) ] [ 20V ] [ 5A ] [ USB3 10Gbps ] VER HW:0009 FW:0001 VDO:0 v:3 Vdo object hex IdHeader 0x18002095 CertStat 0x00000974 Product 0x00050310 Cable 0x91082042 SVISD 0x00000000 TBT3/4 0x00000000 Type Passive Cable Vendor Unknown (0x0000) Specs [ <10ns (~1m) ] [ 20V ] [ 5A ] [ USB3 10Gbps ] VER HW:0000 FW:0000 VDO:0 v:3 Vdo object hex IdHeader 0x18000000 CertStat 0x00000000 Product 0x00000000 Cable 0x00082042 SVISD 0x00000000 TBT3/4 0x00000000 Type Passive Cable Vendor VIA Labs (0x2109) Specs [ <20ns (~2m) ] [ 20V ] [ 5A ] [ USB3 10Gbps ] VER HW:0000 FW:0000 VDO:0 v:3 Vdo object hex IdHeader 0x18002109 CertStat 0x00000000 Product 0x00000000 Cable 0x00004042 SVISD 0x00000000 TBT3/4 0x00000000 Type Passive Cable Vendor Yichong (0x315c) Specs [ <30ns (~3m) ] [ 20V ] [ 5A ] [ USB3 10Gbps ] VER HW:0001 FW:0001 VDO:0 v:3 Vdo object hex IdHeader 0x1800315c CertStat 0x00004244 Product 0x00020002 Cable 0x11086042 SVISD 0x00000000 TBT3/4 0x00000000 ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-06-08 14:27 ` Tomasz Moń @ 2022-06-11 16:29 ` Tomasz Moń 0 siblings, 0 replies; 19+ messages in thread From: Tomasz Moń @ 2022-06-11 16:29 UTC (permalink / raw) To: Mika Westerberg; +Cc: Stefan Hoffmeister, Heikki Krogerus, linux-usb On Wed, 2022-06-08 at 16:27 +0200, Tomasz Moń wrote: > On Fri, 2022-06-03 at 08:04 +0300, Mika Westerberg wrote: > > On Thu, Jun 02, 2022 at 09:34:27PM +0200, Tomasz Moń wrote: > > > How do I determine that the cable is non-Thunderbolt Type-C? > > > > It does not have that "lightning" logo on the connector. > > I got two more (to a total of 4) cables without lightning logo and all > seem to enter Thunderbolt mode. I managed to get an active 3 meters long USB Type-C cable. It is both a directional cable (meaning the host end has to be plugged into laptop and sink into dock) and appear to have working display port only when connected with correct plug orientation. That is, rotating USB-C plug 180 degrees switches between working DP altmode and non-working. The active cable I have features retimer in the middle of the cable. The retimer is definitely noticeable (it is bulky) and does get warm when in use. This cable indeed does inhibit Thunderbolt operation and dock status in boltctl is disconnected. The EMCA information for the active cable is below. Even though the cable is 3 meters long it claims to be 2 meters. Type Active Cable Vendor Unknown (0x0bda) Specs [ <20ns (~2m) ] [ 20V ] [ 3A ] [ USB3 10Gbps ] VER HW:0001 FW:0002 VDO:0 v:2 Vdo object hex IdHeader 0x24000bda CertStat 0x00000000 Product 0x00000209 Cable 0x120851b2 SVISD 0x0bdaff01 TBT3/4 0x00000000 ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-06-02 19:34 ` Tomasz Moń 2022-06-03 5:04 ` Mika Westerberg @ 2022-06-07 17:28 ` Stefan Hoffmeister 1 sibling, 0 replies; 19+ messages in thread From: Stefan Hoffmeister @ 2022-06-07 17:28 UTC (permalink / raw) To: Tomasz Moń; +Cc: Mika Westerberg, Heikki Krogerus, linux-usb On Thu, Jun 2, 2022 at 9:34 PM Tomasz Moń <desowin@gmail.com> wrote: > > How do I determine that the cable is non-Thunderbolt Type-C? > > I have tried with two different brands 1m USB Type-C cables that are > not advertised as Thunderbolt. Both cables are electronically marked > and 5A capable. When the docking station is connected using these > cables, it operates in Thunderbolt mode. As far as I can tell, the physical wiring of a "full-featured USB-C cable" and a "Thunderbolt cable" are exactly the same - see https://en.wikipedia.org/wiki/USB-C#Alternate_Mode_partner_specifications I could imagine that Thunderbolt cable might be produced / designed to have better quality (better shielding, reduced tolerances, et al), but apart from that ... ? https://www.usb.org/sites/default/files/D2T2-2%20-%20USB4%20Cable%20and%20System.pdf looks pretty, but I will not pretend to understand much of what is written there. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: Thunderbolt: One missing DisplayPort? 2022-05-30 8:33 ` Tomasz Moń 2022-05-30 9:54 ` Mika Westerberg @ 2022-05-30 18:02 ` Stefan Hoffmeister 1 sibling, 0 replies; 19+ messages in thread From: Stefan Hoffmeister @ 2022-05-30 18:02 UTC (permalink / raw) To: Tomasz Moń; +Cc: Mika Westerberg, Heikki Krogerus, linux-usb On Mon, May 30, 2022 at 10:33 AM Tomasz Moń <desowin@gmail.com> wrote: > > On Sun, 2022-05-29 at 21:51 +0200, Stefan Hoffmeister wrote: > > I have managed to wedge the system into a state where it does not > > know about Thunderbolt, and now, on what I presume to be USB-C only > Could you please tell how did you wedge the system into a state where > it does not know about Thunderbolt? I was thinking of going the "find a bad-enough good cable" route as mentioned by Mika, but then I discovered that I possess only * a Thunderbolt cable * a 100W power delivery cable (which to my surprise still does what appears to be USB 2.0) and that it was the weekend. Incidentally I had been poking at the "Dell Client Configuration Toolkit" (hardly advertised) previously - which, at least in its RedHat 8 incarnation, will destroy anything related to openssl (in particular sudoers) through ldconfig on Fedora 36 in a native installation, with much fun ensuing given a disabled root account. But I digress. The "Dell Client Configuration Toolkit" gives you command-line access to the BIOS on modern (2018+) Dell boxes; this exposes a BIOS configuration option (not visible / recognizable in the BIOS UI) to set "ThunderboltPorts" to "Disabled". Setting that to "Enabled" didn't make the laptop explode, so "Disabled" apparently reconfigured / forced the onboard TB4 Intel controller to forget everything about Thunderbolt, ending up with plain USB-C at revision 1.2 (pretty old). Net observable effect: "only the first screen works on Thunderbolt" we go to * Windows 11 can do "2.5K@60 Hz + 4K @ 30 Hz", and * Linux can do a slightly _flakey_"2.5K + 4K @ 60 Hz". I like a stable 60 Hz screen refresh rate (enabled by native Thunderbolt bandwidth) ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2022-06-11 16:29 UTC | newest] Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-05-20 10:22 Thunderbolt: One missing DisplayPort? Stefan Hoffmeister 2022-05-24 10:55 ` Heikki Krogerus 2022-05-24 11:04 ` Mika Westerberg 2022-05-27 6:24 ` Stefan Hoffmeister 2022-05-27 9:10 ` Mika Westerberg 2022-05-28 14:29 ` Stefan Hoffmeister 2022-05-29 19:51 ` Stefan Hoffmeister 2022-05-30 8:33 ` Tomasz Moń 2022-05-30 9:54 ` Mika Westerberg 2022-05-30 18:57 ` Stefan Hoffmeister 2022-05-31 9:36 ` Mika Westerberg 2022-05-31 19:45 ` Stefan Hoffmeister 2022-06-01 10:51 ` Mika Westerberg 2022-06-02 19:34 ` Tomasz Moń 2022-06-03 5:04 ` Mika Westerberg 2022-06-08 14:27 ` Tomasz Moń 2022-06-11 16:29 ` Tomasz Moń 2022-06-07 17:28 ` Stefan Hoffmeister 2022-05-30 18:02 ` Stefan Hoffmeister
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.