目前,雷电以太网适配器存在严重问题。
该设备是一款“Razer Core X”雷电 eGPU 外壳,内置 USB3 集线器和千兆以太网端口。本质上是一款功能非常强大的底座,配有自己的 GPU(利用雷电端口上的 4 条 PCIe 通道)。
如果我使用内置以太网端口或将自己的 USB3 以太网适配器插入底座上的 USB3 集线器,也会出现同样的问题。如果我绕过 Thunderbolt 底座并直接插入以太网适配器,则不会出现此问题(尽管这有点违背底座的用途)。
同样的问题也发生在使用此底座的不同笔记本电脑上。我的工作笔记本电脑使用的是 18.04,我的新个人笔记本电脑使用的是 20.04,两台笔记本电脑上的两个版本的 Ubuntu 都有完全相同的行为。
当以太网出现故障时,它不再能够解析 DNS,我甚至无法在本地网络上 ping 任何内容,但设备在 NetworkManager UI 中仍然显示为“已连接”。当我关闭/打开连接时,它会显示“正在连接”并永久停留在那里。
当我检查 dmesg/syslog 时,每次都会看到完全相同的错误。下面是错误的示例。您可以在日志中看到我通过 modprobe 重新加载驱动程序,这导致连接短暂地再次工作。然后片刻之后又出现了完全相同的错误和症状:
[SAME ERROR REPEATED ~20 times]
[ 543.814402] xhci_hcd 0000:0c:00.0: Looking for event-dma 0000000425e6e3f0 trb-start 0000000425e6e2e0 trb-end 0000000425e6e2e0 seg-start 0000000425e6e000 seg-end 0000000425e6eff0
[ 543.815185] xhci_hcd 0000:0c:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 4 comp_code 13
[ 543.815186] xhci_hcd 0000:0c:00.0: Looking for event-dma 0000000425e6e400 trb-start 0000000425e6e2e0 trb-end 0000000425e6e2e0 seg-start 0000000425e6e000 seg-end 0000000425e6eff0
[ 543.815271] xhci_hcd 0000:0c:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 4 comp_code 13
[ 543.815272] xhci_hcd 0000:0c:00.0: Looking for event-dma 0000000425e6e410 trb-start 0000000425e6e2e0 trb-end 0000000425e6e2e0 seg-start 0000000425e6e000 seg-end 0000000425e6eff0
[ 543.815356] xhci_hcd 0000:0c:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 4 comp_code 13
[ 543.815357] xhci_hcd 0000:0c:00.0: Looking for event-dma 0000000425e6e420 trb-start 0000000425e6e2e0 trb-end 0000000425e6e2e0 seg-start 0000000425e6e000 seg-end 0000000425e6eff0
[ 543.815822] xhci_hcd 0000:0c:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 4 comp_code 13
[ 543.815823] xhci_hcd 0000:0c:00.0: Looking for event-dma 0000000425e6e430 trb-start 0000000425e6e2e0 trb-end 0000000425e6e2e0 seg-start 0000000425e6e000 seg-end 0000000425e6eff0
[ 609.127969] usbcore: deregistering interface driver ax88179_178a
[ 609.128443] ax88179_178a 10-1:1.0 enx90203a1c2b65: unregister 'ax88179_178a' usb-0000:0c:00.0-1, ASIX AX88179 USB 3.0 Gigabit Ethernet
[ 609.643604] ax88179_178a 10-1:1.0 eth0: register 'ax88179_178a' at usb-0000:0c:00.0-1, ASIX AX88179 USB 3.0 Gigabit Ethernet, 90:20:3a:1c:2b:65
[ 609.645089] usbcore: registered new interface driver ax88179_178a
[ 609.646672] ax88179_178a 10-1:1.0 enx90203a1c2b65: renamed from eth0
[ 612.705215] ax88179_178a 10-1:1.0 enx90203a1c2b65: ax88179 - Link status is: 1
[ 612.735735] IPv6: ADDRCONF(NETDEV_CHANGE): enx90203a1c2b65: link becomes ready
[ 652.991795] xhci_hcd 0000:0c:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 4 comp_code 13
[ 652.991799] xhci_hcd 0000:0c:00.0: Looking for event-dma 0000000384cb4280 trb-start 0000000384cb4260 trb-end 0000000384cb4260 seg-start 0000000384cb4000 seg-end 0000000384cb4ff0
[ 652.991859] xhci_hcd 0000:0c:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 4 comp_code 13
[ 652.991862] xhci_hcd 0000:0c:00.0: Looking for event-dma 0000000384cb4290 trb-start 0000000384cb4260 trb-end 0000000384cb4260 seg-start 0000000384cb4000 seg-end 0000000384cb4ff0
[ 652.991944] xhci_hcd 0000:0c:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 4 comp_code 13
[ 652.991945] xhci_hcd 0000:0c:00.0: Looking for event-dma 0000000384cb42a0 trb-start 0000000384cb4260 trb-end 0000000384cb4260 seg-start 0000000384cb4000 seg-end 0000000384cb4ff0
[ 652.992030] xhci_hcd 0000:0c:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 4 comp_code 13
[ 652.992032] xhci_hcd 0000:0c:00.0: Looking for event-dma 0000000384cb42b0 trb-start 0000000384cb4260 trb-end 0000000384cb4260 seg-start 0000000384cb4000 seg-end 0000000384cb4ff0
[ 652.992121] xhci_hcd 0000:0c:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 4 comp_code 13
[ 652.992122] xhci_hcd 0000:0c:00.0: Looking for event-dma 0000000384cb42c0 trb-start 0000000384cb4260 trb-end 0000000384cb4260 seg-start 0000000384cb4000 seg-end 0000000384cb4ff0
[SAME ERROR REPEATED ~20 times]
每次我注意到症状后检查日志时,都会看到“传输事件”错误,并且系统日志中的时间戳似乎与网络停止工作的时刻完全对应。从这次运行中可以看出,在加载驱动程序和遇到问题之间没有其他日志输出。
当我在谷歌上搜索该错误消息时,有多个文章讨论了 Thunderbolt 带宽管理问题,但我能找到的每一篇帖子都是几年前的,只是说它现在已在内核中修复。但它似乎并没有为我修复(5.3.0-51-generic)。当我执行需要更多网络带宽的操作(例如流式传输电影)时,错误确实会更快地发生,因此这似乎确实指向 Thunderbolt 带宽问题,但我再次找不到修复方法/据说这一切都在几年前就修复了。
此处链接的是网络诊断脚本的输出:https://paste.ubuntu.com/p/FmG8hGzkXV/
我尝试禁用以太网设备和设备所连接的 USB 总线的自动挂起功能(使用 powertop),但无济于事。我的笔记本电脑似乎没有安装 laptop-mode-tools 或 tlp。
有人能帮我弄清楚发生了什么吗?我觉得像这样的雷电设备应该可以在 Ubuntu 上运行。如果有什么我预料到的问题,那就是 eGPU 的 GPU 部分,但它工作正常,因为我目前正在由底座驱动的双 4k 显示器上打字,唯一的问题是以太网(插入底座时键盘、鼠标、USB 声卡都可以正常工作)。