I've recently upgraded my workhorse from XPS 9560 (2016) to a newer generation XPS 9500 (2020) and ran into several things that feel like regressions, but are probably related to hardware changes. This is one of them.
tl;dr:
When using XPS 9500 with a TB16 dock, hot-plugging the dock causes ACPI errors in dmesg and some kind of reset loop with USB peripherals connected via the dock.
details:
USB peripherals keep reconnecting according to dmesg, but in practice they barely ever finish registering with the system before disappearing again. Maybe 1 out of 40 USB keyboard presses registers while this is happening. At this point my choices are to either reboot with the dock connected or work without the dock and consequently without any peripherals on my desk. Booting with an open lid and the dock connected works fine until I re-plug the dock.
Notably, it hot-plugs fine every time when using XPS 9560 or Precision 5520 in the same setup which I have been using for ages and which had similar problems until around kernel 4.13.
Since it was fine with 9560, 5520 and a friend with a 9570 has no issues either, my gut feeling is that this is due to the upgrade from Alpine Ridge to a Titan Ridge Thunderbolt controller that happened in this generation - something wrong with the driver, or the firmware may have missed some of the "lessons learned" in Alpine Ridge and caused this regression. That would also make it applicable to 9300, which has a "developer edition" option under Project Sputnik.
I have attempted 5.8 Ubuntu generic, 5.6 OEM (-20.04) and 5.10 OEM (-20.04b and -20.04-edge) kernels on the 9500 with same results. I have attempted rebinding the XHCI controller after reconnecting the dock. I have attempted disabling USB autosuspend and ASPM via a GRUB kernel parameter. I have attempted playing with BIOS settings: wake on dell usb-c docks, disable early sign of life for both checkboxes, disabling SGX and SMM, checking all 3 boxes for Thunderbolt and switching off Thunderbolt security. None of these make a noticeable difference.
I've recently upgraded my workhorse from XPS 9560 (2016) to a newer generation XPS 9500 (2020) and ran into several things that feel like regressions, but are probably related to hardware changes. This is one of them.
tl;dr:
When using XPS 9500 with a TB16 dock, hot-plugging the dock causes ACPI errors in dmesg and some kind of reset loop with USB peripherals connected via the dock.
details:
USB peripherals keep reconnecting according to dmesg, but in practice they barely ever finish registering with the system before disappearing again. Maybe 1 out of 40 USB keyboard presses registers while this is happening. At this point my choices are to either reboot with the dock connected or work without the dock and consequently without any peripherals on my desk. Booting with an open lid and the dock connected works fine until I re-plug the dock.
Notably, it hot-plugs fine every time when using XPS 9560 or Precision 5520 in the same setup which I have been using for ages and which had similar problems until around kernel 4.13.
Since it was fine with 9560, 5520 and a friend with a 9570 has no issues either, my gut feeling is that this is due to the upgrade from Alpine Ridge to a Titan Ridge Thunderbolt controller that happened in this generation - something wrong with the driver, or the firmware may have missed some of the "lessons learned" in Alpine Ridge and caused this regression. That would also make it applicable to 9300, which has a "developer edition" option under Project Sputnik.
I have attempted 5.8 Ubuntu generic, 5.6 OEM (-20.04) and 5.10 OEM (-20.04b and -20.04-edge) kernels on the 9500 with same results. I have attempted rebinding the XHCI controller after reconnecting the dock. I have attempted disabling USB autosuspend and ASPM via a GRUB kernel parameter. I have attempted playing with BIOS settings: wake on dell usb-c docks, disable early sign of life for both checkboxes, disabling SGX and SMM, checking all 3 boxes for Thunderbolt and switching off Thunderbolt security. None of these make a noticeable difference.
System config:
XPS 9500, i7, 32GB RAM
BIOS 1.6.1, TB3 firmware NVM60
Ubuntu 20.04.02 LTS, kernels 5.6-oem, 5.8-generic, 5.10-oem (same behaviour)
TB16 dock firmware 1.0.4 (MST 3.12.02)