* 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 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
* 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-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-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
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.