2024-05-21 09:13:00

by Gia

[permalink] [raw]
Subject: Re: [REGRESSION][BISECTED] "xHCI host controller not responding, assume dead" on stable kernel > 6.8.7

Here you have the output from the dock upstream port:

sudo tbdump -r 2 -a 1 -vv -N2 LANE_ADP_CS_0

0x0036 0x003c013e 0b00000000 00111100 00000001 00111110 .... LANE_ADP_CS_0
[00:07] 0x3e Next Capability Pointer
[08:15] 0x1 Capability ID
[16:19] 0xc Supported Link Speeds
[20:21] 0x3 Supported Link Widths (SLW)
[22:23] 0x0 Gen 4 Asymmetric Support (G4AS)
[26:26] 0x0 CL0s Support
[27:27] 0x0 CL1 Support
[28:28] 0x0 CL2 Support
0x0037 0x0828003c 0b00001000 00101000 00000000 00111100 .... LANE_ADP_CS_1
[00:03] 0xc Target Link Speed → Router shall attempt Gen 3 speed
[04:05] 0x3 Target Link Width → Establish a Symmetric Link
[06:07] 0x0 Target Asymmetric Link → Establish Symmetric Link
[10:10] 0x0 CL0s Enable
[11:11] 0x0 CL1 Enable
[12:12] 0x0 CL2 Enable
[14:14] 0x0 Lane Disable (LD)
[15:15] 0x0 Lane Bonding (LB)
[16:19] 0x8 Current Link Speed → Gen 2
[20:25] 0x2 Negotiated Link Width → Symmetric Link (x2)
[26:29] 0x2 Adapter State → CL0
[30:30] 0x0 PM Secondary (PMS)

On Tue, May 21, 2024 at 10:59 AM Mika Westerberg
<[email protected]> wrote:
>
> On Tue, May 21, 2024 at 10:15:28AM +0200, Gia wrote:
> > Here you go:
> >
> > 0x0080 0x003c01c0 0b00000000 00111100 00000001 11000000 .... LANE_ADP_CS_0
> > [00:07] 0xc0 Next Capability Pointer
> > [08:15] 0x1 Capability ID
> > [16:19] 0xc Supported Link Speeds
> > [20:21] 0x3 Supported Link Widths (SLW)
> > [22:23] 0x0 Gen 4 Asymmetric Support (G4AS)
> > [26:26] 0x0 CL0s Support
> > [27:27] 0x0 CL1 Support
> > [28:28] 0x0 CL2 Support
> > 0x0081 0x0828003c 0b00001000 00101000 00000000 00111100 .... LANE_ADP_CS_1
> > [00:03] 0xc Target Link Speed → Router shall attempt Gen 3 speed
> > [04:05] 0x3 Target Link Width → Establish a Symmetric Link
> > [06:07] 0x0 Target Asymmetric Link → Establish Symmetric Link
> > [10:10] 0x0 CL0s Enable
> > [11:11] 0x0 CL1 Enable
> > [12:12] 0x0 CL2 Enable
> > [14:14] 0x0 Lane Disable (LD)
> > [15:15] 0x0 Lane Bonding (LB)
> > [16:19] 0x8 Current Link Speed → Gen 2
> > [20:25] 0x2 Negotiated Link Width → Symmetric Link (x2)
> > [26:29] 0x2 Adapter State → CL0
> > [30:30] 0x0 PM Secondary (PMS)
>
> Thanks this looks fine (although the link is still Gen 2). Can you run
> the same from the dock upstream port too?
>
> # tbdump -r 2 -a 1 -vv -N2 LANE_ADP_CS_0


2024-05-21 18:32:29

by Mika Westerberg

[permalink] [raw]
Subject: Re: [REGRESSION][BISECTED] "xHCI host controller not responding, assume dead" on stable kernel > 6.8.7

On Tue, May 21, 2024 at 11:12:10AM +0200, Gia wrote:
> Here you have the output from the dock upstream port:
>
> sudo tbdump -r 2 -a 1 -vv -N2 LANE_ADP_CS_0
>
> 0x0036 0x003c013e 0b00000000 00111100 00000001 00111110 .... LANE_ADP_CS_0
> [00:07] 0x3e Next Capability Pointer
> [08:15] 0x1 Capability ID
> [16:19] 0xc Supported Link Speeds
> [20:21] 0x3 Supported Link Widths (SLW)
> [22:23] 0x0 Gen 4 Asymmetric Support (G4AS)
> [26:26] 0x0 CL0s Support
> [27:27] 0x0 CL1 Support
> [28:28] 0x0 CL2 Support
> 0x0037 0x0828003c 0b00001000 00101000 00000000 00111100 .... LANE_ADP_CS_1
> [00:03] 0xc Target Link Speed → Router shall attempt Gen 3 speed
> [04:05] 0x3 Target Link Width → Establish a Symmetric Link
> [06:07] 0x0 Target Asymmetric Link → Establish Symmetric Link
> [10:10] 0x0 CL0s Enable
> [11:11] 0x0 CL1 Enable
> [12:12] 0x0 CL2 Enable
> [14:14] 0x0 Lane Disable (LD)
> [15:15] 0x0 Lane Bonding (LB)
> [16:19] 0x8 Current Link Speed → Gen 2
> [20:25] 0x2 Negotiated Link Width → Symmetric Link (x2)
> [26:29] 0x2 Adapter State → CL0
> [30:30] 0x0 PM Secondary (PMS)

Hmm, okay both sides announce support of Gen3 yet the link is Gen2 which
makes me still suspect the cable, or the connection in general. I
suggest, if you have, try with another Thunderbolt cable.

2024-05-22 14:42:11

by Gia

[permalink] [raw]
Subject: Re: [REGRESSION][BISECTED] "xHCI host controller not responding, assume dead" on stable kernel > 6.8.7

Now this is odd...

I've tested another cable - a very short one used with a Gen3 nvme
enclosure that I'm sure it's working - and I got Gen2 20 Gbps. I also
have tested this on Windows 11 and I still just got a Gen2 connection.

I was almost sure it was caused by a bad USB4 implementation by the PC
manufacturer, then I tried to connect a Thunderbolt 3 disk enclosure
via daisy chain to the Caldigit dock and I got the full Gen3 40 Gbps
connection! See the attached picture.

I'll try to connect the dock to a laptop via Thunderbolt 3 as a last
test and I'll report back.



On Tue, May 21, 2024 at 1:26 PM Mika Westerberg
<[email protected]> wrote:
>
> On Tue, May 21, 2024 at 11:12:10AM +0200, Gia wrote:
> > Here you have the output from the dock upstream port:
> >
> > sudo tbdump -r 2 -a 1 -vv -N2 LANE_ADP_CS_0
> >
> > 0x0036 0x003c013e 0b00000000 00111100 00000001 00111110 .... LANE_ADP_CS_0
> > [00:07] 0x3e Next Capability Pointer
> > [08:15] 0x1 Capability ID
> > [16:19] 0xc Supported Link Speeds
> > [20:21] 0x3 Supported Link Widths (SLW)
> > [22:23] 0x0 Gen 4 Asymmetric Support (G4AS)
> > [26:26] 0x0 CL0s Support
> > [27:27] 0x0 CL1 Support
> > [28:28] 0x0 CL2 Support
> > 0x0037 0x0828003c 0b00001000 00101000 00000000 00111100 .... LANE_ADP_CS_1
> > [00:03] 0xc Target Link Speed → Router shall attempt Gen 3 speed
> > [04:05] 0x3 Target Link Width → Establish a Symmetric Link
> > [06:07] 0x0 Target Asymmetric Link → Establish Symmetric Link
> > [10:10] 0x0 CL0s Enable
> > [11:11] 0x0 CL1 Enable
> > [12:12] 0x0 CL2 Enable
> > [14:14] 0x0 Lane Disable (LD)
> > [15:15] 0x0 Lane Bonding (LB)
> > [16:19] 0x8 Current Link Speed → Gen 2
> > [20:25] 0x2 Negotiated Link Width → Symmetric Link (x2)
> > [26:29] 0x2 Adapter State → CL0
> > [30:30] 0x0 PM Secondary (PMS)
>
> Hmm, okay both sides announce support of Gen3 yet the link is Gen2 which
> makes me still suspect the cable, or the connection in general. I
> suggest, if you have, try with another Thunderbolt cable.


Attachments:
CaldigitTS3Plus_Win11_link_speed.jpg (376.65 kB)

2024-05-22 15:20:23

by Mario Limonciello

[permalink] [raw]
Subject: Re: [REGRESSION][BISECTED] "xHCI host controller not responding, assume dead" on stable kernel > 6.8.7

On 5/22/2024 09:41, Gia wrote:
> Now this is odd...
>
> I've tested another cable - a very short one used with a Gen3 nvme
> enclosure that I'm sure it's working - and I got Gen2 20 Gbps. I also
> have tested this on Windows 11 and I still just got a Gen2 connection.
>
> I was almost sure it was caused by a bad USB4 implementation by the PC
> manufacturer, then I tried to connect a Thunderbolt 3 disk enclosure
> via daisy chain to the Caldigit dock and I got the full Gen3 40 Gbps
> connection! See the attached picture.
>

I suspect you can't actually get Gen 3 performance in this
configuration. IIUC you should still be limited by the uplink to the host.

Those are some really odd findings but it's at least good it's
"consistent" between Windows and Linux.

I'd suggest you report this to your manufacturer to investigate. Sanath
can keep me honest I don't believe we've seen this problem on the
reference stuff.

> I'll try to connect the dock to a laptop via Thunderbolt 3 as a last
> test and I'll report back.
>
>
>
> On Tue, May 21, 2024 at 1:26 PM Mika Westerberg
> <[email protected]> wrote:
>>
>> On Tue, May 21, 2024 at 11:12:10AM +0200, Gia wrote:
>>> Here you have the output from the dock upstream port:
>>>
>>> sudo tbdump -r 2 -a 1 -vv -N2 LANE_ADP_CS_0
>>>
>>> 0x0036 0x003c013e 0b00000000 00111100 00000001 00111110 .... LANE_ADP_CS_0
>>> [00:07] 0x3e Next Capability Pointer
>>> [08:15] 0x1 Capability ID
>>> [16:19] 0xc Supported Link Speeds
>>> [20:21] 0x3 Supported Link Widths (SLW)
>>> [22:23] 0x0 Gen 4 Asymmetric Support (G4AS)
>>> [26:26] 0x0 CL0s Support
>>> [27:27] 0x0 CL1 Support
>>> [28:28] 0x0 CL2 Support
>>> 0x0037 0x0828003c 0b00001000 00101000 00000000 00111100 .... LANE_ADP_CS_1
>>> [00:03] 0xc Target Link Speed → Router shall attempt Gen 3 speed
>>> [04:05] 0x3 Target Link Width → Establish a Symmetric Link
>>> [06:07] 0x0 Target Asymmetric Link → Establish Symmetric Link
>>> [10:10] 0x0 CL0s Enable
>>> [11:11] 0x0 CL1 Enable
>>> [12:12] 0x0 CL2 Enable
>>> [14:14] 0x0 Lane Disable (LD)
>>> [15:15] 0x0 Lane Bonding (LB)
>>> [16:19] 0x8 Current Link Speed → Gen 2
>>> [20:25] 0x2 Negotiated Link Width → Symmetric Link (x2)
>>> [26:29] 0x2 Adapter State → CL0
>>> [30:30] 0x0 PM Secondary (PMS)
>>
>> Hmm, okay both sides announce support of Gen3 yet the link is Gen2 which
>> makes me still suspect the cable, or the connection in general. I
>> suggest, if you have, try with another Thunderbolt cable.


2024-05-23 09:32:27

by Mika Westerberg

[permalink] [raw]
Subject: Re: [REGRESSION][BISECTED] "xHCI host controller not responding, assume dead" on stable kernel > 6.8.7

On Wed, May 22, 2024 at 10:19:51AM -0500, Mario Limonciello wrote:
> On 5/22/2024 09:41, Gia wrote:
> > Now this is odd...
> >
> > I've tested another cable - a very short one used with a Gen3 nvme
> > enclosure that I'm sure it's working - and I got Gen2 20 Gbps. I also
> > have tested this on Windows 11 and I still just got a Gen2 connection.
> >
> > I was almost sure it was caused by a bad USB4 implementation by the PC
> > manufacturer, then I tried to connect a Thunderbolt 3 disk enclosure
> > via daisy chain to the Caldigit dock and I got the full Gen3 40 Gbps
> > connection! See the attached picture.
> >
>
> I suspect you can't actually get Gen 3 performance in this configuration.
> IIUC you should still be limited by the uplink to the host.

One "explanation" could be that the distance from the SoC to the Type-C
connector is relatively long which would require a retimer to get the
Gen3 speeds.