我猜 lspci 将是执行此操作的工具,但我似乎找不到任何识别输出。有没有办法从命令行知道机器上是否存在 Thunderbolt 端口?
我有一台我知道有 Thunderbolt 端口的计算机,lspci 显示:
00:00.0 Host bridge: Intel Corporation Device 3ec2 (rev 07)
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Device 3e92
00:08.0 System peripheral: Intel Corporation Skylake Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Device a379 (rev 10)
00:14.0 USB controller: Intel Corporation Device a36d (rev 10)
00:14.2 RAM memory: Intel Corporation Device a36f (rev 10)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device a368 (rev 10)
00:16.0 Communication controller: Intel Corporation Device a360 (rev 10)
00:17.0 SATA controller: Intel Corporation Device a352 (rev 10)
00:1d.0 PCI bridge: Intel Corporation Device a330 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Device a306 (rev 10)
00:1f.3 Audio device: Intel Corporation Device a348 (rev 10)
00:1f.4 SMBus: Intel Corporation Device a323 (rev 10)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device a324 (rev 10)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-LM (rev 10)
01:00.0 Multimedia video controller: Blackmagic Design DeckLink Mini Recorder
02:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
我已经远程登录到另一台机器,想知道它是否有 Thunderbolt 端口,lspci 显示如下:
00:00.0 Host bridge: Intel Corporation Device 191f (rev 07)
00:01.0 PCI bridge: Intel Corporation Device 1901 (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Device 1912 (rev 06)
00:14.0 USB controller: Intel Corporation Device a12f (rev 31)
00:14.2 Signal processing controller: Intel Corporation Device a131 (rev 31)
00:16.0 Communication controller: Intel Corporation Device a13a (rev 31)
00:16.3 Serial controller: Intel Corporation Device a13d (rev 31)
00:17.0 RAID bus controller: Intel Corporation 82801 SATA Controller [RAID mode] (rev 31)
00:1d.0 PCI bridge: Intel Corporation Device a118 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Device a146 (rev 31)
00:1f.2 Memory controller: Intel Corporation Device a121 (rev 31)
00:1f.3 Audio device: Intel Corporation Device a170 (rev 31)
00:1f.4 SMBus: Intel Corporation Device a123 (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM (rev 31)
01:00.0 Multimedia video controller: Blackmagic Design DeckLink Mini Recorder
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
至少在我的系统上,如果没有插入任何东西(我确实看到了 USB3 端口),使用 Thunderbolt 3 它对 lshw 和 lsusb 是不可见的。我有一台 Clevo N131WU 笔记本电脑,您可以从 System76 和 Tuxedo 等供应商处购买。
也就是说,模块已加载:
我仔细检查了我的台式电脑,它没有迅雷,但运行相同的发行版和内核(Arch,在 4.18 上),桌面上没有加载迅雷驱动程序。
在 Mac 硬件上,Thunderbolt 热插拔主要由操作系统管理,因此 Thunderbolt 控制器始终可见。
但在 x86 PC 硬件上,Thunderbolt(至少 Thunderbolt 1)往往由 ACPI 固件管理,热插拔就像标准 PCIe 热插拔事件一样处理。因此,如果没有任何连接,Thunderbolt 总线可能对操作系统完全不可见。但是,当您将某些东西连接到它时,从 Linux 的角度来看,一些桥接设备将突然出现:您将看到大量输出,
dmesg
因为资源被分配给 Thunderbolt 总线和其中的设备。可能会检测到 Thunderbolt 3,因为它与 USB Type-C 连接器共存,因此可能在 Type-C 配置数据中可见。但是,我目前无法使用 Thunderbolt 3 访问任何系统,因此我现在无法验证这一点。