Affected devices: Clevo X170KM Barebone (I have one here) and according to this reddit thread that describes the exact same problem a Thunderbold PCIe exapansion card: https://www.reddit.com/r/Thunderbolt/comments/ohjakr/asus_thunderboltex_4_linux_compatability/ The Clevo does not use the build in thunderbold controler of the CPU but a discrete Thunderbold controler, which seems to be the exact same one from that expansion card with the pci id of 8086:1137. High level problem desciption: I have Thunderbold dock with DP-out, USB ports and an Ethernet port. When I plug it in, only the DP port works. When its plugged in before boot, ethernet also works. The USB ports on the Dock never work. dmesg is showing several erros regarding DMAR and xhci, since the DMAR errors are shwing up first is suspect them to be the root cause making the rest afterwards fails also. The error is slightly different between 5.13 and 5.14 5.14-rc7: [ 3.148557] DMAR: DRHD: handling fault status reg 2 [ 3.148561] DMAR: [DMA Write NO_PASID] Request device [0x04:0x00.0] fault addr 0x69974000 [fault reason 0x05] PTE Write access is not set 5.13.12: [ 3.737783] DMAR: DRHD: handling fault status reg 2 [ 3.737790] DMAR: [DMA Write] Request device [04:00.0] PASID ffffffff fault addr 69974000 [fault reason 05] PTE Write access is not set 04.00.0 is the thunderbold controller: 04:00.0 USB controller [0c03]: Intel Corporation Thunderbolt 4 NHI [Maple Ridge 4C 2020] [8086:1137] (prog-if 40 [USB4 Host Interface])
Created attachment 298567 [details] dmsg of boot without tb dock connected
Created attachment 298569 [details] dmsg after connecting tb dock
Created attachment 298571 [details] dmsg of boot with tb dock connected
Created attachment 298573 [details] lspci of boot without tb dock connected
Created attachment 298575 [details] lspci after connecting tb dock
Created attachment 298577 [details] lspci of boot with tb dock connected
These logs are all for kernel 5.14-rc7
Created attachment 298579 [details] dmsg of boot without tb dock connected (5.13.12)
Created attachment 298581 [details] dmsg after connecting tb dock (5.13.12)
Created attachment 298583 [details] dmsg of boot with tb dock connected (5.13.12)
Created attachment 298585 [details] lspci of boot without tb dock connected (5.13.12)
Created attachment 298587 [details] lspci after connecting tb dock (5.13.12)
Created attachment 298589 [details] lspci of boot with tb dock connected (5.13.12)
New info: The intel_iommu=off boot flag makes the DMAR errors go away. However xhci errors stay and the USB ports of the dock are still disfunctional. So they are seperate issues after all.
For reference: A reddit thread discussing the descrete Asus thunderbolt pcie card failing in the exact same way: https://www.reddit.com/r/Thunderbolt/comments/ohjakr/asus_thunderboltex_4_linux_compatability/
Found a preexisteng hack originally for tb3 fixing the issue also on this tb4 controller: https://bugzilla.kernel.org/show_bug.cgi?id=206459#c59
*** This bug has been marked as a duplicate of bug 206459 ***
Thank you for your bug report. I've prepared a patch series fixing bug 206459 as well as this bug: https://lore.kernel.org/linux-pci/20220519152150.6135-1-hdegoede@redhat.com/T/#t This series is using DMI matching to identify affected systems and to enable the workaround only on affected systems. I've used DMI_MATCH(DMI_BOARD_NAME, "X170KM-G") as match for this Clevo Barebone. Can you confirm that: cat /sys/class/dmi/id/board_name outputs "X170KM-G" ? Or even better, give this patch series a try ? Note the series is based on top of: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/resource
Thank you for the patch. Yes, "X170KM-G" is the exact match for /sys/class/dmi/id/board_name on the affected device. Kernel with patch series is compiling atm. Will add another post wether or not it worked.
Successfully tested the patchset: Works like a charm.