2019-11-04 13:16:31

by Paul Menzel

[permalink] [raw]
Subject: USB devices on Dell TB16 dock stop working after resuming

Dear Linux folks,


On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
suspending the system, and resuming with Dell’s Thunderbolt TB16
dock connected, the USB input devices, keyboard and mouse,
connected to the TB16 stop working. They work for a few seconds
(mouse cursor can be moved), but then stop working. The laptop
keyboard and touchpad still works fine. All firmware is up-to-date
according to `fwupdmgr`.

Please find the Linux messages attached.


Kind regards,

Paul


Attachments:
20191101b--dmesg.txt (93.88 kB)
smime.p7s (5.05 kB)
S/MIME Cryptographic Signature
Download all attachments

2019-11-04 14:28:38

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Hi,

On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
> Dear Linux folks,
>
> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> suspending the system, and resuming with Dell’s Thunderbolt TB16
> dock connected, the USB input devices, keyboard and mouse,
> connected to the TB16 stop working. They work for a few seconds
> (mouse cursor can be moved), but then stop working. The laptop
> keyboard and touchpad still works fine. All firmware is up-to-date
> according to `fwupdmgr`.

What are the exact steps to reproduce? Just "echo mem >
/sys/power/state" and then resume by pressing power button?

> [ 139.752819] PM: suspend entry (s2idle)
> [ 139.753919] Filesystems sync: 0.001 seconds
> [ 139.754235] (NULL device *): firmware: direct-loading firmware qca/nvm_usb_00000302.bin
> [ 139.754251] (NULL device *): firmware: direct-loading firmware qca/rampatch_usb_00000302.bin
> [ 139.754879] (NULL device *): firmware: direct-loading firmware i915/kbl_dmc_ver1_04.bin
> [ 139.754921] Freezing user space processes ... (elapsed 0.001 seconds) done.
> [ 139.756608] OOM killer disabled.
> [ 139.756609] Freezing remaining freezable tasks ... (elapsed 0.000 seconds) done.
> [ 139.757586] printk: Suspending console(s) (use no_console_suspend to debug)
> [ 139.965726] psmouse serio1: Failed to disable mouse on isa0060/serio1
> [ 150.530364] usb usb5: root hub lost power or was reset
> [ 150.530365] usb usb6: root hub lost power or was reset
> [ 150.723502] ath10k_pci 0000:02:00.0: UART prints enabled
> [ 150.788182] ath10k_pci 0000:02:00.0: unsupported HTC service id: 1536
> [ 150.955648] usb 6-1: reset SuperSpeed Gen 1 USB device number 2 using xhci_hcd
> [ 151.172726] usb 5-1: reset high-speed USB device number 2 using xhci_hcd
> [ 151.509514] usb 6-1.2: reset SuperSpeed Gen 1 USB device number 3 using xhci_hcd
> [ 151.980691] usb 5-1.3: reset low-speed USB device number 3 using xhci_hcd
> [ 152.588838] usb 5-1.6: reset low-speed USB device number 5 using xhci_hcd
> [ 153.026451] usb 5-1.5: reset high-speed USB device number 4 using xhci_hcd
> [ 154.578785] OOM killer enabled.
> [ 154.578788] Restarting tasks ... done.
> [ 154.671809] PM: suspend exit

The first suspend/resume cycle seems to be fine with the exception of
the HDA issue below.

> [ 155.362025] IPv6: ADDRCONF(NETDEV_CHANGE): enx98e743a83cdb: link becomes ready
> [ 155.363594] r8152 6-1.2:1.0 enx98e743a83cdb: carrier on
> [ 156.614284] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x20270503
> [ 157.622232] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270503
> [ 158.626371] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370503
> [ 159.634102] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
> [ 161.678121] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270503
> [ 162.682272] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370503
> [ 163.694234] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
> [ 165.730142] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270503
> [ 166.734062] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370503
> [ 167.737908] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
> [ 169.782041] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270503
> [ 170.785827] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370503
> [ 171.790000] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
> [ 173.829896] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270503
> [ 174.833893] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370503
> [ 175.837849] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
> [ 177.873704] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270503
> [ 178.881771] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370503
> [ 179.885738] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
> [ 181.921643] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270503
> [ 182.925675] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370503

The second suspend/resume cycle seems to have more issues:

> [ 183.132176] PM: suspend entry (s2idle)
> [ 183.133798] Filesystems sync: 0.001 seconds
> [ 183.133968] (NULL device *): firmware: direct-loading firmware i915/kbl_dmc_ver1_04.bin
> [ 183.134108] (NULL device *): firmware: direct-loading firmware qca/nvm_usb_00000302.bin
> [ 183.134111] (NULL device *): firmware: direct-loading firmware qca/rampatch_usb_00000302.bin
> [ 183.134236] Freezing user space processes ... (elapsed 0.001 seconds) done.
> [ 183.136034] OOM killer disabled.
> [ 183.136034] Freezing remaining freezable tasks ...
> [ 183.937677] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
> [ 185.973399] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270503
> [ 186.977389] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370503
> [ 187.981569] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
> [ 190.017506] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270503
> [ 190.731632] pcieport 0000:04:04.0: pciehp: Slot(4): Link Down
> [ 190.731640] pcieport 0000:04:04.0: pciehp: Slot(4): Card not present

The PCIe link towards the dock goes down.

> [ 190.731664] pcieport 0000:3e:04.0: Refused to change power state, currently in D3
> [ 190.732691] xhci_hcd 0000:3f:00.0: remove, state 1
> [ 190.732712] usb usb6: USB disconnect, device number 1
> [ 190.732718] usb 6-1: USB disconnect, device number 2
> [ 190.732724] usb 6-1.2: USB disconnect, device number 3
> [ 190.732953] xhci_hcd 0000:3f:00.0: xHCI host controller not responding, assume dead
> [ 190.763874] xhci_hcd 0000:3f:00.0: USB bus 6 deregistered
> [ 190.763902] xhci_hcd 0000:3f:00.0: remove, state 1
> [ 190.763918] usb usb5: USB disconnect, device number 1
> [ 190.763926] usb 5-1: USB disconnect, device number 2
> [ 190.763933] usb 5-1.3: USB disconnect, device number 3
> [ 190.765347] usb 5-1.5: USB disconnect, device number 4
> [ 190.767022] usb 5-1.6: USB disconnect, device number 5
> [ 190.771437] xhci_hcd 0000:3f:00.0: Host halt failed, -19
> [ 190.771445] xhci_hcd 0000:3f:00.0: Host not accessible, reset failed.
> [ 190.772400] xhci_hcd 0000:3f:00.0: USB bus 5 deregistered
> [ 190.773654] pcieport 0000:3b:01.0: Refused to change power state, currently in D3
> [ 190.774231] pci_bus 0000:3c: busn_res: [bus 3c] is released
> [ 190.774473] pci 0000:3b:01.0: Removing from iommu group 19
> [ 190.774712] pci 0000:3f:00.0: Removing from iommu group 19
> [ 190.774784] pci_bus 0000:3f: busn_res: [bus 3f] is released
> [ 190.774990] pci 0000:3e:01.0: Removing from iommu group 19
> [ 190.775345] pci_bus 0000:40: busn_res: [bus 40-6d] is released
> [ 190.775566] pci 0000:3e:04.0: Removing from iommu group 19
> [ 190.775624] pci_bus 0000:3e: busn_res: [bus 3e-6d] is released
> [ 190.775817] pci 0000:3d:00.0: Removing from iommu group 19
> [ 190.776158] pci_bus 0000:3d: busn_res: [bus 3d-6d] is released
> [ 190.776360] pci 0000:3b:04.0: Removing from iommu group 19
> [ 190.776692] pci_bus 0000:3b: busn_res: [bus 3b-6d] is released
> [ 190.776890] pci 0000:3a:00.0: Removing from iommu group 19
> [ 191.029202] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370503
> [ 192.041443] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
> [ 194.077394] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20270503
> [ 195.081341] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x20370503
> [ 196.085350] snd_hda_intel 0000:00:1f.3: No response from codec, resetting bus: last cmd=0x201f0500
> [ 196.121810] (elapsed 12.986 seconds) done.
> [ 196.121823] printk: Suspending console(s) (use no_console_suspend to debug)
> [ 196.781066] thunderbolt 0-303: device disconnected
> [ 196.781161] thunderbolt 0-3: device disconnected

And seems the whole TBT link goes down as well.

What does /sys/bus/thunderbolt/devices/0-0/nvm_version contain?

Also can you add CONFIG_PCI_DEBUG=y in your .config and reproduce so we
can maybe see what is happening in the PCIe side.

2019-11-04 14:48:21

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
> Hi,
>
> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
> > Dear Linux folks,
> >
> > On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> > suspending the system, and resuming with Dell’s Thunderbolt TB16
> > dock connected, the USB input devices, keyboard and mouse,
> > connected to the TB16 stop working. They work for a few seconds
> > (mouse cursor can be moved), but then stop working. The laptop
> > keyboard and touchpad still works fine. All firmware is up-to-date
> > according to `fwupdmgr`.
>
> What are the exact steps to reproduce? Just "echo mem >
> /sys/power/state" and then resume by pressing power button?

I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
suspend/resume cycles (to s2idle) but I don't see any issues.

I may have older/different firmware than you, though.

2019-11-04 15:47:38

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
> > Hi,
> >
> > On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
> > > Dear Linux folks,
> > >
> > > On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> > > suspending the system, and resuming with Dell’s Thunderbolt TB16
> > > dock connected, the USB input devices, keyboard and mouse,
> > > connected to the TB16 stop working. They work for a few seconds
> > > (mouse cursor can be moved), but then stop working. The laptop
> > > keyboard and touchpad still works fine. All firmware is up-to-date
> > > according to `fwupdmgr`.
> >
> > What are the exact steps to reproduce? Just "echo mem >
> > /sys/power/state" and then resume by pressing power button?
>
> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
> suspend/resume cycles (to s2idle) but I don't see any issues.
>
> I may have older/different firmware than you, though.

Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
on my system :/

2019-11-04 15:50:57

by Mario Limonciello

[permalink] [raw]
Subject: RE: USB devices on Dell TB16 dock stop working after resuming

> -----Original Message-----
> From: Mika Westerberg <[email protected]>
> Sent: Monday, November 4, 2019 9:45 AM
> To: Paul Menzel
> Cc: Andreas Noever; Michael Jamet; Yehezkel Bernat; Christian Kellner; Linux
> Kernel Mailing List; Limonciello, Mario
> Subject: Re: USB devices on Dell TB16 dock stop working after resuming
>
>
> [EXTERNAL EMAIL]
>
> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
> > On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
> > > Hi,
> > >
> > > On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
> > > > Dear Linux folks,
> > > >
> > > > On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> > > > suspending the system, and resuming with Dell’s Thunderbolt TB16
> > > > dock connected, the USB input devices, keyboard and mouse,
> > > > connected to the TB16 stop working. They work for a few seconds
> > > > (mouse cursor can be moved), but then stop working. The laptop
> > > > keyboard and touchpad still works fine. All firmware is up-to-date
> > > > according to `fwupdmgr`.
> > >
> > > What are the exact steps to reproduce? Just "echo mem >
> > > /sys/power/state" and then resume by pressing power button?
> >
> > I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
> > suspend/resume cycles (to s2idle) but I don't see any issues.
> >
> > I may have older/different firmware than you, though.
>
> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
> on my system :/

Loop Anthony. Anthony can you see if you guys repro this at all too?

As a potential point of comparison and sometimes pain area, I'm wondering if
something in userland is poking power states for Paul leading to this.

Paul what sort of power management policies are you using on your machine?
Anything like:
* powertop --auto-tune,
* TLP
* systemd > 243 (contains some stuff for automatic suspend)

2019-11-04 16:12:49

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Dear Mika, dear Mario,


On 2019-11-04 16:49, [email protected] wrote:

>> From: Mika Westerberg <[email protected]>
>> Sent: Monday, November 4, 2019 9:45 AM

>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:

>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:

>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>> according to `fwupdmgr`.
>>>>
>>>> What are the exact steps to reproduce? Just "echo mem >
>>>> /sys/power/state" and then resume by pressing power button?

GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
display. So more than `echo mem > /sys/power/state` is done. What
distribution do you use?

>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>
>>> I may have older/different firmware than you, though.
>>
>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>> on my system :/

The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
Updating to the recent version (I got the logs with) did not fix the issue.

> Loop Anthony. Anthony can you see if you guys repro this at all too?
>
> As a potential point of comparison and sometimes pain area, I'm wondering if
> something in userland is poking power states for Paul leading to this.
>
> Paul what sort of power management policies are you using on your machine?
> Anything like:
> * powertop --auto-tune,
> * TLP
> * systemd > 243 (contains some stuff for automatic suspend)

I’ll check with the user again, but to my knowledge nothing from the list is
used on the device.


Kind regards,

Paul


Attachments:
smime.p7s (5.05 kB)
S/MIME Cryptographic Signature

2019-11-04 16:19:30

by Mario Limonciello

[permalink] [raw]
Subject: RE: USB devices on Dell TB16 dock stop working after resuming

> -----Original Message-----
> From: Paul Menzel <[email protected]>
> Sent: Monday, November 4, 2019 10:11 AM
> To: Limonciello, Mario; Mika Westerberg
> Cc: Andreas Noever; Michael Jamet; Yehezkel Bernat; Christian Kellner; linux-
> [email protected]; Anthony Wong
> Subject: Re: USB devices on Dell TB16 dock stop working after resuming
>
> Dear Mika, dear Mario,
>
>
> On 2019-11-04 16:49, [email protected] wrote:
>
> >> From: Mika Westerberg <[email protected]>
> >> Sent: Monday, November 4, 2019 9:45 AM
>
> >> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
> >>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>
> >>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>
> >>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> >>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
> >>>>> dock connected, the USB input devices, keyboard and mouse,
> >>>>> connected to the TB16 stop working. They work for a few seconds
> >>>>> (mouse cursor can be moved), but then stop working. The laptop
> >>>>> keyboard and touchpad still works fine. All firmware is up-to-date
> >>>>> according to `fwupdmgr`.
> >>>>
> >>>> What are the exact steps to reproduce? Just "echo mem >
> >>>> /sys/power/state" and then resume by pressing power button?
>
> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
> display. So more than `echo mem > /sys/power/state` is done. What
> distribution do you use?

I guess this is then using systemctl's sleep command and anything it does as a
result?

IIRC that has support for doing extra stuff if you want to via scripts.
Any extra scripts you've put in place? Or your distro is running?

>
> >>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
> >>> suspend/resume cycles (to s2idle) but I don't see any issues.
> >>>
> >>> I may have older/different firmware than you, though.
> >>
> >> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
> >> on my system :/
>
> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
> Updating to the recent version (I got the logs with) did not fix the issue.
>
> > Loop Anthony. Anthony can you see if you guys repro this at all too?
> >
> > As a potential point of comparison and sometimes pain area, I'm wondering if
> > something in userland is poking power states for Paul leading to this.
> >
> > Paul what sort of power management policies are you using on your machine?
> > Anything like:
> > * powertop --auto-tune,
> > * TLP
> > * systemd > 243 (contains some stuff for automatic suspend)
>
> I’ll check with the user again, but to my knowledge nothing from the list is
> used on the device.
>

Those are just illustrative examples, anything else that you're doing above and beyond
"stock" Debian unstable would be useful to note too in this area.

2019-11-04 16:22:27

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
> Dear Mika, dear Mario,
>
>
> On 2019-11-04 16:49, [email protected] wrote:
>
> >> From: Mika Westerberg <[email protected]>
> >> Sent: Monday, November 4, 2019 9:45 AM
>
> >> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
> >>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>
> >>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>
> >>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> >>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
> >>>>> dock connected, the USB input devices, keyboard and mouse,
> >>>>> connected to the TB16 stop working. They work for a few seconds
> >>>>> (mouse cursor can be moved), but then stop working. The laptop
> >>>>> keyboard and touchpad still works fine. All firmware is up-to-date
> >>>>> according to `fwupdmgr`.
> >>>>
> >>>> What are the exact steps to reproduce? Just "echo mem >
> >>>> /sys/power/state" and then resume by pressing power button?
>
> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
> display. So more than `echo mem > /sys/power/state` is done. What
> distribution do you use?

I have buildroot based "distro" so there is no UI running.

> >>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
> >>> suspend/resume cycles (to s2idle) but I don't see any issues.
> >>>
> >>> I may have older/different firmware than you, though.
> >>
> >> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
> >> on my system :/
>
> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
> Updating to the recent version (I got the logs with) did not fix the issue.

I also tried v40 (that was originally on that system) but I was not able
to reproduce it.

Do you know if the user changed any BIOS settings?

2019-11-04 16:24:48

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Dear Mario,


On 2019-11-04 17:17, [email protected] wrote:

>> From: Paul Menzel <[email protected]>
>> Sent: Monday, November 4, 2019 10:11 AM

>> On 2019-11-04 16:49, [email protected] wrote:
>>
>>>> From: Mika Westerberg <[email protected]>
>>>> Sent: Monday, November 4, 2019 9:45 AM
>>
>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>
>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>
>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>> according to `fwupdmgr`.
>>>>>>
>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>> /sys/power/state" and then resume by pressing power button?
>>
>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>> display. So more than `echo mem > /sys/power/state` is done. What
>> distribution do you use?
>
> I guess this is then using systemctl's sleep command and anything it does as a
> result?
>
> IIRC that has support for doing extra stuff if you want to via scripts.
> Any extra scripts you've put in place? Or your distro is running?

Debian Sid/unstable configuration is used with no custom changes. I’ll check
tomorrow, if it’s reproducible with `echo mem | sudo too /sys/power/state`.

>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>
>>>>> I may have older/different firmware than you, though.
>>>>
>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>> on my system :/
>>
>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>> Updating to the recent version (I got the logs with) did not fix the issue.
>>
>>> Loop Anthony. Anthony can you see if you guys repro this at all too?
>>>
>>> As a potential point of comparison and sometimes pain area, I'm wondering if
>>> something in userland is poking power states for Paul leading to this.
>>>
>>> Paul what sort of power management policies are you using on your machine?
>>> Anything like:
>>> * powertop --auto-tune,
>>> * TLP
>>> * systemd > 243 (contains some stuff for automatic suspend)
>>
>> I’ll check with the user again, but to my knowledge nothing from the list is
>> used on the device.
>
> Those are just illustrative examples, anything else that you're doing
> above and beyond "stock" Debian unstable would be useful to note too
> in this area.

Sorry for being unclear. No customizations were done.


Kind regards,

Paul


Attachments:
smime.p7s (5.05 kB)
S/MIME Cryptographic Signature

2019-11-19 16:57:16

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Dear Mika,


On 2019-11-04 17:21, Mika Westerberg wrote:
> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:

>> On 2019-11-04 16:49, [email protected] wrote:
>>
>>>> From: Mika Westerberg <[email protected]>
>>>> Sent: Monday, November 4, 2019 9:45 AM
>>
>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>
>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>
>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>> according to `fwupdmgr`.
>>>>>>
>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>> /sys/power/state" and then resume by pressing power button?
>>
>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>> display. So more than `echo mem > /sys/power/state` is done. What
>> distribution do you use?
>
> I have buildroot based "distro" so there is no UI running.

Hmm, this is quite different from the “normal” use-case of the these devices.
That way you won’t hit the bugs of the normal users. ;-)

>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>
>>>>> I may have older/different firmware than you, though.
>>>>
>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>> on my system :/
>>
>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>> Updating to the recent version (I got the logs with) did not fix the issue.
>
> I also tried v40 (that was originally on that system) but I was not able
> to reproduce it.
>
> Do you know if the user changed any BIOS settings?

We had to disable the Thunderbolt security settings as otherwise the USB
devices wouldn’t work at cold boot either.

So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
error is still there. Sometimes, re-plugging the dock helped, and sometimes
it did not.

Please find the logs attached. The strange thing is, the Linux kernel detects
the devices and I do not see any disconnect events. But, `lsusb` does not list
the keyboard and the mouse. Is that expected.

Additionally, despite `CONFIG_PCI_DEBUG` I do not see more elaborate messages.

Lastly, could the daemon boltd have anything to do with this?

```
$ boltctl --version
bolt 0.8
$ boltctl list
● Dell Thunderbolt Cable
├─ type: peripheral
├─ name: Dell Thunderbolt Cable
├─ vendor: Dell
├─ uuid: 0082b09d-2f5f-d400-ffff-ffffffffffff
├─ status: authorized
│ ├─ domain: ca030000-0090-8708-2328-211e02222a24
│ └─ authflags: none
├─ authorized: Tue 19 Nov 2019 11:35:11 AM UTC
├─ connected: Tue 19 Nov 2019 11:35:11 AM UTC
└─ stored: Fri 13 Sep 2019 01:00:25 PM UTC
├─ policy: auto
└─ key: no

● Dell Thunderbolt Dock
├─ type: peripheral
├─ name: Dell Thunderbolt Dock
├─ vendor: Dell
├─ uuid: 10d34968-1d46-8680-ffff-ffffffffffff
├─ status: authorized
│ ├─ domain: ca030000-0090-8708-2328-211e02222a24
│ └─ authflags: none
├─ authorized: Tue 19 Nov 2019 11:35:11 AM UTC
├─ connected: Tue 19 Nov 2019 11:35:11 AM UTC
└─ stored: Fri 13 Sep 2019 01:01:02 PM UTC
├─ policy: auto
└─ key: no

```


Kind regards,

Paul



PS: Suspending the device with the dock attached, and unplugging the dock the
power button LED lights up, but the screen stays black and the device needs
to be forcefully powered off by pressing the power button for 12(?) seconds.



Attachments:
smime.p7s (5.05 kB)
S/MIME Cryptographic Signature

2019-11-19 17:22:24

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

[Linux 5.4-rc8 messages attached]

On 2019-11-19 17:55, Paul Menzel wrote:
> Dear Mika,
>
>
> On 2019-11-04 17:21, Mika Westerberg wrote:
>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
>
>>> On 2019-11-04 16:49, [email protected] wrote:
>>>
>>>>> From: Mika Westerberg <[email protected]>
>>>>> Sent: Monday, November 4, 2019 9:45 AM
>>>
>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>>
>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>>
>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>>> according to `fwupdmgr`.
>>>>>>>
>>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>>> /sys/power/state" and then resume by pressing power button?
>>>
>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>>> display. So more than `echo mem > /sys/power/state` is done. What
>>> distribution do you use?
>>
>> I have buildroot based "distro" so there is no UI running.
>
> Hmm, this is quite different from the “normal” use-case of the these devices.
> That way you won’t hit the bugs of the normal users. ;-)
>
>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>>
>>>>>> I may have older/different firmware than you, though.
>>>>>
>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>>> on my system :/
>>>
>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>>> Updating to the recent version (I got the logs with) did not fix the issue.
>>
>> I also tried v40 (that was originally on that system) but I was not able
>> to reproduce it.
>>
>> Do you know if the user changed any BIOS settings?
>
> We had to disable the Thunderbolt security settings as otherwise the USB
> devices wouldn’t work at cold boot either.
>
> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
> error is still there. Sometimes, re-plugging the dock helped, and sometimes
> it did not.
>
> Please find the logs attached. The strange thing is, the Linux kernel detects
> the devices and I do not see any disconnect events. But, `lsusb` does not list
> the keyboard and the mouse. Is that expected.
>
> Additionally, despite `CONFIG_PCI_DEBUG` I do not see more elaborate messages.
>
> Lastly, could the daemon boltd have anything to do with this?
>
> ```
> $ boltctl --version
> bolt 0.8
> $ boltctl list
> ● Dell Thunderbolt Cable
> ├─ type: peripheral
> ├─ name: Dell Thunderbolt Cable
> ├─ vendor: Dell
> ├─ uuid: 0082b09d-2f5f-d400-ffff-ffffffffffff
> ├─ status: authorized
> │ ├─ domain: ca030000-0090-8708-2328-211e02222a24
> │ └─ authflags: none
> ├─ authorized: Tue 19 Nov 2019 11:35:11 AM UTC
> ├─ connected: Tue 19 Nov 2019 11:35:11 AM UTC
> └─ stored: Fri 13 Sep 2019 01:00:25 PM UTC
> ├─ policy: auto
> └─ key: no
>
> ● Dell Thunderbolt Dock
> ├─ type: peripheral
> ├─ name: Dell Thunderbolt Dock
> ├─ vendor: Dell
> ├─ uuid: 10d34968-1d46-8680-ffff-ffffffffffff
> ├─ status: authorized
> │ ├─ domain: ca030000-0090-8708-2328-211e02222a24
> │ └─ authflags: none
> ├─ authorized: Tue 19 Nov 2019 11:35:11 AM UTC
> ├─ connected: Tue 19 Nov 2019 11:35:11 AM UTC
> └─ stored: Fri 13 Sep 2019 01:01:02 PM UTC
> ├─ policy: auto
> └─ key: no
>
> ```
>
>
> Kind regards,
>
> Paul
>
>
>
> PS: Suspending the device with the dock attached, and unplugging the dock the
> power button LED lights up, but the screen stays black and the device needs
> to be forcefully powered off by pressing the power button for 12(?) seconds.


Attachments:
20191119-connect-dock-after-resume.txt (126.31 kB)
smime.p7s (5.05 kB)
S/MIME Cryptographic Signature
Download all attachments

2019-11-20 11:53:07

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
> Dear Mika,
>
>
> On 2019-11-04 17:21, Mika Westerberg wrote:
> > On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
>
> >> On 2019-11-04 16:49, [email protected] wrote:
> >>
> >>>> From: Mika Westerberg <[email protected]>
> >>>> Sent: Monday, November 4, 2019 9:45 AM
> >>
> >>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
> >>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
> >>
> >>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
> >>
> >>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> >>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
> >>>>>>> dock connected, the USB input devices, keyboard and mouse,
> >>>>>>> connected to the TB16 stop working. They work for a few seconds
> >>>>>>> (mouse cursor can be moved), but then stop working. The laptop
> >>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
> >>>>>>> according to `fwupdmgr`.
> >>>>>>
> >>>>>> What are the exact steps to reproduce? Just "echo mem >
> >>>>>> /sys/power/state" and then resume by pressing power button?
> >>
> >> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
> >> display. So more than `echo mem > /sys/power/state` is done. What
> >> distribution do you use?
> >
> > I have buildroot based "distro" so there is no UI running.
>
> Hmm, this is quite different from the “normal” use-case of the these devices.
> That way you won’t hit the bugs of the normal users. ;-)

Well, I can install some distro to that thing also :) I suppose Debian
10.2 does have this issue, no?

> >>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
> >>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
> >>>>>
> >>>>> I may have older/different firmware than you, though.
> >>>>
> >>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
> >>>> on my system :/
> >>
> >> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
> >> Updating to the recent version (I got the logs with) did not fix the issue.
> >
> > I also tried v40 (that was originally on that system) but I was not able
> > to reproduce it.
> >
> > Do you know if the user changed any BIOS settings?
>
> We had to disable the Thunderbolt security settings as otherwise the USB
> devices wouldn’t work at cold boot either.

That does not sound right at all. There is the preboot ACL that allows
you to use TBT dock aready on boot. Bolt takes care of this.

Are you talking about USB devices connected to the TB16 dock?

Also are you connecting the TB16 dock to the Thunderbolt ports (left
side of the system marked with small lightning logo) or to the normal
Type-C ports (right side)?

> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
> error is still there. Sometimes, re-plugging the dock helped, and sometimes
> it did not.
>
> Please find the logs attached. The strange thing is, the Linux kernel detects
> the devices and I do not see any disconnect events. But, `lsusb` does not list
> the keyboard and the mouse. Is that expected.

I'm bit confused. Can you describe the exact steps what you do (so I can
replicate them).

> Additionally, despite `CONFIG_PCI_DEBUG` I do not see more elaborate messages.

I see one strange thing in that log. The Thunderbolt driver does not
show the device at boot. You should see something like this when you
boot with the dock connected:

thunderbolt 0-3: new device found, vendor=0xd4 device=0xb051
thunderbolt 0-3: Dell Dell Thunderbolt Cable
thunderbolt 0-303: new device found, vendor=0xd4 device=0xb054
thunderbolt 0-303: Dell Dell Thunderbolt Dock

I only see those after you did suspend/resume cycle.

> Lastly, could the daemon boltd have anything to do with this?

It is the one that authorizes the PCIe tunneling so definitely has
something to do but below:

>
> ```
> $ boltctl --version
> bolt 0.8
> $ boltctl list
> ● Dell Thunderbolt Cable
> ├─ type: peripheral
> ├─ name: Dell Thunderbolt Cable
> ├─ vendor: Dell
> ├─ uuid: 0082b09d-2f5f-d400-ffff-ffffffffffff
> ├─ status: authorized

looks what is expected.

2019-11-20 17:15:44

by Mario Limonciello

[permalink] [raw]
Subject: RE: USB devices on Dell TB16 dock stop working after resuming

> -----Original Message-----
> From: Mika Westerberg <[email protected]>
> Sent: Wednesday, November 20, 2019 4:51 AM
> To: Paul Menzel
> Cc: Limonciello, Mario; Andreas Noever; Michael Jamet; Yehezkel Bernat; Christian
> Kellner; [email protected]; Anthony Wong
> Subject: Re: USB devices on Dell TB16 dock stop working after resuming
>
>
> [EXTERNAL EMAIL]
>
> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
> > Dear Mika,
> >
> >
> > On 2019-11-04 17:21, Mika Westerberg wrote:
> > > On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
> >
> > >> On 2019-11-04 16:49, [email protected] wrote:
> > >>
> > >>>> From: Mika Westerberg <[email protected]>
> > >>>> Sent: Monday, November 4, 2019 9:45 AM
> > >>
> > >>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
> > >>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
> > >>
> > >>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
> > >>
> > >>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> > >>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
> > >>>>>>> dock connected, the USB input devices, keyboard and mouse,
> > >>>>>>> connected to the TB16 stop working. They work for a few seconds
> > >>>>>>> (mouse cursor can be moved), but then stop working. The laptop
> > >>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
> > >>>>>>> according to `fwupdmgr`.
> > >>>>>>
> > >>>>>> What are the exact steps to reproduce? Just "echo mem >
> > >>>>>> /sys/power/state" and then resume by pressing power button?
> > >>
> > >> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
> > >> display. So more than `echo mem > /sys/power/state` is done. What
> > >> distribution do you use?
> > >
> > > I have buildroot based "distro" so there is no UI running.
> >
> > Hmm, this is quite different from the “normal” use-case of the these devices.
> > That way you won’t hit the bugs of the normal users. ;-)
>
> Well, I can install some distro to that thing also :) I suppose Debian
> 10.2 does have this issue, no?
>
> > >>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
> > >>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
> > >>>>>
> > >>>>> I may have older/different firmware than you, though.
> > >>>>
> > >>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
> > >>>> on my system :/
> > >>
> > >> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
> > >> Updating to the recent version (I got the logs with) did not fix the issue.
> > >
> > > I also tried v40 (that was originally on that system) but I was not able
> > > to reproduce it.
> > >
> > > Do you know if the user changed any BIOS settings?
> >
> > We had to disable the Thunderbolt security settings as otherwise the USB
> > devices wouldn’t work at cold boot either.
>
> That does not sound right at all. There is the preboot ACL that allows
> you to use TBT dock aready on boot. Bolt takes care of this.

Yeah it might be useful to enumerate all the BIOS settings that are selected
related to Thunderbolt. Some of them are a bit confusing.

>
> Are you talking about USB devices connected to the TB16 dock?
>
> Also are you connecting the TB16 dock to the Thunderbolt ports (left
> side of the system marked with small lightning logo) or to the normal
> Type-C ports (right side)?

It definitely wouldn't function at all on the right side. The TB16 dock and
cable each contains Alpine Ridge, so it will only work with a TBT controller
on the other end.

>
> > So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
> > error is still there. Sometimes, re-plugging the dock helped, and sometimes
> > it did not.
> >
> > Please find the logs attached. The strange thing is, the Linux kernel detects
> > the devices and I do not see any disconnect events. But, `lsusb` does not list
> > the keyboard and the mouse. Is that expected.
>
> I'm bit confused. Can you describe the exact steps what you do (so I can
> replicate them).
>
> > Additionally, despite `CONFIG_PCI_DEBUG` I do not see more elaborate
> messages.
>
> I see one strange thing in that log. The Thunderbolt driver does not
> show the device at boot. You should see something like this when you
> boot with the dock connected:
>
> thunderbolt 0-3: new device found, vendor=0xd4 device=0xb051
> thunderbolt 0-3: Dell Dell Thunderbolt Cable
> thunderbolt 0-303: new device found, vendor=0xd4 device=0xb054
> thunderbolt 0-303: Dell Dell Thunderbolt Dock
>
> I only see those after you did suspend/resume cycle.
>
> > Lastly, could the daemon boltd have anything to do with this?
>
> It is the one that authorizes the PCIe tunneling so definitely has
> something to do but below:
>
> >
> > ```
> > $ boltctl --version
> > bolt 0.8
> > $ boltctl list
> > ● Dell Thunderbolt Cable
> > ├─ type: peripheral
> > ├─ name: Dell Thunderbolt Cable
> > ├─ vendor: Dell
> > ├─ uuid: 0082b09d-2f5f-d400-ffff-ffffffffffff
> > ├─ status: authorized
>
> looks what is expected.

2019-11-20 17:22:40

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Wed, Nov 20, 2019 at 02:15:17PM +0000, [email protected] wrote:
> > -----Original Message-----
> > From: Mika Westerberg <[email protected]>
> > Sent: Wednesday, November 20, 2019 4:51 AM
> > To: Paul Menzel
> > Cc: Limonciello, Mario; Andreas Noever; Michael Jamet; Yehezkel Bernat; Christian
> > Kellner; [email protected]; Anthony Wong
> > Subject: Re: USB devices on Dell TB16 dock stop working after resuming
> >
> >
> > [EXTERNAL EMAIL]
> >
> > On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
> > > Dear Mika,
> > >
> > >
> > > On 2019-11-04 17:21, Mika Westerberg wrote:
> > > > On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
> > >
> > > >> On 2019-11-04 16:49, [email protected] wrote:
> > > >>
> > > >>>> From: Mika Westerberg <[email protected]>
> > > >>>> Sent: Monday, November 4, 2019 9:45 AM
> > > >>
> > > >>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
> > > >>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
> > > >>
> > > >>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
> > > >>
> > > >>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> > > >>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
> > > >>>>>>> dock connected, the USB input devices, keyboard and mouse,
> > > >>>>>>> connected to the TB16 stop working. They work for a few seconds
> > > >>>>>>> (mouse cursor can be moved), but then stop working. The laptop
> > > >>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
> > > >>>>>>> according to `fwupdmgr`.
> > > >>>>>>
> > > >>>>>> What are the exact steps to reproduce? Just "echo mem >
> > > >>>>>> /sys/power/state" and then resume by pressing power button?
> > > >>
> > > >> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
> > > >> display. So more than `echo mem > /sys/power/state` is done. What
> > > >> distribution do you use?
> > > >
> > > > I have buildroot based "distro" so there is no UI running.
> > >
> > > Hmm, this is quite different from the “normal” use-case of the these devices.
> > > That way you won’t hit the bugs of the normal users. ;-)
> >
> > Well, I can install some distro to that thing also :) I suppose Debian
> > 10.2 does have this issue, no?
> >
> > > >>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
> > > >>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
> > > >>>>>
> > > >>>>> I may have older/different firmware than you, though.
> > > >>>>
> > > >>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
> > > >>>> on my system :/
> > > >>
> > > >> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
> > > >> Updating to the recent version (I got the logs with) did not fix the issue.
> > > >
> > > > I also tried v40 (that was originally on that system) but I was not able
> > > > to reproduce it.
> > > >
> > > > Do you know if the user changed any BIOS settings?
> > >
> > > We had to disable the Thunderbolt security settings as otherwise the USB
> > > devices wouldn’t work at cold boot either.
> >
> > That does not sound right at all. There is the preboot ACL that allows
> > you to use TBT dock aready on boot. Bolt takes care of this.
>
> Yeah it might be useful to enumerate all the BIOS settings that are selected
> related to Thunderbolt. Some of them are a bit confusing.

BTW, I played a bit with 9380 and it looks like there is no option to
enable Preboot ACL which means that if you have TBT security enabled
(user or secure) the Dock PCIe side is not functional during boot, only
once the OS has booted up. That's fine unless you want to enter BIOS
menu from the keyboard you have connected to the TB16 dock (probably not
too common use case anyway).

2019-11-20 17:41:03

by Yehezkel Bernat

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Wed, Nov 20, 2019 at 7:06 PM <[email protected]> wrote:
>
>
> But I mean this is generally an unsafe (but convenient) option, it means that you
> throw out security pre-boot, and all someone needs to do is turn off your machine,
> plug in a malicious device, turn it on and then they have malicious device all the way
> into OS.

Only if the attacker found how to forge the device UUID (and knew what UUIDs
are allowed), isn't it? Unless you take into account things like
external GPU box,
where it's pretty easy to replace the card installed inside it.

2019-11-20 17:41:08

by Mario Limonciello

[permalink] [raw]
Subject: RE: USB devices on Dell TB16 dock stop working after resuming


> > Yeah it might be useful to enumerate all the BIOS settings that are selected
> > related to Thunderbolt. Some of them are a bit confusing.
>
> BTW, I played a bit with 9380 and it looks like there is no option to
> enable Preboot ACL which means that if you have TBT security enabled
> (user or secure) the Dock PCIe side is not functional during boot, only
> once the OS has booted up. That's fine unless you want to enter BIOS
> menu from the keyboard you have connected to the TB16 dock (probably not
> too common use case anyway).

Eh? On 9380 in front of me:
System Configuration -> Thunderbolt (TM) Adapter Configuration

There is a checkbox for "Enable Thunderbolt (and PCIe behind TBT) Pre-boot
modules". It's not checked by default, but that should turn on pre-boot ACL
stuff. That's the thing that Paul probably needs checked too.

But I mean this is generally an unsafe (but convenient) option, it means that you
throw out security pre-boot, and all someone needs to do is turn off your machine,
plug in a malicious device, turn it on and then they have malicious device all the way
into OS.


2019-11-20 17:41:21

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Wed, Nov 20, 2019 at 05:06:39PM +0000, [email protected] wrote:
>
> > > Yeah it might be useful to enumerate all the BIOS settings that are selected
> > > related to Thunderbolt. Some of them are a bit confusing.
> >
> > BTW, I played a bit with 9380 and it looks like there is no option to
> > enable Preboot ACL which means that if you have TBT security enabled
> > (user or secure) the Dock PCIe side is not functional during boot, only
> > once the OS has booted up. That's fine unless you want to enter BIOS
> > menu from the keyboard you have connected to the TB16 dock (probably not
> > too common use case anyway).
>
> Eh? On 9380 in front of me:
> System Configuration -> Thunderbolt (TM) Adapter Configuration
>
> There is a checkbox for "Enable Thunderbolt (and PCIe behind TBT) Pre-boot
> modules". It's not checked by default, but that should turn on pre-boot ACL
> stuff. That's the thing that Paul probably needs checked too.

Ah, it's that one :) I found it as well but did not realize it is the
Preboot ACL support. The "modules" at the end got me confused.

Yes, Paul that you need to enable if you want the devices behind the
dock to work before OS gets control.

> But I mean this is generally an unsafe (but convenient) option, it means that you
> throw out security pre-boot, and all someone needs to do is turn off your machine,
> plug in a malicious device, turn it on and then they have malicious device all the way
> into OS.

Yup.

2019-11-20 17:43:45

by Mario Limonciello

[permalink] [raw]
Subject: RE: USB devices on Dell TB16 dock stop working after resuming

> > But I mean this is generally an unsafe (but convenient) option, it means that you
> > throw out security pre-boot, and all someone needs to do is turn off your
> machine,
> > plug in a malicious device, turn it on and then they have malicious device all the
> way
> > into OS.
>
> Only if the attacker found how to forge the device UUID (and knew what UUIDs
> are allowed), isn't it? Unless you take into account things like
> external GPU box,
> where it's pretty easy to replace the card installed inside it.

Notice, I never said it was easy :)

In order to turn that on something like that "generally" safely you need to have
mitigations like pre boot DMA protection in place.

2019-11-20 17:44:27

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Wed, Nov 20, 2019 at 07:16:58PM +0200, Yehezkel Bernat wrote:
> On Wed, Nov 20, 2019 at 7:06 PM <[email protected]> wrote:
> >
> >
> > But I mean this is generally an unsafe (but convenient) option, it means that you
> > throw out security pre-boot, and all someone needs to do is turn off your machine,
> > plug in a malicious device, turn it on and then they have malicious device all the way
> > into OS.
>
> Only if the attacker found how to forge the device UUID (and knew what UUIDs
> are allowed), isn't it? Unless you take into account things like
> external GPU box,
> where it's pretty easy to replace the card installed inside it.

No need to forge UUID if you can "borrow" the laptop for a while so that
you boot your own OS there that then updates the Boot ACL with your
malicious device UUIDs. Then you return the laptop and now it suddenly
allows booting from those as well.

2019-11-22 10:51:34

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
> > Dear Mika,
> >
> >
> > On 2019-11-04 17:21, Mika Westerberg wrote:
> > > On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
> >
> > >> On 2019-11-04 16:49, [email protected] wrote:
> > >>
> > >>>> From: Mika Westerberg <[email protected]>
> > >>>> Sent: Monday, November 4, 2019 9:45 AM
> > >>
> > >>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
> > >>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
> > >>
> > >>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
> > >>
> > >>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> > >>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
> > >>>>>>> dock connected, the USB input devices, keyboard and mouse,
> > >>>>>>> connected to the TB16 stop working. They work for a few seconds
> > >>>>>>> (mouse cursor can be moved), but then stop working. The laptop
> > >>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
> > >>>>>>> according to `fwupdmgr`.
> > >>>>>>
> > >>>>>> What are the exact steps to reproduce? Just "echo mem >
> > >>>>>> /sys/power/state" and then resume by pressing power button?
> > >>
> > >> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
> > >> display. So more than `echo mem > /sys/power/state` is done. What
> > >> distribution do you use?
> > >
> > > I have buildroot based "distro" so there is no UI running.
> >
> > Hmm, this is quite different from the “normal” use-case of the these devices.
> > That way you won’t hit the bugs of the normal users. ;-)
>
> Well, I can install some distro to that thing also :) I suppose Debian
> 10.2 does have this issue, no?
>
> > >>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
> > >>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
> > >>>>>
> > >>>>> I may have older/different firmware than you, though.
> > >>>>
> > >>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
> > >>>> on my system :/
> > >>
> > >> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
> > >> Updating to the recent version (I got the logs with) did not fix the issue.
> > >
> > > I also tried v40 (that was originally on that system) but I was not able
> > > to reproduce it.
> > >
> > > Do you know if the user changed any BIOS settings?
> >
> > We had to disable the Thunderbolt security settings as otherwise the USB
> > devices wouldn’t work at cold boot either.
>
> That does not sound right at all. There is the preboot ACL that allows
> you to use TBT dock aready on boot. Bolt takes care of this.
>
> Are you talking about USB devices connected to the TB16 dock?
>
> Also are you connecting the TB16 dock to the Thunderbolt ports (left
> side of the system marked with small lightning logo) or to the normal
> Type-C ports (right side)?
>
> > So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
> > error is still there. Sometimes, re-plugging the dock helped, and sometimes
> > it did not.
> >
> > Please find the logs attached. The strange thing is, the Linux kernel detects
> > the devices and I do not see any disconnect events. But, `lsusb` does not list
> > the keyboard and the mouse. Is that expected.
>
> I'm bit confused. Can you describe the exact steps what you do (so I can
> replicate them).

I managed to reproduce following scenario.

1. Boot the system up to UI
2. Connect TB16 dock (and see that it gets authorized by bolt)
3. Connect keyboard and mouse to the TB16 dock
4. Both mouse and keyboard are functional
5. Enter s2idle by closing laptop lid
6. Exit s2idle by opening the laptop lid
7. After ~10 seconds or so the mouse or keyboard or both do not work
anymore. They do not respond but they are still "present".

The above does not happen always but from time to time.

Is this the scenario you see as well?

This is on Ubuntu 19.10 with the 5.3 stock kernel.

I can get them work again by unplugging them and plugging back (leaving
the TBT16 dock connected). Also if you run lspci when the problem
occurs it still shows the dock so PCIe link stays up.

I suspect this has something to do with the ASMEDIA xHCI controller but
I'm not an expert so Mathias CC'd.

> > Additionally, despite `CONFIG_PCI_DEBUG` I do not see more elaborate messages.
>
> I see one strange thing in that log. The Thunderbolt driver does not
> show the device at boot. You should see something like this when you
> boot with the dock connected:
>
> thunderbolt 0-3: new device found, vendor=0xd4 device=0xb051
> thunderbolt 0-3: Dell Dell Thunderbolt Cable
> thunderbolt 0-303: new device found, vendor=0xd4 device=0xb054
> thunderbolt 0-303: Dell Dell Thunderbolt Dock
>
> I only see those after you did suspend/resume cycle.
>
> > Lastly, could the daemon boltd have anything to do with this?
>
> It is the one that authorizes the PCIe tunneling so definitely has
> something to do but below:
>
> >
> > ```
> > $ boltctl --version
> > bolt 0.8
> > $ boltctl list
> > ● Dell Thunderbolt Cable
> > ├─ type: peripheral
> > ├─ name: Dell Thunderbolt Cable
> > ├─ vendor: Dell
> > ├─ uuid: 0082b09d-2f5f-d400-ffff-ffffffffffff
> > ├─ status: authorized
>
> looks what is expected.

2019-11-22 11:10:34

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Dear Mika,


Thank you so much for looking into this issue.


On 2019-11-22 11:50, Mika Westerberg wrote:
> On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
>> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:

>>> On 2019-11-04 17:21, Mika Westerberg wrote:
>>>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
>>>
>>>>> On 2019-11-04 16:49, [email protected] wrote:
>>>>>
>>>>>>> From: Mika Westerberg <[email protected]>
>>>>>>> Sent: Monday, November 4, 2019 9:45 AM
>>>>>
>>>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>>>>
>>>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>>>>
>>>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>>>>> according to `fwupdmgr`.
>>>>>>>>>
>>>>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>>>>> /sys/power/state" and then resume by pressing power button?
>>>>>
>>>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>>>>> display. So more than `echo mem > /sys/power/state` is done. What
>>>>> distribution do you use?
>>>>
>>>> I have buildroot based "distro" so there is no UI running.
>>>
>>> Hmm, this is quite different from the “normal” use-case of the these devices.
>>> That way you won’t hit the bugs of the normal users. ;-)
>>
>> Well, I can install some distro to that thing also :) I suppose Debian
>> 10.2 does have this issue, no?
>>
>>>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>>>>
>>>>>>>> I may have older/different firmware than you, though.
>>>>>>>
>>>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>>>>> on my system :/
>>>>>
>>>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>>>>> Updating to the recent version (I got the logs with) did not fix the issue.
>>>>
>>>> I also tried v40 (that was originally on that system) but I was not able
>>>> to reproduce it.
>>>>
>>>> Do you know if the user changed any BIOS settings?
>>>
>>> We had to disable the Thunderbolt security settings as otherwise the USB
>>> devices wouldn’t work at cold boot either.
>>
>> That does not sound right at all. There is the preboot ACL that allows
>> you to use TBT dock aready on boot. Bolt takes care of this.
>>
>> Are you talking about USB devices connected to the TB16 dock?
>>
>> Also are you connecting the TB16 dock to the Thunderbolt ports (left
>> side of the system marked with small lightning logo) or to the normal
>> Type-C ports (right side)?
>>
>>> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
>>> error is still there. Sometimes, re-plugging the dock helped, and sometimes
>>> it did not.
>>>
>>> Please find the logs attached. The strange thing is, the Linux kernel detects
>>> the devices and I do not see any disconnect events. But, `lsusb` does not list
>>> the keyboard and the mouse. Is that expected.
>>
>> I'm bit confused. Can you describe the exact steps what you do (so I can
>> replicate them).
>
> I managed to reproduce following scenario.
>
> 1. Boot the system up to UI
> 2. Connect TB16 dock (and see that it gets authorized by bolt)
> 3. Connect keyboard and mouse to the TB16 dock
> 4. Both mouse and keyboard are functional
> 5. Enter s2idle by closing laptop lid
> 6. Exit s2idle by opening the laptop lid
> 7. After ~10 seconds or so the mouse or keyboard or both do not work
> anymore. They do not respond but they are still "present".
>
> The above does not happen always but from time to time.
>
> Is this the scenario you see as well?

Yes, it is. Though I’d say it’s only five seconds or so.

> This is on Ubuntu 19.10 with the 5.3 stock kernel.

“stock” in upstream’s or Ubuntu’s?

> I can get them work again by unplugging them and plugging back (leaving
> the TBT16 dock connected). Also if you run lspci when the problem
> occurs it still shows the dock so PCIe link stays up.

Re-connecting the USB devices does not help here, but I still suspect it’s
the same issue.

Yesterday, I had my hand on a Dell XPS 13 7390 (10th Intel generation) and
tried it with the shipped Ubuntu 18.04 LTS. There, the problem was not
always reproducible, but it still happened. Sometimes, only one of the USB
device (either keyboard or mouse) stopped working.

```
[ 0.000000] Linux version 4.15.0-1064-oem (buildd@lgw01-amd64-049) (gcc version 7.4.0 (Ubu
ntu 7.4.0-1ubuntu1~18.04.1)) #73-Ubuntu SMP Tue Nov 12 12:25:21 UTC 2019 (Ubuntu 4.15.0-1064.
73-oem 4.15.18)
[…]
[ 158.517750] thunderbolt 0000:05:00.0: 303:b: disabled by eeprom
[ 174.750235] thunderbolt 0000:05:00.0: stopping RX ring 0
[ 174.750247] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 12 (0x1001 -> 0x1)
[ 174.750262] thunderbolt 0000:05:00.0: stopping TX ring 0
[ 174.750271] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 0 (0x1 -> 0x0)
[ 174.750281] thunderbolt 0000:05:00.0: control channel stopped
[ 280.564072] thunderbolt 0000:05:00.0: control channel starting...
[ 280.564074] thunderbolt 0000:05:00.0: starting TX ring 0
[ 280.564080] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
[ 280.564081] thunderbolt 0000:05:00.0: starting RX ring 0
[ 280.564087] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)
[ 297.834059] thunderbolt 0000:05:00.0: stopping RX ring 0
[ 297.834073] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 12 (0x1001 -> 0x1)
[ 297.834104] thunderbolt 0000:05:00.0: stopping TX ring 0
[ 297.834115] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 0 (0x1 -> 0x0)
[ 297.834128] thunderbolt 0000:05:00.0: control channel stopped
```

> I suspect this has something to do with the ASMEDIA xHCI controller but
> I'm not an expert so Mathias CC'd.
>
>>> Additionally, despite `CONFIG_PCI_DEBUG` I do not see more elaborate messages.
>>
>> I see one strange thing in that log. The Thunderbolt driver does not
>> show the device at boot. You should see something like this when you
>> boot with the dock connected:
>>
>> thunderbolt 0-3: new device found, vendor=0xd4 device=0xb051
>> thunderbolt 0-3: Dell Dell Thunderbolt Cable
>> thunderbolt 0-303: new device found, vendor=0xd4 device=0xb054
>> thunderbolt 0-303: Dell Dell Thunderbolt Dock
>>
>> I only see those after you did suspend/resume cycle.
>>
>>> Lastly, could the daemon boltd have anything to do with this?
>>
>> It is the one that authorizes the PCIe tunneling so definitely has
>> something to do but below:
>>
>>>
>>> ```
>>> $ boltctl --version
>>> bolt 0.8
>>> $ boltctl list
>>> ● Dell Thunderbolt Cable
>>> ├─ type: peripheral
>>> ├─ name: Dell Thunderbolt Cable
>>> ├─ vendor: Dell
>>> ├─ uuid: 0082b09d-2f5f-d400-ffff-ffffffffffff
>>> ├─ status: authorized
>>
>> looks what is expected.


Kind regards,

Paul


PS: Here the Ubuntu 18.04 (Linux 4.15) thunderbolt logs. Full log attached.

> grep thunderb 20191121-update-5-only-USB-keyboard-works-dmesg.txt
[ 1.164761] thunderbolt 0000:05:00.0: enabling device (0000 -> 0002)
[ 1.165915] thunderbolt 0000:05:00.0: NHI initialized, starting thunderbolt
[ 1.165918] thunderbolt 0000:05:00.0: allocating TX ring 0 of size 10
[ 1.165951] thunderbolt 0000:05:00.0: allocating RX ring 0 of size 10
[ 1.165985] thunderbolt 0000:05:00.0: control channel created
[ 1.165987] thunderbolt 0000:05:00.0: control channel starting...
[ 1.165988] thunderbolt 0000:05:00.0: starting TX ring 0
[ 1.166006] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
[ 1.166007] thunderbolt 0000:05:00.0: starting RX ring 0
[ 1.166013] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)
[ 2.524679] thunderbolt 0000:05:00.0: current switch config:
[ 2.524680] thunderbolt 0000:05:00.0: Switch: 8086:15d3 (Revision: 6, TB Version: 2)
[ 2.524681] thunderbolt 0000:05:00.0: Max Port Number: 11
[ 2.524681] thunderbolt 0000:05:00.0: Config:
[ 2.524696] thunderbolt 0000:05:00.0: Upstream Port Number: 5 Depth: 0 Route String: 0x0 Enabled: 1, PlugEventsDelay: 254ms
[ 2.524697] thunderbolt 0000:05:00.0: unknown1: 0x0 unknown4: 0x0
[ 2.567959] thunderbolt 0000:05:00.0: 0: uid: 0xd410e424810b00
[ 2.569367] thunderbolt 0000:05:00.0: Port 0: 8086:15d3 (Revision: 6, TB Version: 1, Type: Port (0x1))
[ 2.569367] thunderbolt 0000:05:00.0: Max hop id (in/out): 7/7
[ 2.569368] thunderbolt 0000:05:00.0: Max counters: 8
[ 2.569368] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 2.569878] thunderbolt 0000:05:00.0: Port 1: 8086:15d3 (Revision: 6, TB Version: 1, Type: Port (0x1))
[ 2.569879] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 2.569879] thunderbolt 0000:05:00.0: Max counters: 16
[ 2.569880] thunderbolt 0000:05:00.0: NFC Credits: 0x3c00000
[ 2.570390] thunderbolt 0000:05:00.0: Port 2: 8086:15d3 (Revision: 6, TB Version: 1, Type: Port (0x1))
[ 2.570391] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 2.570391] thunderbolt 0000:05:00.0: Max counters: 16
[ 2.570391] thunderbolt 0000:05:00.0: NFC Credits: 0x3c00000
[ 2.570902] thunderbolt 0000:05:00.0: Port 3: 8086:15d3 (Revision: 6, TB Version: 1, Type: Port (0x1))
[ 2.570903] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 2.570903] thunderbolt 0000:05:00.0: Max counters: 16
[ 2.570903] thunderbolt 0000:05:00.0: NFC Credits: 0x7800000
[ 2.571414] thunderbolt 0000:05:00.0: Port 4: 8086:15d3 (Revision: 6, TB Version: 1, Type: Port (0x1))
[ 2.571415] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 2.571415] thunderbolt 0000:05:00.0: Max counters: 16
[ 2.571415] thunderbolt 0000:05:00.0: NFC Credits: 0x0
[ 2.571416] thunderbolt 0000:05:00.0: 0:5: disabled by eeprom
[ 2.571542] thunderbolt 0000:05:00.0: Port 6: 8086:15d3 (Revision: 6, TB Version: 1, Type: PCIe (0x100101))
[ 2.571543] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 2.571543] thunderbolt 0000:05:00.0: Max counters: 2
[ 2.571544] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 2.571670] thunderbolt 0000:05:00.0: Port 7: 8086:15d3 (Revision: 6, TB Version: 1, Type: PCIe (0x100101))
[ 2.571671] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 2.571671] thunderbolt 0000:05:00.0: Max counters: 2
[ 2.571672] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 2.571798] thunderbolt 0000:05:00.0: Port 8: 8086:15d3 (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102))
[ 2.571799] thunderbolt 0000:05:00.0: Max hop id (in/out): 9/9
[ 2.571799] thunderbolt 0000:05:00.0: Max counters: 2
[ 2.571800] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 2.571926] thunderbolt 0000:05:00.0: Port 9: 8086:15d3 (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0101))
[ 2.571927] thunderbolt 0000:05:00.0: Max hop id (in/out): 9/9
[ 2.571927] thunderbolt 0000:05:00.0: Max counters: 2
[ 2.571927] thunderbolt 0000:05:00.0: NFC Credits: 0x1000000
[ 2.572055] thunderbolt 0000:05:00.0: Port 10: 8086:15d3 (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0101))
[ 2.572055] thunderbolt 0000:05:00.0: Max hop id (in/out): 9/9
[ 2.572055] thunderbolt 0000:05:00.0: Max counters: 2
[ 2.572056] thunderbolt 0000:05:00.0: NFC Credits: 0x100000c
[ 2.572183] thunderbolt 0000:05:00.0: Port 11: 8086:15d3 (Revision: 6, TB Version: 1, Type: DP/HDMI (0xe0102))
[ 2.572183] thunderbolt 0000:05:00.0: Max hop id (in/out): 9/9
[ 2.572183] thunderbolt 0000:05:00.0: Max counters: 2
[ 2.572184] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 2.574876] thunderbolt 0000:05:00.0: current switch config:
[ 2.574877] thunderbolt 0000:05:00.0: Switch: 8086:1578 (Revision: 4, TB Version: 2)
[ 2.574878] thunderbolt 0000:05:00.0: Max Port Number: 11
[ 2.574879] thunderbolt 0000:05:00.0: Config:
[ 2.574880] thunderbolt 0000:05:00.0: Upstream Port Number: 1 Depth: 1 Route String: 0x3 Enabled: 1, PlugEventsDelay: 254ms
[ 2.574881] thunderbolt 0000:05:00.0: unknown1: 0x0 unknown4: 0x0
[ 2.592952] thunderbolt 0000:05:00.0: 3: reading drom (length: 0x6e)
[ 3.535730] thunderbolt 0000:05:00.0: 3: drom data crc32 mismatch (expected: 0xaf438340, got: 0xaf4383c0), continuing
[ 3.536494] thunderbolt 0000:05:00.0: 3: uid: 0xd45f2f9db08200
[ 3.536622] thunderbolt 0000:05:00.0: Port 0: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 3.536623] thunderbolt 0000:05:00.0: Max hop id (in/out): 7/7
[ 3.536623] thunderbolt 0000:05:00.0: Max counters: 8
[ 3.536624] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 3.537133] thunderbolt 0000:05:00.0: Port 1: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 3.537134] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 3.537134] thunderbolt 0000:05:00.0: Max counters: 16
[ 3.537135] thunderbolt 0000:05:00.0: NFC Credits: 0x7800048
[ 3.537647] thunderbolt 0000:05:00.0: Port 2: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 3.537647] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 3.537648] thunderbolt 0000:05:00.0: Max counters: 16
[ 3.537648] thunderbolt 0000:05:00.0: NFC Credits: 0x0
[ 3.538157] thunderbolt 0000:05:00.0: Port 3: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 3.538158] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 3.538158] thunderbolt 0000:05:00.0: Max counters: 16
[ 3.538158] thunderbolt 0000:05:00.0: NFC Credits: 0x7800000
[ 3.538669] thunderbolt 0000:05:00.0: Port 4: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 3.538669] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 3.538670] thunderbolt 0000:05:00.0: Max counters: 16
[ 3.538670] thunderbolt 0000:05:00.0: NFC Credits: 0x0
[ 3.538671] thunderbolt 0000:05:00.0: 3:5: disabled by eeprom
[ 3.538797] thunderbolt 0000:05:00.0: Port 6: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100102))
[ 3.538798] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 3.538798] thunderbolt 0000:05:00.0: Max counters: 2
[ 3.538798] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 3.538925] thunderbolt 0000:05:00.0: Port 7: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
[ 3.538926] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 3.538926] thunderbolt 0000:05:00.0: Max counters: 2
[ 3.538926] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 3.538927] thunderbolt 0000:05:00.0: 3:8: disabled by eeprom
[ 3.538927] thunderbolt 0000:05:00.0: 3:9: disabled by eeprom
[ 3.538928] thunderbolt 0000:05:00.0: 3:a: disabled by eeprom
[ 3.538928] thunderbolt 0000:05:00.0: 3:b: disabled by eeprom
[ 3.540468] thunderbolt 0000:05:00.0: current switch config:
[ 3.540469] thunderbolt 0000:05:00.0: Switch: 8086:1578 (Revision: 4, TB Version: 2)
[ 3.540469] thunderbolt 0000:05:00.0: Max Port Number: 11
[ 3.540470] thunderbolt 0000:05:00.0: Config:
[ 3.540471] thunderbolt 0000:05:00.0: Upstream Port Number: 1 Depth: 2 Route String: 0x303 Enabled: 1, PlugEventsDelay: 254ms
[ 3.540471] thunderbolt 0000:05:00.0: unknown1: 0x0 unknown4: 0x0
[ 3.558261] thunderbolt 0000:05:00.0: 303: reading drom (length: 0x75)
[ 4.044036] thunderbolt 0-303: ignoring unnecessary extra entries in DROM
[ 4.044040] thunderbolt 0000:05:00.0: 303: uid: 0x8086461d6849d310
[ 4.044206] thunderbolt 0000:05:00.0: Port 0: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 4.044207] thunderbolt 0000:05:00.0: Max hop id (in/out): 7/7
[ 4.044208] thunderbolt 0000:05:00.0: Max counters: 8
[ 4.044209] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 4.044676] thunderbolt 0000:05:00.0: Port 1: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 4.044677] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 4.044677] thunderbolt 0000:05:00.0: Max counters: 16
[ 4.044678] thunderbolt 0000:05:00.0: NFC Credits: 0x7800000
[ 4.045187] thunderbolt 0000:05:00.0: Port 2: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 4.045188] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 4.045189] thunderbolt 0000:05:00.0: Max counters: 16
[ 4.045190] thunderbolt 0000:05:00.0: NFC Credits: 0x0
[ 4.045699] thunderbolt 0000:05:00.0: Port 3: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 4.045701] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 4.045701] thunderbolt 0000:05:00.0: Max counters: 16
[ 4.045702] thunderbolt 0000:05:00.0: NFC Credits: 0x3c00000
[ 4.046672] thunderbolt 0000:05:00.0: Port 4: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 4.046673] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 4.046674] thunderbolt 0000:05:00.0: Max counters: 16
[ 4.046676] thunderbolt 0000:05:00.0: NFC Credits: 0x3c00000
[ 4.046677] thunderbolt 0000:05:00.0: 303:5: disabled by eeprom
[ 4.046798] thunderbolt 0000:05:00.0: Port 6: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100102))
[ 4.046799] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 4.046800] thunderbolt 0000:05:00.0: Max counters: 2
[ 4.046801] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 4.046927] thunderbolt 0000:05:00.0: Port 7: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
[ 4.046929] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 4.046929] thunderbolt 0000:05:00.0: Max counters: 2
[ 4.046930] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 4.047054] thunderbolt 0000:05:00.0: Port 8: 8086:1578 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0102))
[ 4.047055] thunderbolt 0000:05:00.0: Max hop id (in/out): 9/9
[ 4.047056] thunderbolt 0000:05:00.0: Max counters: 2
[ 4.047056] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 4.047057] thunderbolt 0000:05:00.0: 303:9: disabled by eeprom
[ 4.047184] thunderbolt 0000:05:00.0: Port 10: 8086:1578 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0101))
[ 4.047185] thunderbolt 0000:05:00.0: Max hop id (in/out): 9/9
[ 4.047186] thunderbolt 0000:05:00.0: Max counters: 2
[ 4.047186] thunderbolt 0000:05:00.0: NFC Credits: 0x1000000
[ 4.047187] thunderbolt 0000:05:00.0: 303:b: disabled by eeprom
[ 19.933636] thunderbolt 0000:05:00.0: stopping RX ring 0
[ 19.933651] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 12 (0x1001 -> 0x1)
[ 19.933673] thunderbolt 0000:05:00.0: stopping TX ring 0
[ 19.933683] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 0 (0x1 -> 0x0)
[ 19.933695] thunderbolt 0000:05:00.0: control channel stopped
[ 27.352135] thunderbolt 0000:05:00.0: control channel starting...
[ 27.352138] thunderbolt 0000:05:00.0: starting TX ring 0
[ 27.352145] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
[ 27.352146] thunderbolt 0000:05:00.0: starting RX ring 0
[ 27.352153] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)
[ 31.464322] thunderbolt 0000:05:00.0: current switch config:
[ 31.464325] thunderbolt 0000:05:00.0: Switch: 8086:1578 (Revision: 4, TB Version: 2)
[ 31.464327] thunderbolt 0000:05:00.0: Max Port Number: 11
[ 31.464329] thunderbolt 0000:05:00.0: Config:
[ 31.464331] thunderbolt 0000:05:00.0: Upstream Port Number: 1 Depth: 1 Route String: 0x3 Enabled: 1, PlugEventsDelay: 254ms
[ 31.464333] thunderbolt 0000:05:00.0: unknown1: 0x0 unknown4: 0x0
[ 32.224561] thunderbolt 0000:05:00.0: 3: reading drom (length: 0x6e)
[ 32.601413] thunderbolt 0000:05:00.0: 3: drom data crc32 mismatch (expected: 0xaf438340, got: 0xaf4383c0), continuing
[ 32.602180] thunderbolt 0000:05:00.0: 3: uid: 0xd45f2f9db08200
[ 32.602309] thunderbolt 0000:05:00.0: Port 0: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 32.602309] thunderbolt 0000:05:00.0: Max hop id (in/out): 7/7
[ 32.602310] thunderbolt 0000:05:00.0: Max counters: 8
[ 32.602310] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 32.602820] thunderbolt 0000:05:00.0: Port 1: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 32.602821] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 32.602821] thunderbolt 0000:05:00.0: Max counters: 16
[ 32.602822] thunderbolt 0000:05:00.0: NFC Credits: 0x7800048
[ 32.603332] thunderbolt 0000:05:00.0: Port 2: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 32.603332] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 32.603333] thunderbolt 0000:05:00.0: Max counters: 16
[ 32.603333] thunderbolt 0000:05:00.0: NFC Credits: 0x0
[ 32.603844] thunderbolt 0000:05:00.0: Port 3: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 32.603844] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 32.603845] thunderbolt 0000:05:00.0: Max counters: 16
[ 32.603845] thunderbolt 0000:05:00.0: NFC Credits: 0x7800000
[ 32.604358] thunderbolt 0000:05:00.0: Port 4: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 32.604359] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 32.604360] thunderbolt 0000:05:00.0: Max counters: 16
[ 32.604361] thunderbolt 0000:05:00.0: NFC Credits: 0x0
[ 32.604362] thunderbolt 0000:05:00.0: 3:5: disabled by eeprom
[ 32.604488] thunderbolt 0000:05:00.0: Port 6: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100102))
[ 32.604489] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 32.604490] thunderbolt 0000:05:00.0: Max counters: 2
[ 32.604491] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 32.604613] thunderbolt 0000:05:00.0: Port 7: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
[ 32.604614] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 32.604615] thunderbolt 0000:05:00.0: Max counters: 2
[ 32.604616] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 32.604617] thunderbolt 0000:05:00.0: 3:8: disabled by eeprom
[ 32.604618] thunderbolt 0000:05:00.0: 3:9: disabled by eeprom
[ 32.604619] thunderbolt 0000:05:00.0: 3:a: disabled by eeprom
[ 32.604619] thunderbolt 0000:05:00.0: 3:b: disabled by eeprom
[ 32.607873] thunderbolt 0000:05:00.0: current switch config:
[ 32.607875] thunderbolt 0000:05:00.0: Switch: 8086:1578 (Revision: 4, TB Version: 2)
[ 32.607876] thunderbolt 0000:05:00.0: Max Port Number: 11
[ 32.607877] thunderbolt 0000:05:00.0: Config:
[ 32.607879] thunderbolt 0000:05:00.0: Upstream Port Number: 1 Depth: 2 Route String: 0x303 Enabled: 1, PlugEventsDelay: 254ms
[ 32.607880] thunderbolt 0000:05:00.0: unknown1: 0x0 unknown4: 0x0
[ 32.628563] thunderbolt 0000:05:00.0: 303: reading drom (length: 0x75)
[ 33.018678] thunderbolt 0000:05:00.0: 303: uid: 0x8086461d6849d310
[ 33.018804] thunderbolt 0000:05:00.0: Port 0: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 33.018805] thunderbolt 0000:05:00.0: Max hop id (in/out): 7/7
[ 33.018805] thunderbolt 0000:05:00.0: Max counters: 8
[ 33.018806] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 33.019315] thunderbolt 0000:05:00.0: Port 1: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 33.019316] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 33.019316] thunderbolt 0000:05:00.0: Max counters: 16
[ 33.019317] thunderbolt 0000:05:00.0: NFC Credits: 0x7800000
[ 33.019827] thunderbolt 0000:05:00.0: Port 2: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 33.019827] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 33.019828] thunderbolt 0000:05:00.0: Max counters: 16
[ 33.019828] thunderbolt 0000:05:00.0: NFC Credits: 0x0
[ 33.020341] thunderbolt 0000:05:00.0: Port 3: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 33.020343] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 33.020343] thunderbolt 0000:05:00.0: Max counters: 16
[ 33.020344] thunderbolt 0000:05:00.0: NFC Credits: 0x3c00000
[ 33.020853] thunderbolt 0000:05:00.0: Port 4: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 33.020854] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 33.020855] thunderbolt 0000:05:00.0: Max counters: 16
[ 33.020856] thunderbolt 0000:05:00.0: NFC Credits: 0x3c00000
[ 33.020857] thunderbolt 0000:05:00.0: 303:5: disabled by eeprom
[ 33.020981] thunderbolt 0000:05:00.0: Port 6: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100102))
[ 33.020982] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 33.020983] thunderbolt 0000:05:00.0: Max counters: 2
[ 33.020984] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 33.021109] thunderbolt 0000:05:00.0: Port 7: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
[ 33.021110] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 33.021111] thunderbolt 0000:05:00.0: Max counters: 2
[ 33.021111] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 33.021236] thunderbolt 0000:05:00.0: Port 8: 8086:1578 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0102))
[ 33.021237] thunderbolt 0000:05:00.0: Max hop id (in/out): 9/9
[ 33.021238] thunderbolt 0000:05:00.0: Max counters: 2
[ 33.021239] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 33.021240] thunderbolt 0000:05:00.0: 303:9: disabled by eeprom
[ 33.021364] thunderbolt 0000:05:00.0: Port 10: 8086:1578 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0101))
[ 33.021365] thunderbolt 0000:05:00.0: Max hop id (in/out): 9/9
[ 33.021366] thunderbolt 0000:05:00.0: Max counters: 2
[ 33.021367] thunderbolt 0000:05:00.0: NFC Credits: 0x1000000
[ 33.021368] thunderbolt 0000:05:00.0: 303:b: disabled by eeprom
[ 59.918377] thunderbolt 0000:05:00.0: stopping RX ring 0
[ 59.918391] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 12 (0x1001 -> 0x1)
[ 59.918414] thunderbolt 0000:05:00.0: stopping TX ring 0
[ 59.918424] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 0 (0x1 -> 0x0)
[ 59.918436] thunderbolt 0000:05:00.0: control channel stopped
[ 70.252266] thunderbolt 0000:05:00.0: control channel starting...
[ 70.252272] thunderbolt 0000:05:00.0: starting TX ring 0
[ 70.252283] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
[ 70.252286] thunderbolt 0000:05:00.0: starting RX ring 0
[ 70.252296] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)
[ 87.006216] thunderbolt 0000:05:00.0: stopping RX ring 0
[ 87.006230] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 12 (0x1001 -> 0x1)
[ 87.006268] thunderbolt 0000:05:00.0: stopping TX ring 0
[ 87.006275] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 0 (0x1 -> 0x0)
[ 87.006284] thunderbolt 0000:05:00.0: control channel stopped
[ 98.948481] thunderbolt 0000:05:00.0: control channel starting...
[ 98.948495] thunderbolt 0000:05:00.0: starting TX ring 0
[ 98.948517] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
[ 98.948527] thunderbolt 0000:05:00.0: starting RX ring 0
[ 98.948546] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)
[ 114.910424] thunderbolt 0000:05:00.0: stopping RX ring 0
[ 114.910436] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 12 (0x1001 -> 0x1)
[ 114.910455] thunderbolt 0000:05:00.0: stopping TX ring 0
[ 114.910464] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 0 (0x1 -> 0x0)
[ 114.910474] thunderbolt 0000:05:00.0: control channel stopped
[ 155.720248] thunderbolt 0000:05:00.0: control channel starting...
[ 155.720252] thunderbolt 0000:05:00.0: starting TX ring 0
[ 155.720261] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
[ 155.720263] thunderbolt 0000:05:00.0: starting RX ring 0
[ 155.720271] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)
[ 156.967814] thunderbolt 0000:05:00.0: current switch config:
[ 156.967817] thunderbolt 0000:05:00.0: Switch: 8086:1578 (Revision: 4, TB Version: 2)
[ 156.967818] thunderbolt 0000:05:00.0: Max Port Number: 11
[ 156.967818] thunderbolt 0000:05:00.0: Config:
[ 156.967820] thunderbolt 0000:05:00.0: Upstream Port Number: 1 Depth: 1 Route String: 0x3 Enabled: 1, PlugEventsDelay: 254ms
[ 156.967821] thunderbolt 0000:05:00.0: unknown1: 0x0 unknown4: 0x0
[ 157.727645] thunderbolt 0000:05:00.0: 3: reading drom (length: 0x6e)
[ 158.104628] thunderbolt 0000:05:00.0: 3: drom data crc32 mismatch (expected: 0xaf438340, got: 0xaf4383c0), continuing
[ 158.105394] thunderbolt 0000:05:00.0: 3: uid: 0xd45f2f9db08200
[ 158.105522] thunderbolt 0000:05:00.0: Port 0: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 158.105523] thunderbolt 0000:05:00.0: Max hop id (in/out): 7/7
[ 158.105523] thunderbolt 0000:05:00.0: Max counters: 8
[ 158.105524] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 158.106033] thunderbolt 0000:05:00.0: Port 1: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 158.106034] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 158.106034] thunderbolt 0000:05:00.0: Max counters: 16
[ 158.106035] thunderbolt 0000:05:00.0: NFC Credits: 0x7800048
[ 158.106545] thunderbolt 0000:05:00.0: Port 2: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 158.106546] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 158.106546] thunderbolt 0000:05:00.0: Max counters: 16
[ 158.106547] thunderbolt 0000:05:00.0: NFC Credits: 0x0
[ 158.107057] thunderbolt 0000:05:00.0: Port 3: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 158.107057] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 158.107058] thunderbolt 0000:05:00.0: Max counters: 16
[ 158.107058] thunderbolt 0000:05:00.0: NFC Credits: 0x7800000
[ 158.107594] thunderbolt 0000:05:00.0: Port 4: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 158.107594] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 158.107595] thunderbolt 0000:05:00.0: Max counters: 16
[ 158.107595] thunderbolt 0000:05:00.0: NFC Credits: 0x0
[ 158.107596] thunderbolt 0000:05:00.0: 3:5: disabled by eeprom
[ 158.107698] thunderbolt 0000:05:00.0: Port 6: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100102))
[ 158.107698] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 158.107699] thunderbolt 0000:05:00.0: Max counters: 2
[ 158.107699] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 158.107825] thunderbolt 0000:05:00.0: Port 7: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
[ 158.107826] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 158.107826] thunderbolt 0000:05:00.0: Max counters: 2
[ 158.107827] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 158.107827] thunderbolt 0000:05:00.0: 3:8: disabled by eeprom
[ 158.107828] thunderbolt 0000:05:00.0: 3:9: disabled by eeprom
[ 158.107828] thunderbolt 0000:05:00.0: 3:a: disabled by eeprom
[ 158.107829] thunderbolt 0000:05:00.0: 3:b: disabled by eeprom
[ 158.110679] thunderbolt 0000:05:00.0: current switch config:
[ 158.110682] thunderbolt 0000:05:00.0: Switch: 8086:1578 (Revision: 4, TB Version: 2)
[ 158.110683] thunderbolt 0000:05:00.0: Max Port Number: 11
[ 158.110683] thunderbolt 0000:05:00.0: Config:
[ 158.110684] thunderbolt 0000:05:00.0: Upstream Port Number: 1 Depth: 2 Route String: 0x303 Enabled: 1, PlugEventsDelay: 254ms
[ 158.110685] thunderbolt 0000:05:00.0: unknown1: 0x0 unknown4: 0x0
[ 158.128469] thunderbolt 0000:05:00.0: 303: reading drom (length: 0x75)
[ 158.515063] thunderbolt 0000:05:00.0: 303: uid: 0x8086461d6849d310
[ 158.515189] thunderbolt 0000:05:00.0: Port 0: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 158.515190] thunderbolt 0000:05:00.0: Max hop id (in/out): 7/7
[ 158.515191] thunderbolt 0000:05:00.0: Max counters: 8
[ 158.515191] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 158.515701] thunderbolt 0000:05:00.0: Port 1: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 158.515701] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 158.515702] thunderbolt 0000:05:00.0: Max counters: 16
[ 158.515702] thunderbolt 0000:05:00.0: NFC Credits: 0x7800000
[ 158.516213] thunderbolt 0000:05:00.0: Port 2: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 158.516213] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 158.516214] thunderbolt 0000:05:00.0: Max counters: 16
[ 158.516214] thunderbolt 0000:05:00.0: NFC Credits: 0x0
[ 158.516724] thunderbolt 0000:05:00.0: Port 3: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 158.516725] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 158.516725] thunderbolt 0000:05:00.0: Max counters: 16
[ 158.516726] thunderbolt 0000:05:00.0: NFC Credits: 0x3c00000
[ 158.517236] thunderbolt 0000:05:00.0: Port 4: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
[ 158.517237] thunderbolt 0000:05:00.0: Max hop id (in/out): 15/15
[ 158.517237] thunderbolt 0000:05:00.0: Max counters: 16
[ 158.517238] thunderbolt 0000:05:00.0: NFC Credits: 0x3c00000
[ 158.517238] thunderbolt 0000:05:00.0: 303:5: disabled by eeprom
[ 158.517364] thunderbolt 0000:05:00.0: Port 6: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100102))
[ 158.517365] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 158.517365] thunderbolt 0000:05:00.0: Max counters: 2
[ 158.517366] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 158.517492] thunderbolt 0000:05:00.0: Port 7: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
[ 158.517493] thunderbolt 0000:05:00.0: Max hop id (in/out): 8/8
[ 158.517493] thunderbolt 0000:05:00.0: Max counters: 2
[ 158.517494] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 158.517620] thunderbolt 0000:05:00.0: Port 8: 8086:1578 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0102))
[ 158.517621] thunderbolt 0000:05:00.0: Max hop id (in/out): 9/9
[ 158.517621] thunderbolt 0000:05:00.0: Max counters: 2
[ 158.517622] thunderbolt 0000:05:00.0: NFC Credits: 0x800000
[ 158.517622] thunderbolt 0000:05:00.0: 303:9: disabled by eeprom
[ 158.517748] thunderbolt 0000:05:00.0: Port 10: 8086:1578 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0101))
[ 158.517749] thunderbolt 0000:05:00.0: Max hop id (in/out): 9/9
[ 158.517749] thunderbolt 0000:05:00.0: Max counters: 2
[ 158.517750] thunderbolt 0000:05:00.0: NFC Credits: 0x1000000
[ 158.517750] thunderbolt 0000:05:00.0: 303:b: disabled by eeprom
[ 174.750235] thunderbolt 0000:05:00.0: stopping RX ring 0
[ 174.750247] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 12 (0x1001 -> 0x1)
[ 174.750262] thunderbolt 0000:05:00.0: stopping TX ring 0
[ 174.750271] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 0 (0x1 -> 0x0)
[ 174.750281] thunderbolt 0000:05:00.0: control channel stopped
[ 280.564072] thunderbolt 0000:05:00.0: control channel starting...
[ 280.564074] thunderbolt 0000:05:00.0: starting TX ring 0
[ 280.564080] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
[ 280.564081] thunderbolt 0000:05:00.0: starting RX ring 0
[ 280.564087] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)
[ 297.834059] thunderbolt 0000:05:00.0: stopping RX ring 0
[ 297.834073] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 12 (0x1001 -> 0x1)
[ 297.834104] thunderbolt 0000:05:00.0: stopping TX ring 0
[ 297.834115] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 0 (0x1 -> 0x0)
[ 297.834128] thunderbolt 0000:05:00.0: control channel stopped


Attachments:
20191121-update-5-only-USB-keyboard-works-dmesg.txt (175.89 kB)
smime.p7s (5.05 kB)
S/MIME Cryptographic Signature
Download all attachments

2019-11-22 11:33:25

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Fri, Nov 22, 2019 at 12:05:13PM +0100, Paul Menzel wrote:
> Dear Mika,
>
>
> Thank you so much for looking into this issue.
>
>
> On 2019-11-22 11:50, Mika Westerberg wrote:
> > On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
> >> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
>
> >>> On 2019-11-04 17:21, Mika Westerberg wrote:
> >>>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
> >>>
> >>>>> On 2019-11-04 16:49, [email protected] wrote:
> >>>>>
> >>>>>>> From: Mika Westerberg <[email protected]>
> >>>>>>> Sent: Monday, November 4, 2019 9:45 AM
> >>>>>
> >>>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
> >>>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
> >>>>>
> >>>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
> >>>>>
> >>>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> >>>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
> >>>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
> >>>>>>>>>> connected to the TB16 stop working. They work for a few seconds
> >>>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
> >>>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
> >>>>>>>>>> according to `fwupdmgr`.
> >>>>>>>>>
> >>>>>>>>> What are the exact steps to reproduce? Just "echo mem >
> >>>>>>>>> /sys/power/state" and then resume by pressing power button?
> >>>>>
> >>>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
> >>>>> display. So more than `echo mem > /sys/power/state` is done. What
> >>>>> distribution do you use?
> >>>>
> >>>> I have buildroot based "distro" so there is no UI running.
> >>>
> >>> Hmm, this is quite different from the “normal” use-case of the these devices.
> >>> That way you won’t hit the bugs of the normal users. ;-)
> >>
> >> Well, I can install some distro to that thing also :) I suppose Debian
> >> 10.2 does have this issue, no?
> >>
> >>>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
> >>>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
> >>>>>>>>
> >>>>>>>> I may have older/different firmware than you, though.
> >>>>>>>
> >>>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
> >>>>>>> on my system :/
> >>>>>
> >>>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
> >>>>> Updating to the recent version (I got the logs with) did not fix the issue.
> >>>>
> >>>> I also tried v40 (that was originally on that system) but I was not able
> >>>> to reproduce it.
> >>>>
> >>>> Do you know if the user changed any BIOS settings?
> >>>
> >>> We had to disable the Thunderbolt security settings as otherwise the USB
> >>> devices wouldn’t work at cold boot either.
> >>
> >> That does not sound right at all. There is the preboot ACL that allows
> >> you to use TBT dock aready on boot. Bolt takes care of this.
> >>
> >> Are you talking about USB devices connected to the TB16 dock?
> >>
> >> Also are you connecting the TB16 dock to the Thunderbolt ports (left
> >> side of the system marked with small lightning logo) or to the normal
> >> Type-C ports (right side)?
> >>
> >>> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
> >>> error is still there. Sometimes, re-plugging the dock helped, and sometimes
> >>> it did not.
> >>>
> >>> Please find the logs attached. The strange thing is, the Linux kernel detects
> >>> the devices and I do not see any disconnect events. But, `lsusb` does not list
> >>> the keyboard and the mouse. Is that expected.
> >>
> >> I'm bit confused. Can you describe the exact steps what you do (so I can
> >> replicate them).
> >
> > I managed to reproduce following scenario.
> >
> > 1. Boot the system up to UI
> > 2. Connect TB16 dock (and see that it gets authorized by bolt)
> > 3. Connect keyboard and mouse to the TB16 dock
> > 4. Both mouse and keyboard are functional
> > 5. Enter s2idle by closing laptop lid
> > 6. Exit s2idle by opening the laptop lid
> > 7. After ~10 seconds or so the mouse or keyboard or both do not work
> > anymore. They do not respond but they are still "present".
> >
> > The above does not happen always but from time to time.
> >
> > Is this the scenario you see as well?
>
> Yes, it is. Though I’d say it’s only five seconds or so.
>
> > This is on Ubuntu 19.10 with the 5.3 stock kernel.
>
> “stock” in upstream’s or Ubuntu’s?

It is Ubuntu's.

> > I can get them work again by unplugging them and plugging back (leaving
> > the TBT16 dock connected). Also if you run lspci when the problem
> > occurs it still shows the dock so PCIe link stays up.
>
> Re-connecting the USB devices does not help here, but I still suspect it’s
> the same issue.

Yeah, sounds like so. Did you try to connect the device (mouse,
keyboard) to anoter USB port?

> Yesterday, I had my hand on a Dell XPS 13 7390 (10th Intel generation) and
> tried it with the shipped Ubuntu 18.04 LTS. There, the problem was not
> always reproducible, but it still happened. Sometimes, only one of the USB
> device (either keyboard or mouse) stopped working.

I suppose this is also with the TB16 dock connected, correct?

2019-11-22 11:37:25

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Dear Mika,


On 2019-11-22 12:29, Mika Westerberg wrote:
> On Fri, Nov 22, 2019 at 12:05:13PM +0100, Paul Menzel wrote:

>> On 2019-11-22 11:50, Mika Westerberg wrote:
>>> On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
>>>> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
>>
>>>>> On 2019-11-04 17:21, Mika Westerberg wrote:
>>>>>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
>>>>>
>>>>>>> On 2019-11-04 16:49, [email protected] wrote:
>>>>>>>
>>>>>>>>> From: Mika Westerberg <[email protected]>
>>>>>>>>> Sent: Monday, November 4, 2019 9:45 AM
>>>>>>>
>>>>>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>>>>>>
>>>>>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>>>>>>
>>>>>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>>>>>>> according to `fwupdmgr`.
>>>>>>>>>>>
>>>>>>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>>>>>>> /sys/power/state" and then resume by pressing power button?
>>>>>>>
>>>>>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>>>>>>> display. So more than `echo mem > /sys/power/state` is done. What
>>>>>>> distribution do you use?
>>>>>>
>>>>>> I have buildroot based "distro" so there is no UI running.
>>>>>
>>>>> Hmm, this is quite different from the “normal” use-case of the these devices.
>>>>> That way you won’t hit the bugs of the normal users. ;-)
>>>>
>>>> Well, I can install some distro to that thing also :) I suppose Debian
>>>> 10.2 does have this issue, no?
>>>>
>>>>>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>>>>>>
>>>>>>>>>> I may have older/different firmware than you, though.
>>>>>>>>>
>>>>>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>>>>>>> on my system :/
>>>>>>>
>>>>>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>>>>>>> Updating to the recent version (I got the logs with) did not fix the issue.
>>>>>>
>>>>>> I also tried v40 (that was originally on that system) but I was not able
>>>>>> to reproduce it.
>>>>>>
>>>>>> Do you know if the user changed any BIOS settings?
>>>>>
>>>>> We had to disable the Thunderbolt security settings as otherwise the USB
>>>>> devices wouldn’t work at cold boot either.
>>>>
>>>> That does not sound right at all. There is the preboot ACL that allows
>>>> you to use TBT dock aready on boot. Bolt takes care of this.
>>>>
>>>> Are you talking about USB devices connected to the TB16 dock?
>>>>
>>>> Also are you connecting the TB16 dock to the Thunderbolt ports (left
>>>> side of the system marked with small lightning logo) or to the normal
>>>> Type-C ports (right side)?
>>>>
>>>>> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
>>>>> error is still there. Sometimes, re-plugging the dock helped, and sometimes
>>>>> it did not.
>>>>>
>>>>> Please find the logs attached. The strange thing is, the Linux kernel detects
>>>>> the devices and I do not see any disconnect events. But, `lsusb` does not list
>>>>> the keyboard and the mouse. Is that expected.
>>>>
>>>> I'm bit confused. Can you describe the exact steps what you do (so I can
>>>> replicate them).
>>>
>>> I managed to reproduce following scenario.
>>>
>>> 1. Boot the system up to UI
>>> 2. Connect TB16 dock (and see that it gets authorized by bolt)
>>> 3. Connect keyboard and mouse to the TB16 dock
>>> 4. Both mouse and keyboard are functional
>>> 5. Enter s2idle by closing laptop lid
>>> 6. Exit s2idle by opening the laptop lid
>>> 7. After ~10 seconds or so the mouse or keyboard or both do not work
>>> anymore. They do not respond but they are still "present".
>>>
>>> The above does not happen always but from time to time.
>>>
>>> Is this the scenario you see as well?
>>
>> Yes, it is. Though I’d say it’s only five seconds or so.
>>
>>> This is on Ubuntu 19.10 with the 5.3 stock kernel.
>>
>> “stock” in upstream’s or Ubuntu’s?
>
> It is Ubuntu's.
>
>>> I can get them work again by unplugging them and plugging back (leaving
>>> the TBT16 dock connected). Also if you run lspci when the problem
>>> occurs it still shows the dock so PCIe link stays up.
>>
>> Re-connecting the USB devices does not help here, but I still suspect it’s
>> the same issue.
>
> Yeah, sounds like so. Did you try to connect the device (mouse,
> keyboard) to another USB port?

I do not think I did, but I can’t remember. Next week would be the next chance
to test this.

>> Yesterday, I had my hand on a Dell XPS 13 7390 (10th Intel generation) and
>> tried it with the shipped Ubuntu 18.04 LTS. There, the problem was not
>> always reproducible, but it still happened. Sometimes, only one of the USB
>> device (either keyboard or mouse) stopped working.
>
> I suppose this is also with the TB16 dock connected, correct?

Correct.

Can I ask again, how the USB devices connected to the dock can be listed on
the command line? lsusb needs to be adapted for that or is a different
mechanism needed?


Kind regards,

Paul


Attachments:
smime.p7s (5.05 kB)
S/MIME Cryptographic Signature

2019-11-22 11:43:37

by Mika Westerberg

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On Fri, Nov 22, 2019 at 12:33:44PM +0100, Paul Menzel wrote:
> Dear Mika,
>
>
> On 2019-11-22 12:29, Mika Westerberg wrote:
> > On Fri, Nov 22, 2019 at 12:05:13PM +0100, Paul Menzel wrote:
>
> >> On 2019-11-22 11:50, Mika Westerberg wrote:
> >>> On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
> >>>> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
> >>
> >>>>> On 2019-11-04 17:21, Mika Westerberg wrote:
> >>>>>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
> >>>>>
> >>>>>>> On 2019-11-04 16:49, [email protected] wrote:
> >>>>>>>
> >>>>>>>>> From: Mika Westerberg <[email protected]>
> >>>>>>>>> Sent: Monday, November 4, 2019 9:45 AM
> >>>>>>>
> >>>>>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
> >>>>>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
> >>>>>>>
> >>>>>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
> >>>>>>>
> >>>>>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
> >>>>>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
> >>>>>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
> >>>>>>>>>>>> connected to the TB16 stop working. They work for a few seconds
> >>>>>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
> >>>>>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
> >>>>>>>>>>>> according to `fwupdmgr`.
> >>>>>>>>>>>
> >>>>>>>>>>> What are the exact steps to reproduce? Just "echo mem >
> >>>>>>>>>>> /sys/power/state" and then resume by pressing power button?
> >>>>>>>
> >>>>>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
> >>>>>>> display. So more than `echo mem > /sys/power/state` is done. What
> >>>>>>> distribution do you use?
> >>>>>>
> >>>>>> I have buildroot based "distro" so there is no UI running.
> >>>>>
> >>>>> Hmm, this is quite different from the “normal” use-case of the these devices.
> >>>>> That way you won’t hit the bugs of the normal users. ;-)
> >>>>
> >>>> Well, I can install some distro to that thing also :) I suppose Debian
> >>>> 10.2 does have this issue, no?
> >>>>
> >>>>>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
> >>>>>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
> >>>>>>>>>>
> >>>>>>>>>> I may have older/different firmware than you, though.
> >>>>>>>>>
> >>>>>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
> >>>>>>>>> on my system :/
> >>>>>>>
> >>>>>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
> >>>>>>> Updating to the recent version (I got the logs with) did not fix the issue.
> >>>>>>
> >>>>>> I also tried v40 (that was originally on that system) but I was not able
> >>>>>> to reproduce it.
> >>>>>>
> >>>>>> Do you know if the user changed any BIOS settings?
> >>>>>
> >>>>> We had to disable the Thunderbolt security settings as otherwise the USB
> >>>>> devices wouldn’t work at cold boot either.
> >>>>
> >>>> That does not sound right at all. There is the preboot ACL that allows
> >>>> you to use TBT dock aready on boot. Bolt takes care of this.
> >>>>
> >>>> Are you talking about USB devices connected to the TB16 dock?
> >>>>
> >>>> Also are you connecting the TB16 dock to the Thunderbolt ports (left
> >>>> side of the system marked with small lightning logo) or to the normal
> >>>> Type-C ports (right side)?
> >>>>
> >>>>> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
> >>>>> error is still there. Sometimes, re-plugging the dock helped, and sometimes
> >>>>> it did not.
> >>>>>
> >>>>> Please find the logs attached. The strange thing is, the Linux kernel detects
> >>>>> the devices and I do not see any disconnect events. But, `lsusb` does not list
> >>>>> the keyboard and the mouse. Is that expected.
> >>>>
> >>>> I'm bit confused. Can you describe the exact steps what you do (so I can
> >>>> replicate them).
> >>>
> >>> I managed to reproduce following scenario.
> >>>
> >>> 1. Boot the system up to UI
> >>> 2. Connect TB16 dock (and see that it gets authorized by bolt)
> >>> 3. Connect keyboard and mouse to the TB16 dock
> >>> 4. Both mouse and keyboard are functional
> >>> 5. Enter s2idle by closing laptop lid
> >>> 6. Exit s2idle by opening the laptop lid
> >>> 7. After ~10 seconds or so the mouse or keyboard or both do not work
> >>> anymore. They do not respond but they are still "present".
> >>>
> >>> The above does not happen always but from time to time.
> >>>
> >>> Is this the scenario you see as well?
> >>
> >> Yes, it is. Though I’d say it’s only five seconds or so.
> >>
> >>> This is on Ubuntu 19.10 with the 5.3 stock kernel.
> >>
> >> “stock” in upstream’s or Ubuntu’s?
> >
> > It is Ubuntu's.
> >
> >>> I can get them work again by unplugging them and plugging back (leaving
> >>> the TBT16 dock connected). Also if you run lspci when the problem
> >>> occurs it still shows the dock so PCIe link stays up.
> >>
> >> Re-connecting the USB devices does not help here, but I still suspect it’s
> >> the same issue.
> >
> > Yeah, sounds like so. Did you try to connect the device (mouse,
> > keyboard) to another USB port?
>
> I do not think I did, but I can’t remember. Next week would be the next chance
> to test this.
>
> >> Yesterday, I had my hand on a Dell XPS 13 7390 (10th Intel generation) and
> >> tried it with the shipped Ubuntu 18.04 LTS. There, the problem was not
> >> always reproducible, but it still happened. Sometimes, only one of the USB
> >> device (either keyboard or mouse) stopped working.
> >
> > I suppose this is also with the TB16 dock connected, correct?
>
> Correct.
>
> Can I ask again, how the USB devices connected to the dock can be listed on
> the command line? lsusb needs to be adapted for that or is a different
> mechanism needed?

The TB16 dock has ASMEDIA xHCI controller, which is PCIe device so you
can see it by running lsusb and looking at the devices under that
controller. I think maybe 'lsusb -t' is helpful.

The xHCI controller itself you can see by running lspci.

2019-11-25 09:23:29

by Mathias Nyman

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On 22.11.2019 13.41, Mika Westerberg wrote:
> On Fri, Nov 22, 2019 at 12:33:44PM +0100, Paul Menzel wrote:
>> Dear Mika,
>>
>>
>> On 2019-11-22 12:29, Mika Westerberg wrote:
>>> On Fri, Nov 22, 2019 at 12:05:13PM +0100, Paul Menzel wrote:
>>
>>>> On 2019-11-22 11:50, Mika Westerberg wrote:
>>>>> On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
>>>>>> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
>>>>
>>>>>>> On 2019-11-04 17:21, Mika Westerberg wrote:
>>>>>>>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
>>>>>>>
>>>>>>>>> On 2019-11-04 16:49, [email protected] wrote:
>>>>>>>>>
>>>>>>>>>>> From: Mika Westerberg <[email protected]>
>>>>>>>>>>> Sent: Monday, November 4, 2019 9:45 AM
>>>>>>>>>
>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>>>>>>>>
>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>>>>>>>>
>>>>>>>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>>>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>>>>>>>>> according to `fwupdmgr`.
>>>>>>>>>>>>>
>>>>>>>>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>>>>>>>>> /sys/power/state" and then resume by pressing power button?
>>>>>>>>>
>>>>>>>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>>>>>>>>> display. So more than `echo mem > /sys/power/state` is done. What
>>>>>>>>> distribution do you use?
>>>>>>>>
>>>>>>>> I have buildroot based "distro" so there is no UI running.
>>>>>>>
>>>>>>> Hmm, this is quite different from the “normal” use-case of the these devices.
>>>>>>> That way you won’t hit the bugs of the normal users. ;-)
>>>>>>
>>>>>> Well, I can install some distro to that thing also :) I suppose Debian
>>>>>> 10.2 does have this issue, no?
>>>>>>
>>>>>>>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>>>>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>>>>>>>>
>>>>>>>>>>>> I may have older/different firmware than you, though.
>>>>>>>>>>>
>>>>>>>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>>>>>>>>> on my system :/
>>>>>>>>>
>>>>>>>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>>>>>>>>> Updating to the recent version (I got the logs with) did not fix the issue.
>>>>>>>>
>>>>>>>> I also tried v40 (that was originally on that system) but I was not able
>>>>>>>> to reproduce it.
>>>>>>>>
>>>>>>>> Do you know if the user changed any BIOS settings?
>>>>>>>
>>>>>>> We had to disable the Thunderbolt security settings as otherwise the USB
>>>>>>> devices wouldn’t work at cold boot either.
>>>>>>
>>>>>> That does not sound right at all. There is the preboot ACL that allows
>>>>>> you to use TBT dock aready on boot. Bolt takes care of this.
>>>>>>
>>>>>> Are you talking about USB devices connected to the TB16 dock?
>>>>>>
>>>>>> Also are you connecting the TB16 dock to the Thunderbolt ports (left
>>>>>> side of the system marked with small lightning logo) or to the normal
>>>>>> Type-C ports (right side)?
>>>>>>
>>>>>>> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
>>>>>>> error is still there. Sometimes, re-plugging the dock helped, and sometimes
>>>>>>> it did not.
>>>>>>>
>>>>>>> Please find the logs attached. The strange thing is, the Linux kernel detects
>>>>>>> the devices and I do not see any disconnect events. But, `lsusb` does not list
>>>>>>> the keyboard and the mouse. Is that expected.
>>>>>>
>>>>>> I'm bit confused. Can you describe the exact steps what you do (so I can
>>>>>> replicate them).
>>>>>
>>>>> I managed to reproduce following scenario.
>>>>>
>>>>> 1. Boot the system up to UI
>>>>> 2. Connect TB16 dock (and see that it gets authorized by bolt)
>>>>> 3. Connect keyboard and mouse to the TB16 dock
>>>>> 4. Both mouse and keyboard are functional
>>>>> 5. Enter s2idle by closing laptop lid
>>>>> 6. Exit s2idle by opening the laptop lid
>>>>> 7. After ~10 seconds or so the mouse or keyboard or both do not work
>>>>> anymore. They do not respond but they are still "present".
>>>>>
>>>>> The above does not happen always but from time to time.
>>>>>
>>>>> Is this the scenario you see as well?
>>>>
>>>> Yes, it is. Though I’d say it’s only five seconds or so.
>>>>
>>>>> This is on Ubuntu 19.10 with the 5.3 stock kernel.
>>>>
>>>> “stock” in upstream’s or Ubuntu’s?
>>>
>>> It is Ubuntu's.
>>>
>>>>> I can get them work again by unplugging them and plugging back (leaving
>>>>> the TBT16 dock connected). Also if you run lspci when the problem
>>>>> occurs it still shows the dock so PCIe link stays up.
>>>>
>>>> Re-connecting the USB devices does not help here, but I still suspect it’s
>>>> the same issue.
>>>
>>> Yeah, sounds like so. Did you try to connect the device (mouse,
>>> keyboard) to another USB port?
>>
>> I do not think I did, but I can’t remember. Next week would be the next chance
>> to test this.
>>
>>>> Yesterday, I had my hand on a Dell XPS 13 7390 (10th Intel generation) and
>>>> tried it with the shipped Ubuntu 18.04 LTS. There, the problem was not
>>>> always reproducible, but it still happened. Sometimes, only one of the USB
>>>> device (either keyboard or mouse) stopped working.
>>>
>>> I suppose this is also with the TB16 dock connected, correct?
>>
>> Correct.
>>
>> Can I ask again, how the USB devices connected to the dock can be listed on
>> the command line? lsusb needs to be adapted for that or is a different
>> mechanism needed?
>
> The TB16 dock has ASMEDIA xHCI controller, which is PCIe device so you
> can see it by running lsusb and looking at the devices under that
> controller. I think maybe 'lsusb -t' is helpful.
>
> The xHCI controller itself you can see by running lspci.
>

I got traces from the ASMedia xHC controller in the TB16 dock.
There are issues with split transactions between the ASMedia host and the 7 port
High speed hub built in to the dock.

host reports a split transaction error for mouse or keyboard full-speed/low-speed
interrupt transactions. Endpoint doesn't recover after resetting it.

Split transaction allows full- and low-speed devices to be attached to high-speed
hubs, and are used only between the host and the HS hub. A transaction translator (TT)
in the HS hub will translate the high-speed split transactions on its upstream port to
low/full speed transactions on the downstream port.

I'll see if there are any xHC parameters driver is setting that trigger these
split transaction errors to trigger more easy.

-Mathias

2019-11-26 12:42:26

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Dear Mathias,


On 2019-11-25 10:20, Mathias Nyman wrote:
> On 22.11.2019 13.41, Mika Westerberg wrote:
>> On Fri, Nov 22, 2019 at 12:33:44PM +0100, Paul Menzel wrote:

>>> On 2019-11-22 12:29, Mika Westerberg wrote:
>>>> On Fri, Nov 22, 2019 at 12:05:13PM +0100, Paul Menzel wrote:
>>>
>>>>> On 2019-11-22 11:50, Mika Westerberg wrote:
>>>>>> On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
>>>>>>> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
>>>>>
>>>>>>>> On 2019-11-04 17:21, Mika Westerberg wrote:
>>>>>>>>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
>>>>>>>>
>>>>>>>>>> On 2019-11-04 16:49, [email protected] wrote:
>>>>>>>>>>
>>>>>>>>>>>> From: Mika Westerberg <[email protected]>
>>>>>>>>>>>> Sent: Monday, November 4, 2019 9:45 AM
>>>>>>>>>>
>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>>>>>>>>>
>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>>>>>>>>>
>>>>>>>>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>>>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>>>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>>>>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>>>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>>>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>>>>>>>>>> according to `fwupdmgr`.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>>>>>>>>>> /sys/power/state" and then resume by pressing power button?
>>>>>>>>>>
>>>>>>>>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>>>>>>>>>> display. So more than `echo mem > /sys/power/state` is done. What
>>>>>>>>>> distribution do you use?
>>>>>>>>>
>>>>>>>>> I have buildroot based "distro" so there is no UI running.
>>>>>>>>
>>>>>>>> Hmm, this is quite different from the “normal” use-case of the these devices.
>>>>>>>> That way you won’t hit the bugs of the normal users. ;-)
>>>>>>>
>>>>>>> Well, I can install some distro to that thing also :) I suppose Debian
>>>>>>> 10.2 does have this issue, no?
>>>>>>>
>>>>>>>>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>>>>>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I may have older/different firmware than you, though.
>>>>>>>>>>>>
>>>>>>>>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>>>>>>>>>> on my system :/
>>>>>>>>>>
>>>>>>>>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>>>>>>>>>> Updating to the recent version (I got the logs with) did not fix the issue.
>>>>>>>>>
>>>>>>>>> I also tried v40 (that was originally on that system) but I was not able
>>>>>>>>> to reproduce it.
>>>>>>>>>
>>>>>>>>> Do you know if the user changed any BIOS settings?
>>>>>>>>
>>>>>>>> We had to disable the Thunderbolt security settings as otherwise the USB
>>>>>>>> devices wouldn’t work at cold boot either.
>>>>>>>
>>>>>>> That does not sound right at all. There is the preboot ACL that allows
>>>>>>> you to use TBT dock aready on boot. Bolt takes care of this.
>>>>>>>
>>>>>>> Are you talking about USB devices connected to the TB16 dock?
>>>>>>>
>>>>>>> Also are you connecting the TB16 dock to the Thunderbolt ports (left
>>>>>>> side of the system marked with small lightning logo) or to the normal
>>>>>>> Type-C ports (right side)?
>>>>>>>
>>>>>>>> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
>>>>>>>> error is still there. Sometimes, re-plugging the dock helped, and sometimes
>>>>>>>> it did not.
>>>>>>>>
>>>>>>>> Please find the logs attached. The strange thing is, the Linux kernel detects
>>>>>>>> the devices and I do not see any disconnect events. But, `lsusb` does not list
>>>>>>>> the keyboard and the mouse. Is that expected.
>>>>>>>
>>>>>>> I'm bit confused. Can you describe the exact steps what you do (so I can
>>>>>>> replicate them).
>>>>>>
>>>>>> I managed to reproduce following scenario.
>>>>>>
>>>>>> 1. Boot the system up to UI
>>>>>> 2. Connect TB16 dock (and see that it gets authorized by bolt)
>>>>>> 3. Connect keyboard and mouse to the TB16 dock
>>>>>> 4. Both mouse and keyboard are functional
>>>>>> 5. Enter s2idle by closing laptop lid
>>>>>> 6. Exit s2idle by opening the laptop lid
>>>>>> 7. After ~10 seconds or so the mouse or keyboard or both do not work
>>>>>>     anymore. They do not respond but they are still "present".
>>>>>>
>>>>>> The above does not happen always but from time to time.
>>>>>>
>>>>>> Is this the scenario you see as well?
>>>>>
>>>>> Yes, it is. Though I’d say it’s only five seconds or so.
>>>>>
>>>>>> This is on Ubuntu 19.10 with the 5.3 stock kernel.
>>>>>
>>>>> “stock” in upstream’s or Ubuntu’s?
>>>>
>>>> It is Ubuntu's.
>>>>
>>>>>> I can get them work again by unplugging them and plugging back (leaving
>>>>>> the TBT16 dock connected). Also if you run lspci when the problem
>>>>>> occurs it still shows the dock so PCIe link stays up.
>>>>>
>>>>> Re-connecting the USB devices does not help here, but I still suspect it’s
>>>>> the same issue.
>>>>
>>>> Yeah, sounds like so. Did you try to connect the device (mouse,
>>>> keyboard) to another USB port?
>>>
>>> I do not think I did, but I can’t remember. Next week would be the next chance
>>> to test this.
>>>
>>>>> Yesterday, I had my hand on a Dell XPS 13 7390 (10th Intel generation) and
>>>>> tried it with the shipped Ubuntu 18.04 LTS. There, the problem was not
>>>>> always reproducible, but it still happened. Sometimes, only one of the USB
>>>>> device (either keyboard or mouse) stopped working.
>>>>
>>>> I suppose this is also with the TB16 dock connected, correct?
>>>
>>> Correct.
>>>
>>> Can I ask again, how the USB devices connected to the dock can be listed on
>>> the command line? lsusb needs to be adapted for that or is a different
>>> mechanism needed?
>>
>> The TB16 dock has ASMEDIA xHCI controller, which is PCIe device so you
>> can see it by running lsusb and looking at the devices under that
>> controller. I think maybe 'lsusb -t' is helpful.
>>
>> The xHCI controller itself you can see by running lspci.
>
> I got traces from the ASMedia xHC controller in the TB16 dock.

Nice. Thank you for looking into that. How can these traces be captured?

> There are issues with split transactions between the ASMedia host and the 7 port
> High speed hub built in to the dock.
>
> host reports a split transaction error for mouse or keyboard full-speed/low-speed
> interrupt transactions. Endpoint doesn't recover after resetting it.
>
> Split transaction allows full- and low-speed devices to be attached to high-speed
> hubs, and are used only between the host and the HS hub. A transaction translator (TT)
> in the HS hub will translate the high-speed split transactions on its upstream port to
> low/full speed transactions on the downstream port.
>
> I'll see if there are any xHC parameters driver is setting that trigger these
> split transaction errors to trigger more easy.

I always wonder how Microsoft Windows driver do it.

Mario, should I contact the Dell support regarding this issue?


Kind regards,

Paul


Attachments:
smime.p7s (5.05 kB)
S/MIME Cryptographic Signature

2019-11-26 13:02:45

by Mathias Nyman

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On 26.11.2019 13.33, Paul Menzel wrote:
> Dear Mathias,
>
>
> On 2019-11-25 10:20, Mathias Nyman wrote:
>> On 22.11.2019 13.41, Mika Westerberg wrote:
>>> On Fri, Nov 22, 2019 at 12:33:44PM +0100, Paul Menzel wrote:
>
>>>> On 2019-11-22 12:29, Mika Westerberg wrote:
>>>>> On Fri, Nov 22, 2019 at 12:05:13PM +0100, Paul Menzel wrote:
>>>>
>>>>>> On 2019-11-22 11:50, Mika Westerberg wrote:
>>>>>>> On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
>>>>>>>> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
>>>>>>
>>>>>>>>> On 2019-11-04 17:21, Mika Westerberg wrote:
>>>>>>>>>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
>>>>>>>>>
>>>>>>>>>>> On 2019-11-04 16:49, [email protected] wrote:
>>>>>>>>>>>
>>>>>>>>>>>>> From: Mika Westerberg <[email protected]>
>>>>>>>>>>>>> Sent: Monday, November 4, 2019 9:45 AM
>>>>>>>>>>>
>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>>>>>>>>>>
>>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>>>>>>>>>>
>>>>>>>>>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>>>>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>>>>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>>>>>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>>>>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>>>>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>>>>>>>>>>> according to `fwupdmgr`.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>>>>>>>>>>> /sys/power/state" and then resume by pressing power button?
>>>>>>>>>>>
>>>>>>>>>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>>>>>>>>>>> display. So more than `echo mem > /sys/power/state` is done. What
>>>>>>>>>>> distribution do you use?
>>>>>>>>>>
>>>>>>>>>> I have buildroot based "distro" so there is no UI running.
>>>>>>>>>
>>>>>>>>> Hmm, this is quite different from the “normal” use-case of the these devices.
>>>>>>>>> That way you won’t hit the bugs of the normal users. ;-)
>>>>>>>>
>>>>>>>> Well, I can install some distro to that thing also :) I suppose Debian
>>>>>>>> 10.2 does have this issue, no?
>>>>>>>>
>>>>>>>>>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>>>>>>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I may have older/different firmware than you, though.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>>>>>>>>>>> on my system :/
>>>>>>>>>>>
>>>>>>>>>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>>>>>>>>>>> Updating to the recent version (I got the logs with) did not fix the issue.
>>>>>>>>>>
>>>>>>>>>> I also tried v40 (that was originally on that system) but I was not able
>>>>>>>>>> to reproduce it.
>>>>>>>>>>
>>>>>>>>>> Do you know if the user changed any BIOS settings?
>>>>>>>>>
>>>>>>>>> We had to disable the Thunderbolt security settings as otherwise the USB
>>>>>>>>> devices wouldn’t work at cold boot either.
>>>>>>>>
>>>>>>>> That does not sound right at all. There is the preboot ACL that allows
>>>>>>>> you to use TBT dock aready on boot. Bolt takes care of this.
>>>>>>>>
>>>>>>>> Are you talking about USB devices connected to the TB16 dock?
>>>>>>>>
>>>>>>>> Also are you connecting the TB16 dock to the Thunderbolt ports (left
>>>>>>>> side of the system marked with small lightning logo) or to the normal
>>>>>>>> Type-C ports (right side)?
>>>>>>>>
>>>>>>>>> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
>>>>>>>>> error is still there. Sometimes, re-plugging the dock helped, and sometimes
>>>>>>>>> it did not.
>>>>>>>>>
>>>>>>>>> Please find the logs attached. The strange thing is, the Linux kernel detects
>>>>>>>>> the devices and I do not see any disconnect events. But, `lsusb` does not list
>>>>>>>>> the keyboard and the mouse. Is that expected.
>>>>>>>>
>>>>>>>> I'm bit confused. Can you describe the exact steps what you do (so I can
>>>>>>>> replicate them).
>>>>>>>
>>>>>>> I managed to reproduce following scenario.
>>>>>>>
>>>>>>> 1. Boot the system up to UI
>>>>>>> 2. Connect TB16 dock (and see that it gets authorized by bolt)
>>>>>>> 3. Connect keyboard and mouse to the TB16 dock
>>>>>>> 4. Both mouse and keyboard are functional
>>>>>>> 5. Enter s2idle by closing laptop lid
>>>>>>> 6. Exit s2idle by opening the laptop lid
>>>>>>> 7. After ~10 seconds or so the mouse or keyboard or both do not work
>>>>>>>     anymore. They do not respond but they are still "present".
>>>>>>>
>>>>>>> The above does not happen always but from time to time.
>>>>>>>
>>>>>>> Is this the scenario you see as well?
>>>>>>
>>>>>> Yes, it is. Though I’d say it’s only five seconds or so.
>>>>>>
>>>>>>> This is on Ubuntu 19.10 with the 5.3 stock kernel.
>>>>>>
>>>>>> “stock” in upstream’s or Ubuntu’s?
>>>>>
>>>>> It is Ubuntu's.
>>>>>
>>>>>>> I can get them work again by unplugging them and plugging back (leaving
>>>>>>> the TBT16 dock connected). Also if you run lspci when the problem
>>>>>>> occurs it still shows the dock so PCIe link stays up.
>>>>>>
>>>>>> Re-connecting the USB devices does not help here, but I still suspect it’s
>>>>>> the same issue.
>>>>>
>>>>> Yeah, sounds like so. Did you try to connect the device (mouse,
>>>>> keyboard) to another USB port?
>>>>
>>>> I do not think I did, but I can’t remember. Next week would be the next chance
>>>> to test this.
>>>>
>>>>>> Yesterday, I had my hand on a Dell XPS 13 7390 (10th Intel generation) and
>>>>>> tried it with the shipped Ubuntu 18.04 LTS. There, the problem was not
>>>>>> always reproducible, but it still happened. Sometimes, only one of the USB
>>>>>> device (either keyboard or mouse) stopped working.
>>>>>
>>>>> I suppose this is also with the TB16 dock connected, correct?
>>>>
>>>> Correct.
>>>>
>>>> Can I ask again, how the USB devices connected to the dock can be listed on
>>>> the command line? lsusb needs to be adapted for that or is a different
>>>> mechanism needed?
>>>
>>> The TB16 dock has ASMEDIA xHCI controller, which is PCIe device so you
>>> can see it by running lsusb and looking at the devices under that
>>> controller. I think maybe 'lsusb -t' is helpful.
>>>
>>> The xHCI controller itself you can see by running lspci.
>>
>> I got traces from the ASMedia xHC controller in the TB16 dock.
>
> Nice. Thank you for looking into that. How can these traces be captured?

The Linux tracepoints added to the xhci driver can be enabled by:

mount -t debugfs none /sys/kernel/debug
echo 81920 > /sys/kernel/debug/tracing/buffer_size_kb
echo 1 > /sys/kernel/debug/tracing/events/xhci-hcd/enable
< Trigger the issue >

Copy traces found in /sys/kernel/debug/tracing/trace

Trace file grows fast.

-Mathias

>
>> There are issues with split transactions between the ASMedia host and the 7 port
>> High speed hub built in to the dock.
>>
>> host reports a split transaction error for mouse or keyboard full-speed/low-speed
>> interrupt transactions. Endpoint doesn't recover after resetting it.
>>
>> Split transaction allows full- and low-speed devices to be attached to high-speed
>> hubs, and are used only between the host and the HS hub. A transaction translator (TT)
>> in the HS hub will translate the high-speed split transactions on its upstream port to
>> low/full speed transactions on the downstream port.
>>
>> I'll see if there are any xHC parameters driver is setting that trigger these
>> split transaction errors to trigger more easy.
>
> I always wonder how Microsoft Windows driver do it.
>
> Mario, should I contact the Dell support regarding this issue?
>
>
> Kind regards,
>
> Paul
>

2019-12-20 14:26:33

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Dear Mathias,


On 2019-11-26 13:44, Mathias Nyman wrote:
> On 26.11.2019 13.33, Paul Menzel wrote:

>> On 2019-11-25 10:20, Mathias Nyman wrote:
>>> On 22.11.2019 13.41, Mika Westerberg wrote:
>>>> On Fri, Nov 22, 2019 at 12:33:44PM +0100, Paul Menzel wrote:
>>
>>>>> On 2019-11-22 12:29, Mika Westerberg wrote:
>>>>>> On Fri, Nov 22, 2019 at 12:05:13PM +0100, Paul Menzel wrote:
>>>>>
>>>>>>> On 2019-11-22 11:50, Mika Westerberg wrote:
>>>>>>>> On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
>>>>>>>>> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
>>>>>>>
>>>>>>>>>> On 2019-11-04 17:21, Mika Westerberg wrote:
>>>>>>>>>>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
>>>>>>>>>>
>>>>>>>>>>>> On 2019-11-04 16:49, [email protected] wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>> From: Mika Westerberg <[email protected]>
>>>>>>>>>>>>>> Sent: Monday, November 4, 2019 9:45 AM
>>>>>>>>>>>>
>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>>>>>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>>>>>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>>>>>>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>>>>>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>>>>>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>>>>>>>>>>>> according to `fwupdmgr`.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>>>>>>>>>>>> /sys/power/state" and then resume by pressing power button?
>>>>>>>>>>>>
>>>>>>>>>>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>>>>>>>>>>>> display. So more than `echo mem > /sys/power/state` is done. What
>>>>>>>>>>>> distribution do you use?
>>>>>>>>>>>
>>>>>>>>>>> I have buildroot based "distro" so there is no UI running.
>>>>>>>>>>
>>>>>>>>>> Hmm, this is quite different from the “normal” use-case of the these devices.
>>>>>>>>>> That way you won’t hit the bugs of the normal users. ;-)
>>>>>>>>>
>>>>>>>>> Well, I can install some distro to that thing also :) I suppose Debian
>>>>>>>>> 10.2 does have this issue, no?
>>>>>>>>>
>>>>>>>>>>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>>>>>>>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I may have older/different firmware than you, though.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>>>>>>>>>>>> on my system :/
>>>>>>>>>>>>
>>>>>>>>>>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>>>>>>>>>>>> Updating to the recent version (I got the logs with) did not fix the issue.
>>>>>>>>>>>
>>>>>>>>>>> I also tried v40 (that was originally on that system) but I was not able
>>>>>>>>>>> to reproduce it.
>>>>>>>>>>>
>>>>>>>>>>> Do you know if the user changed any BIOS settings?
>>>>>>>>>>
>>>>>>>>>> We had to disable the Thunderbolt security settings as otherwise the USB
>>>>>>>>>> devices wouldn’t work at cold boot either.
>>>>>>>>>
>>>>>>>>> That does not sound right at all. There is the preboot ACL that allows
>>>>>>>>> you to use TBT dock aready on boot. Bolt takes care of this.
>>>>>>>>>
>>>>>>>>> Are you talking about USB devices connected to the TB16 dock?
>>>>>>>>>
>>>>>>>>> Also are you connecting the TB16 dock to the Thunderbolt ports (left
>>>>>>>>> side of the system marked with small lightning logo) or to the normal
>>>>>>>>> Type-C ports (right side)?
>>>>>>>>>
>>>>>>>>>> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
>>>>>>>>>> error is still there. Sometimes, re-plugging the dock helped, and sometimes
>>>>>>>>>> it did not.
>>>>>>>>>>
>>>>>>>>>> Please find the logs attached. The strange thing is, the Linux kernel detects
>>>>>>>>>> the devices and I do not see any disconnect events. But, `lsusb` does not list
>>>>>>>>>> the keyboard and the mouse. Is that expected.
>>>>>>>>>
>>>>>>>>> I'm bit confused. Can you describe the exact steps what you do (so I can
>>>>>>>>> replicate them).
>>>>>>>>
>>>>>>>> I managed to reproduce following scenario.
>>>>>>>>
>>>>>>>> 1. Boot the system up to UI
>>>>>>>> 2. Connect TB16 dock (and see that it gets authorized by bolt)
>>>>>>>> 3. Connect keyboard and mouse to the TB16 dock
>>>>>>>> 4. Both mouse and keyboard are functional
>>>>>>>> 5. Enter s2idle by closing laptop lid
>>>>>>>> 6. Exit s2idle by opening the laptop lid
>>>>>>>> 7. After ~10 seconds or so the mouse or keyboard or both do not work
>>>>>>>>      anymore. They do not respond but they are still "present".
>>>>>>>>
>>>>>>>> The above does not happen always but from time to time.
>>>>>>>>
>>>>>>>> Is this the scenario you see as well?
>>>>>>>
>>>>>>> Yes, it is. Though I’d say it’s only five seconds or so.
>>>>>>>
>>>>>>>> This is on Ubuntu 19.10 with the 5.3 stock kernel.
>>>>>>>
>>>>>>> “stock” in upstream’s or Ubuntu’s?
>>>>>>
>>>>>> It is Ubuntu's.
>>>>>>
>>>>>>>> I can get them work again by unplugging them and plugging back (leaving
>>>>>>>> the TBT16 dock connected). Also if you run lspci when the problem
>>>>>>>> occurs it still shows the dock so PCIe link stays up.
>>>>>>>
>>>>>>> Re-connecting the USB devices does not help here, but I still suspect it’s
>>>>>>> the same issue.
>>>>>>
>>>>>> Yeah, sounds like so. Did you try to connect the device (mouse,
>>>>>> keyboard) to another USB port?
>>>>>
>>>>> I do not think I did, but I can’t remember. Next week would be the next chance
>>>>> to test this.
>>>>>
>>>>>>> Yesterday, I had my hand on a Dell XPS 13 7390 (10th Intel generation) and
>>>>>>> tried it with the shipped Ubuntu 18.04 LTS. There, the problem was not
>>>>>>> always reproducible, but it still happened. Sometimes, only one of the USB
>>>>>>> device (either keyboard or mouse) stopped working.
>>>>>>
>>>>>> I suppose this is also with the TB16 dock connected, correct?
>>>>>
>>>>> Correct.
>>>>>
>>>>> Can I ask again, how the USB devices connected to the dock can be listed on
>>>>> the command line? lsusb needs to be adapted for that or is a different
>>>>> mechanism needed?
>>>>
>>>> The TB16 dock has ASMEDIA xHCI controller, which is PCIe device so you
>>>> can see it by running lsusb and looking at the devices under that
>>>> controller. I think maybe 'lsusb -t' is helpful.
>>>>
>>>> The xHCI controller itself you can see by running lspci.
>>>
>>> I got traces from the ASMedia xHC controller in the TB16 dock.
>>
>> Nice. Thank you for looking into that. How can these traces be captured?
>
> The Linux tracepoints added to the xhci driver can be enabled by:
>
> mount -t debugfs none /sys/kernel/debug
> echo 81920 > /sys/kernel/debug/tracing/buffer_size_kb
> echo 1 > /sys/kernel/debug/tracing/events/xhci-hcd/enable
> < Trigger the issue >
>
> Copy traces found in /sys/kernel/debug/tracing/trace
>
> Trace file grows fast.

>>> There are issues with split transactions between the ASMedia host and the 7 port
>>> High speed hub built in to the dock.
>>>
>>> host reports a split transaction error for mouse or keyboard full-speed/low-speed
>>> interrupt transactions. Endpoint doesn't recover after resetting it.
>>>
>>> Split transaction allows full- and low-speed devices to be attached to high-speed
>>> hubs, and are used only between the host and the HS hub. A transaction translator (TT)
>>> in the HS hub will translate the high-speed split transactions on its upstream port to
>>> low/full speed transactions on the downstream port.
>>>
>>> I'll see if there are any xHC parameters driver is setting that trigger these
>>> split transaction errors to trigger more easy.
>>
>> I always wonder how Microsoft Windows driver do it.
>>
>> Mario, should I contact the Dell support regarding this issue?
Sorry for bothering, but were you able to find some workaround for this issue?


Kind regards,

Paul


Attachments:
smime.p7s (5.05 kB)
S/MIME Cryptographic Signature

2019-12-23 09:38:19

by Mathias Nyman

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

On 20.12.2019 16.25, Paul Menzel wrote:
> Dear Mathias,
>
>
> On 2019-11-26 13:44, Mathias Nyman wrote:
>> On 26.11.2019 13.33, Paul Menzel wrote:
>
>>> On 2019-11-25 10:20, Mathias Nyman wrote:
>>>> On 22.11.2019 13.41, Mika Westerberg wrote:
>>>>> On Fri, Nov 22, 2019 at 12:33:44PM +0100, Paul Menzel wrote:
>>>
>>>>>> On 2019-11-22 12:29, Mika Westerberg wrote:
>>>>>>> On Fri, Nov 22, 2019 at 12:05:13PM +0100, Paul Menzel wrote:
>>>>>>
>>>>>>>> On 2019-11-22 11:50, Mika Westerberg wrote:
>>>>>>>>> On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
>>>>>>>>>> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
>>>>>>>>
>>>>>>>>>>> On 2019-11-04 17:21, Mika Westerberg wrote:
>>>>>>>>>>>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
>>>>>>>>>>>
>>>>>>>>>>>>> On 2019-11-04 16:49, [email protected] wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>> From: Mika Westerberg <[email protected]>
>>>>>>>>>>>>>>> Sent: Monday, November 4, 2019 9:45 AM
>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>>>>>>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>>>>>>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>>>>>>>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>>>>>>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>>>>>>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>>>>>>>>>>>>> according to `fwupdmgr`.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>>>>>>>>>>>>> /sys/power/state" and then resume by pressing power button?
>>>>>>>>>>>>>
>>>>>>>>>>>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>>>>>>>>>>>>> display. So more than `echo mem > /sys/power/state` is done. What
>>>>>>>>>>>>> distribution do you use?
>>>>>>>>>>>>
>>>>>>>>>>>> I have buildroot based "distro" so there is no UI running.
>>>>>>>>>>>
>>>>>>>>>>> Hmm, this is quite different from the “normal” use-case of the these devices.
>>>>>>>>>>> That way you won’t hit the bugs of the normal users. ;-)
>>>>>>>>>>
>>>>>>>>>> Well, I can install some distro to that thing also :) I suppose Debian
>>>>>>>>>> 10.2 does have this issue, no?
>>>>>>>>>>
>>>>>>>>>>>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>>>>>>>>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I may have older/different firmware than you, though.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>>>>>>>>>>>>> on my system :/
>>>>>>>>>>>>>
>>>>>>>>>>>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>>>>>>>>>>>>> Updating to the recent version (I got the logs with) did not fix the issue.
>>>>>>>>>>>>
>>>>>>>>>>>> I also tried v40 (that was originally on that system) but I was not able
>>>>>>>>>>>> to reproduce it.
>>>>>>>>>>>>
>>>>>>>>>>>> Do you know if the user changed any BIOS settings?
>>>>>>>>>>>
>>>>>>>>>>> We had to disable the Thunderbolt security settings as otherwise the USB
>>>>>>>>>>> devices wouldn’t work at cold boot either.
>>>>>>>>>>
>>>>>>>>>> That does not sound right at all. There is the preboot ACL that allows
>>>>>>>>>> you to use TBT dock aready on boot. Bolt takes care of this.
>>>>>>>>>>
>>>>>>>>>> Are you talking about USB devices connected to the TB16 dock?
>>>>>>>>>>
>>>>>>>>>> Also are you connecting the TB16 dock to the Thunderbolt ports (left
>>>>>>>>>> side of the system marked with small lightning logo) or to the normal
>>>>>>>>>> Type-C ports (right side)?
>>>>>>>>>>
>>>>>>>>>>> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
>>>>>>>>>>> error is still there. Sometimes, re-plugging the dock helped, and sometimes
>>>>>>>>>>> it did not.
>>>>>>>>>>>
>>>>>>>>>>> Please find the logs attached. The strange thing is, the Linux kernel detects
>>>>>>>>>>> the devices and I do not see any disconnect events. But, `lsusb` does not list
>>>>>>>>>>> the keyboard and the mouse. Is that expected.
>>>>>>>>>>
>>>>>>>>>> I'm bit confused. Can you describe the exact steps what you do (so I can
>>>>>>>>>> replicate them).
>>>>>>>>>
>>>>>>>>> I managed to reproduce following scenario.
>>>>>>>>>
>>>>>>>>> 1. Boot the system up to UI
>>>>>>>>> 2. Connect TB16 dock (and see that it gets authorized by bolt)
>>>>>>>>> 3. Connect keyboard and mouse to the TB16 dock
>>>>>>>>> 4. Both mouse and keyboard are functional
>>>>>>>>> 5. Enter s2idle by closing laptop lid
>>>>>>>>> 6. Exit s2idle by opening the laptop lid
>>>>>>>>> 7. After ~10 seconds or so the mouse or keyboard or both do not work
>>>>>>>>>      anymore. They do not respond but they are still "present".
>>>>>>>>>
>>>>>>>>> The above does not happen always but from time to time.
>>>>>>>>>
>>>>>>>>> Is this the scenario you see as well?
>>>>>>>>
>>>>>>>> Yes, it is. Though I’d say it’s only five seconds or so.
>>>>>>>>
>>>>>>>>> This is on Ubuntu 19.10 with the 5.3 stock kernel.
>>>>>>>>
>>>>>>>> “stock” in upstream’s or Ubuntu’s?
>>>>>>>
>>>>>>> It is Ubuntu's.
>>>>>>>
>>>>>>>>> I can get them work again by unplugging them and plugging back (leaving
>>>>>>>>> the TBT16 dock connected). Also if you run lspci when the problem
>>>>>>>>> occurs it still shows the dock so PCIe link stays up.
>>>>>>>>
>>>>>>>> Re-connecting the USB devices does not help here, but I still suspect it’s
>>>>>>>> the same issue.
>>>>>>>
>>>>>>> Yeah, sounds like so. Did you try to connect the device (mouse,
>>>>>>> keyboard) to another USB port?
>>>>>>
>>>>>> I do not think I did, but I can’t remember. Next week would be the next chance
>>>>>> to test this.
>>>>>>
>>>>>>>> Yesterday, I had my hand on a Dell XPS 13 7390 (10th Intel generation) and
>>>>>>>> tried it with the shipped Ubuntu 18.04 LTS. There, the problem was not
>>>>>>>> always reproducible, but it still happened. Sometimes, only one of the USB
>>>>>>>> device (either keyboard or mouse) stopped working.
>>>>>>>
>>>>>>> I suppose this is also with the TB16 dock connected, correct?
>>>>>>
>>>>>> Correct.
>>>>>>
>>>>>> Can I ask again, how the USB devices connected to the dock can be listed on
>>>>>> the command line? lsusb needs to be adapted for that or is a different
>>>>>> mechanism needed?
>>>>>
>>>>> The TB16 dock has ASMEDIA xHCI controller, which is PCIe device so you
>>>>> can see it by running lsusb and looking at the devices under that
>>>>> controller. I think maybe 'lsusb -t' is helpful.
>>>>>
>>>>> The xHCI controller itself you can see by running lspci.
>>>>
>>>> I got traces from the ASMedia xHC controller in the TB16 dock.
>>>
>>> Nice. Thank you for looking into that. How can these traces be captured?
>>
>> The Linux tracepoints added to the xhci driver can be enabled by:
>>
>> mount -t debugfs none /sys/kernel/debug
>> echo 81920 > /sys/kernel/debug/tracing/buffer_size_kb
>> echo 1 > /sys/kernel/debug/tracing/events/xhci-hcd/enable
>> < Trigger the issue >
>>
>> Copy traces found in /sys/kernel/debug/tracing/trace
>>
>> Trace file grows fast.
>
>>>> There are issues with split transactions between the ASMedia host and the 7 port
>>>> High speed hub built in to the dock.
>>>>
>>>> host reports a split transaction error for mouse or keyboard full-speed/low-speed
>>>> interrupt transactions. Endpoint doesn't recover after resetting it.
>>>>
>>>> Split transaction allows full- and low-speed devices to be attached to high-speed
>>>> hubs, and are used only between the host and the HS hub. A transaction translator (TT)
>>>> in the HS hub will translate the high-speed split transactions on its upstream port to
>>>> low/full speed transactions on the downstream port.
>>>>
>>>> I'll see if there are any xHC parameters driver is setting that trigger these
>>>> split transaction errors to trigger more easy.
>>>
>>> I always wonder how Microsoft Windows driver do it.
>>>
>>> Mario, should I contact the Dell support regarding this issue?
> Sorry for bothering, but were you able to find some workaround for this issue?
>

Unfortunately no, I couldn't find any workaround.
xhci slot and endpoint context values for both the HS hub, and the full/low speed device seem correct.

I was able to reproduce the issue with an external HS hub as well, so this issue
appears to be more related to ASMedia host than the built in HS hub in TB16

-Mathias

2020-01-17 09:58:20

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Dear Mathias, dear Mario,


On 2019-12-23 10:39, Mathias Nyman wrote:
> On 20.12.2019 16.25, Paul Menzel wrote:

>> On 2019-11-26 13:44, Mathias Nyman wrote:
>>> On 26.11.2019 13.33, Paul Menzel wrote:
>>
>>>> On 2019-11-25 10:20, Mathias Nyman wrote:
>>>>> On 22.11.2019 13.41, Mika Westerberg wrote:
>>>>>> On Fri, Nov 22, 2019 at 12:33:44PM +0100, Paul Menzel wrote:
>>>>
>>>>>>> On 2019-11-22 12:29, Mika Westerberg wrote:
>>>>>>>> On Fri, Nov 22, 2019 at 12:05:13PM +0100, Paul Menzel wrote:
>>>>>>>
>>>>>>>>> On 2019-11-22 11:50, Mika Westerberg wrote:
>>>>>>>>>> On Wed, Nov 20, 2019 at 12:50:53PM +0200, Mika Westerberg wrote:
>>>>>>>>>>> On Tue, Nov 19, 2019 at 05:55:43PM +0100, Paul Menzel wrote:
>>>>>>>>>
>>>>>>>>>>>> On 2019-11-04 17:21, Mika Westerberg wrote:
>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 05:11:10PM +0100, Paul Menzel wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>> On 2019-11-04 16:49, [email protected] wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> From: Mika Westerberg <[email protected]>
>>>>>>>>>>>>>>>> Sent: Monday, November 4, 2019 9:45 AM
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:44:40PM +0200, Mika Westerberg wrote:
>>>>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 04:25:03PM +0200, Mika Westerberg wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Mon, Nov 04, 2019 at 02:13:13PM +0100, Paul Menzel wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On the Dell XPS 13 9380 with Debian Sid/unstable with Linux 5.3.7
>>>>>>>>>>>>>>>>>>> suspending the system, and resuming with Dell’s Thunderbolt TB16
>>>>>>>>>>>>>>>>>>> dock connected, the USB input devices, keyboard and mouse,
>>>>>>>>>>>>>>>>>>> connected to the TB16 stop working. They work for a few seconds
>>>>>>>>>>>>>>>>>>> (mouse cursor can be moved), but then stop working. The laptop
>>>>>>>>>>>>>>>>>>> keyboard and touchpad still works fine. All firmware is up-to-date
>>>>>>>>>>>>>>>>>>> according to `fwupdmgr`.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> What are the exact steps to reproduce? Just "echo mem >
>>>>>>>>>>>>>>>>>> /sys/power/state" and then resume by pressing power button?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> GNOME Shell 3.34.1+git20191024-1 is used, and the user just closes the
>>>>>>>>>>>>>> display. So more than `echo mem > /sys/power/state` is done. What
>>>>>>>>>>>>>> distribution do you use?
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have buildroot based "distro" so there is no UI running.
>>>>>>>>>>>>
>>>>>>>>>>>> Hmm, this is quite different from the “normal” use-case of the these devices.
>>>>>>>>>>>> That way you won’t hit the bugs of the normal users. ;-)
>>>>>>>>>>>
>>>>>>>>>>> Well, I can install some distro to that thing also :) I suppose Debian
>>>>>>>>>>> 10.2 does have this issue, no?
>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I tried v5.4-rc6 on my 9380 with TB16 dock connected and did a couple of
>>>>>>>>>>>>>>>>> suspend/resume cycles (to s2idle) but I don't see any issues.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I may have older/different firmware than you, though.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Upgraded BIOS to 1.8.0 and TBT NVM to v44 but still can't reproduce this
>>>>>>>>>>>>>>>> on my system :/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The user reported the issue with the previous firmwares 1.x and TBT NVM v40.
>>>>>>>>>>>>>> Updating to the recent version (I got the logs with) did not fix the issue.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I also tried v40 (that was originally on that system) but I was not able
>>>>>>>>>>>>> to reproduce it.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Do you know if the user changed any BIOS settings?
>>>>>>>>>>>>
>>>>>>>>>>>> We had to disable the Thunderbolt security settings as otherwise the USB
>>>>>>>>>>>> devices wouldn’t work at cold boot either.
>>>>>>>>>>>
>>>>>>>>>>> That does not sound right at all. There is the preboot ACL that allows
>>>>>>>>>>> you to use TBT dock aready on boot. Bolt takes care of this.
>>>>>>>>>>>
>>>>>>>>>>> Are you talking about USB devices connected to the TB16 dock?
>>>>>>>>>>>
>>>>>>>>>>> Also are you connecting the TB16 dock to the Thunderbolt ports (left
>>>>>>>>>>> side of the system marked with small lightning logo) or to the normal
>>>>>>>>>>> Type-C ports (right side)?
>>>>>>>>>>>
>>>>>>>>>>>> So, I built Linux 5.4-rc8 (`make bindeb-pkg -j8`), but unfortunately the
>>>>>>>>>>>> error is still there. Sometimes, re-plugging the dock helped, and sometimes
>>>>>>>>>>>> it did not.
>>>>>>>>>>>>
>>>>>>>>>>>> Please find the logs attached. The strange thing is, the Linux kernel detects
>>>>>>>>>>>> the devices and I do not see any disconnect events. But, `lsusb` does not list
>>>>>>>>>>>> the keyboard and the mouse. Is that expected.
>>>>>>>>>>>
>>>>>>>>>>> I'm bit confused. Can you describe the exact steps what you do (so I can
>>>>>>>>>>> replicate them).
>>>>>>>>>>
>>>>>>>>>> I managed to reproduce following scenario.
>>>>>>>>>>
>>>>>>>>>> 1. Boot the system up to UI
>>>>>>>>>> 2. Connect TB16 dock (and see that it gets authorized by bolt)
>>>>>>>>>> 3. Connect keyboard and mouse to the TB16 dock
>>>>>>>>>> 4. Both mouse and keyboard are functional
>>>>>>>>>> 5. Enter s2idle by closing laptop lid
>>>>>>>>>> 6. Exit s2idle by opening the laptop lid
>>>>>>>>>> 7. After ~10 seconds or so the mouse or keyboard or both do not work
>>>>>>>>>>       anymore. They do not respond but they are still "present".
>>>>>>>>>>
>>>>>>>>>> The above does not happen always but from time to time.
>>>>>>>>>>
>>>>>>>>>> Is this the scenario you see as well?
>>>>>>>>>
>>>>>>>>> Yes, it is. Though I’d say it’s only five seconds or so.
>>>>>>>>>
>>>>>>>>>> This is on Ubuntu 19.10 with the 5.3 stock kernel.
>>>>>>>>>
>>>>>>>>> “stock” in upstream’s or Ubuntu’s?
>>>>>>>>
>>>>>>>> It is Ubuntu's.
>>>>>>>>
>>>>>>>>>> I can get them work again by unplugging them and plugging back (leaving
>>>>>>>>>> the TBT16 dock connected). Also if you run lspci when the problem
>>>>>>>>>> occurs it still shows the dock so PCIe link stays up.
>>>>>>>>>
>>>>>>>>> Re-connecting the USB devices does not help here, but I still suspect it’s
>>>>>>>>> the same issue.
>>>>>>>>
>>>>>>>> Yeah, sounds like so. Did you try to connect the device (mouse,
>>>>>>>> keyboard) to another USB port?
>>>>>>>
>>>>>>> I do not think I did, but I can’t remember. Next week would be the next chance
>>>>>>> to test this.
>>>>>>>
>>>>>>>>> Yesterday, I had my hand on a Dell XPS 13 7390 (10th Intel generation) and
>>>>>>>>> tried it with the shipped Ubuntu 18.04 LTS. There, the problem was not
>>>>>>>>> always reproducible, but it still happened. Sometimes, only one of the USB
>>>>>>>>> device (either keyboard or mouse) stopped working.
>>>>>>>>
>>>>>>>> I suppose this is also with the TB16 dock connected, correct?
>>>>>>>
>>>>>>> Correct.
>>>>>>>
>>>>>>> Can I ask again, how the USB devices connected to the dock can be listed on
>>>>>>> the command line? lsusb needs to be adapted for that or is a different
>>>>>>> mechanism needed?
>>>>>>
>>>>>> The TB16 dock has ASMEDIA xHCI controller, which is PCIe device so you
>>>>>> can see it by running lsusb and looking at the devices under that
>>>>>> controller. I think maybe 'lsusb -t' is helpful.
>>>>>>
>>>>>> The xHCI controller itself you can see by running lspci.
>>>>>
>>>>> I got traces from the ASMedia xHC controller in the TB16 dock.
>>>>
>>>> Nice. Thank you for looking into that. How can these traces be captured?
>>>
>>> The Linux tracepoints added to the xhci driver can be enabled by:
>>>
>>> mount -t debugfs none /sys/kernel/debug
>>> echo 81920 > /sys/kernel/debug/tracing/buffer_size_kb
>>> echo 1 > /sys/kernel/debug/tracing/events/xhci-hcd/enable
>>> < Trigger the issue >
>>>
>>> Copy traces found in /sys/kernel/debug/tracing/trace
>>>
>>> Trace file grows fast.
>>
>>>>> There are issues with split transactions between the ASMedia host and the 7 port
>>>>> High speed hub built in to the dock.
>>>>>
>>>>> host reports a split transaction error for mouse or keyboard full-speed/low-speed
>>>>> interrupt transactions. Endpoint doesn't recover after resetting it.
>>>>>
>>>>> Split transaction allows full- and low-speed devices to be attached to high-speed
>>>>> hubs, and are used only between the host and the HS hub. A transaction translator (TT)
>>>>> in the HS hub will translate the high-speed split transactions on its upstream port to
>>>>> low/full speed transactions on the downstream port.
>>>>>
>>>>> I'll see if there are any xHC parameters driver is setting that trigger these
>>>>> split transaction errors to trigger more easy.
>>>>
>>>> I always wonder how Microsoft Windows driver do it.
>>>>
>>>> Mario, should I contact the Dell support regarding this issue?
>> Sorry for bothering, but were you able to find some workaround for
>> this issue?
>
> Unfortunately no, I couldn't find any workaround.
> xhci slot and endpoint context values for both the HS hub, and the
> full/low speed device seem correct.
>
> I was able to reproduce the issue with an external HS hub as well, so  this issue
> appears to be more related to ASMedia host than the built in HS hub in TB16

I contacted the (German) Dell support, and they asked me to update the laptop
firmware to 1.9.1 claiming that these issues might be fixed there (despite the
change-log not containing that). Anyway, after the update, the user is still
able to reproduce the issue.

Mario, what can I do, so the issue is escalated to your team, so you can work
with ASMedia to solve this?


Kind regards,

Paul


Attachments:
smime.p7s (5.05 kB)
S/MIME Cryptographic Signature

2020-01-17 18:34:42

by Mario Limonciello

[permalink] [raw]
Subject: RE: USB devices on Dell TB16 dock stop working after resuming

> > I was able to reproduce the issue with an external HS hub as well, so  this issue
> > appears to be more related to ASMedia host than the built in HS hub in TB16
>
> I contacted the (German) Dell support, and they asked me to update the laptop
> firmware to 1.9.1 claiming that these issues might be fixed there (despite the
> change-log not containing that). Anyway, after the update, the user is still
> able to reproduce the issue.
>
> Mario, what can I do, so the issue is escalated to your team, so you can work
> with ASMedia to solve this?
>
>
> Kind regards,
>
> Paul

From this thread it does sound to me like an ASMedia firmware problem,
not a Linux kernel problem.

I do know there is an updated ASMedia firmware binary available. Right now
however there is unfortunately not a way to update ASMedia hub firmware using
free software. If possible, I would recommend that you try to update the
firmware using a Windows machine and see if it helps the problem.

I'm sorry and I don't intend to "pass the buck" but if that doesn't help this needs
to be prioritized and escalated with Dell support.

They will then work with the appropriate engineering team who owns the relationship
to ASMedia to resolve it.

2020-01-18 09:18:44

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Dear Mario,


Am 17.01.20 um 19:33 schrieb [email protected]:
>>> I was able to reproduce the issue with an external HS hub as well, so  this issue
>>> appears to be more related to ASMedia host than the built in HS hub in TB16
>>
>> I contacted the (German) Dell support, and they asked me to update the laptop
>> firmware to 1.9.1 claiming that these issues might be fixed there (despite the
>> change-log not containing that). Anyway, after the update, the user is still
>> able to reproduce the issue.
>>
>> Mario, what can I do, so the issue is escalated to your team, so you can work
>> with ASMedia to solve this?

> From this thread it does sound to me like an ASMedia firmware problem,
> not a Linux kernel problem.
>
> I do know there is an updated ASMedia firmware binary available. Right now
> however there is unfortunately not a way to update ASMedia hub firmware using
> free software.

The fwupd issue *Dell TB16: ASMedia USB controller can't be updated* [1]
was closed by the “stale robot”.

> If possible, I would recommend that you try to update the
> firmware using a Windows machine and see if it helps the problem.

Thank you. I’ll try to do that on Monday.

> I'm sorry and I don't intend to "pass the buck" but if that doesn't help this needs
> to be prioritized and escalated with Dell support.
>
> They will then work with the appropriate engineering team who owns the relationship
> to ASMedia to resolve it.

That’s how it should work theoretically, but have you ever dealt with
Dell’s first level support? They have little experience with Ubuntu, and
if you are unlucky, they say that Ubuntu support is not done by Dell but
“by the Linux community”. If you are lucky to not get this answer, they
do (Google) searches, telling you, your problem is solved by referencing
only similar sounding problems from the Ubuntu *user* forums. If the
firmware has a bug (in the UI!), they ask you to install Microsoft
Windows to see if that solves the issue. If you tell them, the Linux
developers analyzed the problem, and they say the following solution
have to be found, they do not know what that means. It’s very annoying
and time consuming often for naught.


Kind regards,

Paul


[1]: https://github.com/fwupd/fwupd/issues/1351

2020-01-27 22:19:23

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming

Dear Mario, dear Mathias,


Am 18.01.20 um 10:15 schrieb Paul Menzel:

> Am 17.01.20 um 19:33 schrieb [email protected]:
>>>> I was able to reproduce the issue with an external HS hub as well,
>>>> so  this issue
>>>> appears to be more related to ASMedia host than the built in HS hub
>>>> in TB16
>>>
>>> I contacted the (German) Dell support, and they asked me to update
>>> the laptop
>>> firmware to 1.9.1 claiming that these issues might be fixed there
>>> (despite the
>>> change-log not containing that). Anyway, after the update, the user
>>> is still
>>> able to reproduce the issue.
>>>
>>> Mario, what can I do, so the issue is escalated to your team, so you
>>> can work
>>> with ASMedia to solve this?
>
>> From this thread it does sound to me like an ASMedia firmware problem,
>> not a Linux kernel problem.
>>
>> I do know there is an updated ASMedia firmware binary available.
>> Right now
>> however there is unfortunately not a way to update ASMedia hub
>> firmware using
>> free software.
>
> The fwupd issue *Dell TB16: ASMedia USB controller can't be updated* [1]
> was closed by the “stale robot”.
>
>> If possible, I would recommend that you try to update the
>> firmware using a Windows machine and see if it helps the problem.
>
> Thank you. I’ll try to do that on Monday.
>
>> I'm sorry and I don't intend to "pass the buck" but if that doesn't
>> help this needs
>> to be prioritized and escalated with Dell support.
>>
>> They will then work with the appropriate engineering team who owns the
>> relationship to ASMedia to resolve it.
>
> That’s how it should work theoretically, but have you ever dealt with
> Dell’s first level support? They have little experience with Ubuntu, and
> if you are unlucky, they say that Ubuntu support is not done by Dell but
> “by the Linux community”. If you are lucky to not get this answer, they
> do (Google) searches, telling you, your problem is solved by referencing
> only similar sounding problems from the Ubuntu *user* forums. If the
> firmware has a bug (in the UI!), they ask you to install Microsoft
> Windows to see if that solves the issue. If you tell them, the Linux
> developers analyzed the problem, and they say the following solution
> have to be found, they do not know what that means. It’s very annoying
> and time consuming often for naught.

As reported in [1], updating the Dell TB16 firmware using a *Dell*
laptop (with updated firmware and Thunderbolt drivers) and Dell’s
Microsoft Windows update utility, the firmware parts below were updated,
everything seems to work now.

MST1 3.10.002 3.12.002
MST2 3.10.002 3.12.002
ASM USB 3.0 Cntlr 10.11.23 10.11.A9
Dock NVM 00.00.16 00.00.27

Mathias, can you please confirm, and maybe also approach ASMedia from
Intel to ask them to improve the situation?

Can the Linux kernel (or some user space) carry a list of non-working
firmware versions, and output a warning, that a firmware update is needed?


Kind regards,

Paul


> [1]: https://github.com/fwupd/fwupd/issues/1351

2020-02-05 13:13:07

by Paul Menzel

[permalink] [raw]
Subject: Re: USB devices on Dell TB16 dock stop working after resuming


Dear Mario, dear Mathias,


Am 27.01.20 um 23:16 schrieb Paul Menzel:

> Am 18.01.20 um 10:15 schrieb Paul Menzel:
>
>> Am 17.01.20 um 19:33 schrieb [email protected]:
>>>>> I was able to reproduce the issue with an external HS hub as well,
>>>>> so this issue appears to be more related to ASMedia host
>>>>> than the built in HS hub in TB16
>>>>
>>>> I contacted the (German) Dell support, and they asked me to
>>>> update the laptop firmware to 1.9.1 claiming that these issues
>>>> might be fixed there (despite the change-log not containing
>>>> that). Anyway, after the update, the user is still able to
>>>> reproduce the issue.
>>>>
>>>> Mario, what can I do, so the issue is escalated to your team, so you
>>>> can work with ASMedia to solve this?
>>
>>> From this thread it does sound to me like an ASMedia firmware problem,
>>> not a Linux kernel problem.
>>>
>>> I do know there is an updated ASMedia firmware binary available.
>>> Right now however there is unfortunately not a way to update
>>> ASMedia hub firmware using free software.
>>
>> The fwupd issue *Dell TB16: ASMedia USB controller can't be updated*
>> [1] was closed by the “stale robot”.
>>
>>> If possible, I would recommend that you try to update the
>>> firmware using a Windows machine and see if it helps the problem.
>>
>> Thank you. I’ll try to do that on Monday.
>>
>>> I'm sorry and I don't intend to "pass the buck" but if that doesn't
>>> help this needs to be prioritized and escalated with Dell support.
>>>
>>> They will then work with the appropriate engineering team who owns
>>> the relationship to ASMedia to resolve it.
>>
>> That’s how it should work theoretically, but have you ever dealt with
>> Dell’s first level support? They have little experience with Ubuntu,
>> and if you are unlucky, they say that Ubuntu support is not done by
>> Dell but “by the Linux community”. If you are lucky to not get this
>> answer, they do (Google) searches, telling you, your problem is solved
>> by referencing only similar sounding problems from the Ubuntu *user*
>> forums. If the firmware has a bug (in the UI!), they ask you to
>> install Microsoft Windows to see if that solves the issue. If you tell
>> them, the Linux developers analyzed the problem, and they say the
>> following solution have to be found, they do not know what that means.
>> It’s very annoying and time consuming often for naught.
>
> As reported in [1], updating the Dell TB16 firmware using a *Dell*
> laptop (with updated firmware and Thunderbolt drivers) and Dell’s
> Microsoft Windows update utility, the firmware parts below were updated,
> everything seems to work now.
>
> MST1                 3.10.002    3.12.002
> MST2                 3.10.002    3.12.002
> ASM USB 3.0 Cntlr    10.11.23    10.11.A9
> Dock NVM             00.00.16    00.00.27
>
> Mathias, can you please confirm, and maybe also approach ASMedia from
> Intel to ask them to improve the situation?
>
> Can the Linux kernel (or some user space) carry a list of non-working
> firmware versions, and output a warning, that a firmware update is needed?

After testing this some more, the user reports, that the situation
actually got worse.

No the docking station additionally disconnects randomly when working
with the system. This did not happen before. Only the Ethernet port of
the docking station works more reliably now.

Mathias, can you confirm this behavior? Is it the same problem as before?


Kind regards,

Paul


>> [1]: https://github.com/fwupd/fwupd/issues/1351