I’m facing an issue that was already mentioned on this forum, but discussions are scattered across multiple threads, out of which none treats link speed directly. I also found some mentions of such cases in the Internet, but without clear conclusions.
I’m using Arch Linux with 6.13.1 kernel. Given that (as I mentioned) it seems to be more widespread problem I decided to post on the main forum.
Let’s start from the very root of the problem - I’ve bought AKiTiO Node Titan eGPU case. Upon connection it refuses to negotiate 40Gb/s linkspeed, at least according to boltctl
:
● AKiTiO Node Titan
├─ type: peripheral
├─ name: Node Titan
├─ vendor: AKiTiO
├─ uuid: -
├─ generation: Thunderbolt 3
├─ status: authorized
│ ├─ domain: -
│ ├─ rx speed: 20 Gb/s = 2 lanes * 10 Gb/s
│ ├─ tx speed: 20 Gb/s = 2 lanes * 10 Gb/s
│ └─ authflags: none
├─ authorized: Sun 02 Feb 2025 12:04:50 PM UTC
├─ connected: Sun 02 Feb 2025 12:04:50 PM UTC
└─ stored: Sat 01 Feb 2025 12:22:32 PM UTC
├─ policy: iommu
└─ key: no
This is a well battle tested eGPU with known controller:
62:00.0 PCI bridge: Intel Corporation JHL7440 Thunderbolt 3 Bridge [Titan Ridge DD 2018]
First thing that has drawn my attention is kernel complaining about limited PCI bandwidth due to Thunderbolt bridge running in PCIe 1x mode, however I don’t believe this is the culprit, as nvidia drivers and lspci
reports full speed on the card itself (I also see similar logs on different system which negotiates full speed, but more on that later).
So I started experimenting, things I tried so far (with a bit of context):
- different cables - I have two TB3 certified cables, one 70cm (27.5 inch) and another 50cm (20 inch) - as cables longer than 1m may actually downgrade the linkspeed to 20Gb/s,
- different kernels - because of rolling upgrade distro limitations I tried 6.12 and 6.13, I didn’t go as far as compiling older revisions,
- attaching original PSU - as I normally power my laptop via dock integrated with my monitor and it’s rated for 100W only, I made sure to try original 180W PSU
- mangling with UEFI settings - there’s no much, but I tried to disable “PCIE Link Power Management” (which apparently affects link parameters when run on battery) and adaptive battery, in case it was triggering some link power management logic
- attaching the eGPU to another, Intel system - it negotiated 40GB/sek (2 lanes, 20Gb/s each) without slightest issues
- disconnecting battery and letting the system discharge - just to be super sure that hardware didn’t get into some ephemeral, broken state
- however it didn’t seem to be connected with linkspeed in any way, I also tried disabling AMD IOMMU as it was reported broken some time ago
- both of USB4 capable ports - I also tried replacing the expansion adapters to rule out fault on their side
None of the above helped.
Thinks I still consider trying, but only if I don’t find any other low hanging fruits (or kids and wife let me):
- compile kernel 6.8, as I’ve seen reports of folks having full speed on those while they also experienced issues with older revisions
- getting and installing Windows 11 to check how it behaves
- downgrading UEFI to 3.03, as I run the newest version atm
- pray to the gods of hardware so they automagically fix the problem overnight for me
That said, for now I’m stuck and lack of ideas. I may also try to enable / build kernel with more logging from around Thunderbolt and see if it reports something valuable.
Does anyone experience something similar / rootcaused the problem or maybe even found the solution?