I currently have Fedora 39 install on a ASUS CX5400. (I have tried Ubuntu 22.04 and Arch, but Fedora seems to be more stable at the moment.) I have an ADLINK Pocket AI A500 (NVIDIA Ampere) that uses Thunderbolt 3. I am having issues with boltctl detecting a Thunderbolt device.
Steps I’ve tried:
Post installation with the chromebook-usbc.service. I checked systemctl and the service seems to have started fine. Rebooted at this point.
Powered on the eGPU with an external PD power source. Connect with a Thunderbolt 4 cable. I get the following in dmesg:
[ 1685.088788] usb 3-3: new low-speed USB device number 6 using xhci_hcd
[ 1685.219996] usb 3-3: No LPM exit latency info found, disabling LPM.
[ 1685.226133] usb 3-3: New USB device found, idVendor=0451, idProduct=ace1, bcdDevice= 1.00
[ 1685.226143] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1685.226146] usb 3-3: Product: TPS65982BB
[ 1685.226149] usb 3-3: Manufacturer: Texas Instruments
[ 1685.226151] usb 3-3: SerialNumber: 01.00.00
Downloaded ectool from the tree123 site. sudo ./ectool typecstatus 1 showed:
Port C1: enabled, connected State:Attached.SNK
Role:SNK DFP VCONN, Polarity:CC2
CC State: UFP attached
MUX: USB=1 DP=0 POLARITY=INVERTED HPD_IRQ=0 HPD_LVL=0
SAFE=0 TBT=0 USB4=0
Port events: 0x00000000
SOP PD Rev: 3.0
SOP' PD Rev: 3.0
Source Capabilities:
Fixed: 5000mV 900mA DRP UP USB DRD
Sink Capabilities:
Fixed: 5000mV 500mA DRP UP USB DRD
Change the MUX to TBT by running: sudo ./ectool typeccontrol 1 2 1. Running typecstatus on the same port shows TBT=1 now:
Port C1: enabled, connected State:Attached.SNK
Role:SNK DFP VCONN, Polarity:CC2
CC State: UFP attached
MUX: USB=0 DP=0 POLARITY=INVERTED HPD_IRQ=0 HPD_LVL=0
SAFE=0 TBT=1 USB4=0
Port events: 0x00000000
SOP PD Rev: 3.0
SOP' PD Rev: 3.0
Source Capabilities:
Fixed: 5000mV 900mA DRP UP USB DRD
Sink Capabilities:
Fixed: 5000mV 500mA DRP UP USB DRD
However, I noticed dmesg showed
[ 1831.537880] usb 3-3: USB disconnect, device number 6
Running sudo boltctl list does not show anything.
Is there something I’m missing in order to get a Thunderbolt device to show up? I have a separate Intel desktop with a Thunderbolt port running on Ubuntu that detects this eGPU, so the device and the cable should not be the issue.
Thanks for the quick reply. While I have the eGPU powered on and connected, I forced a cold boot by pressing Refresh + Power button. After it boots back again, running sudo boltctl list does not show anything. I repeated the steps to set TBT=1 but doing that shows that the USB disconnected again in dmesg. boltctl also doesn’t show anything at this point either.
Thanks for the response. Here’s the output of lspci
00:00.0 Host bridge: Intel Corporation Device 9a12 (rev 01)
00:02.0 VGA compatible controller: Intel Corporation Tiger Lake-UP4 GT2 [Iris Xe Graphics] (rev 01)
00:04.0 Signal processing controller: Intel Corporation TigerLake-LP Dynamic Tuning Processor Participant (rev 01)
00:07.0 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #0 (rev 01)
00:07.1 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #1 (rev 01)
00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator module (rev 01)
00:0d.0 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)
00:0d.2 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 NHI #0 (rev 01)
00:14.0 USB controller: Intel Corporation Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller (rev 20)
00:14.2 RAM memory: Intel Corporation Tiger Lake-LP Shared SRAM (rev 20)
00:14.3 Network controller: Intel Corporation Wi-Fi 6 AX201 (rev 20)
00:15.0 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #0 (rev 20)
00:15.1 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #1 (rev 20)
00:15.2 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #2 (rev 20)
00:15.3 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #3 (rev 20)
00:16.0 Communication controller: Intel Corporation Tiger Lake-LP Management Engine Interface (rev 20)
00:19.0 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #4 (rev 20)
00:19.1 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #5 (rev 20)
00:1c.0 PCI bridge: Intel Corporation Tiger Lake-LP PCI Express Root Port #8 (rev 20)
00:1d.0 PCI bridge: Intel Corporation Tiger Lake-LP PCI Express Root Port #9 (rev 20)
00:1e.0 Communication controller: Intel Corporation Tiger Lake-LP Serial IO UART Controller #0 (rev 20)
00:1e.2 Serial bus controller: Intel Corporation Device a0aa (rev 20)
00:1e.3 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO SPI Controller #1 (rev 20)
00:1f.0 ISA bridge: Intel Corporation Device a087 (rev 20)
00:1f.3 Multimedia audio controller: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller (rev 20)
00:1f.5 Serial bus controller: Intel Corporation Tiger Lake-LP SPI Controller (rev 20)
57:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01)
58:00.0 Non-Volatile memory controller: Intel Corporation SSD 670p Series [Keystone Harbor] (rev 03)
I tried to run sudo bash -c "echo 1 > /sys/bus/pci/rescan" after setting typeccontrol to TBT=1 and verifying with typecstatus, but I don’t see any changes. lspci remained the same, and dmesg didn’t show any new entries. I also checked /sys/bus/thunderbolt/devices/ and it listed these two directories that were already there before I plugged in any new devices.
0-0 domain0
Here are some more information if they’re helpful:
However, I tried booting Manjaro, and I’m experiencing the same error as you. What I noticed was that in Manjaro I had an error in my systemd modprobe service where intel_pmc_mux wasn’t removed because it is in use.
modprobe: WARNING: Module intel_pmc_mux is in use.
Might I suggest trying to boot Fedora 39 on a live USB and try doing the modprobe service manually? Meanwhile, I’ll try to debug it further.
I am using Fedora 39 currently as I’ve experienced the same systemd issue with Ubuntu and Arch. And I occasionally get system freezes with the latter distros when connecting the Thunderbolt device. However even on Fedora 39, I can’t get the typec or thunderbolt messages to show up in dmesg. I use ectool from tree’s website and ran sudo ectool typeccontrol 1 2 1 while the device is connected. Is there anything missing?
I wonder if the age of the EC matters? According to the CrOS EC Readme, devices prior to July 2021 use a Legacy EC. My COPANO device seemed to have been released around June 2021. I noticed you’re using an Alder Lake device which should definitely be using the newer EC.
Little update: my dumb ass set the wrong port ID with ectool in Manjaro. With the right port ID, now I could use the eGPU on Manjaro too, so the issue is not related to the distribution after all. Interestingly, because of the systemd service error I faced, I tried to run ectool without modprobing first and it still works, so some distro doesn’t even need the systemd service.
I also used ectool from tree’s utils site.
Regarding freezes, I also got some when I initially authorize the device. However, a quick reboot solves the problem and the thunderbolt device is detected normally.
Regarding EC version, I only own one Chromebook so unfortunately I don’t know if it matters or not…
Do you have something that you would like me to try? I’m kind of running out of idea of what to debug. Here’s my EC version:
Interestingly, I don’t have RO cros fwid or RW cros fwid. I’m not exactly sure what these are.
If I’m not missing any steps, then I’m not sure what else to try. My eGPU could also be incompatible with the way the EC works with Thunderbolt. I’m not opposed to trying the paid Windows Thunderbolt drivers either. Maybe that help rule out driver differences or eGPU incompatibility. Appreciate the help so far!
I didn’t notice any improvement with Fedora 40 unfortunately. I performed the same steps, and the last thing I see in dmesg is “USB disconnected”. No eGPU is detected still.