我从 2018 年起就在 Surface GO 上使用 Ubuntu 16.04。为了获得有线网络,我使用的是USB-C 3 端口 USB + LAN 适配器。
问题
有时启动时仅检测到网卡,但 Hub 上的其他设备会显示出来。三种不同品牌的类似 USB-C 集线器+网络适配器都会出现这种情况。
解决方法
断开并重新连接USB-C 3 端口 USB + LAN 适配器网络被检测到。
操作系统版本/内核
Ubuntu 16.04 内核 4.15.0-55
Ubuntu 16.04 内核 5.5.10-surface
发生这种情况的原因是什么?是否可以重新加载任何模块,以重新检测整个集线器或仅检测网络适配器?
答案1
从以前的解决方案中,我使用这个脚本:
#!/bin/bash
if [ $EUID != 0 ]; then
sudo "$0" "$@"
exit $?
fi
ids=$(find /sys/bus/pci/drivers/xhci_hcd/ -maxdepth 1 -type l -exec sh -c 'basename {}' \; | grep ^0000)
for id in $ids
do
echo -n "$id" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
done
sleep 3
for id in $ids
do
echo -n "$id" | tee /sys/bus/pci/drivers/xhci_hcd/bind
done
答案2
我找到了一个使用此脚本的解决方案 伊格迪·卡吉格尔
#!/bin/bash
id=$(basename $(find /sys/bus/pci/drivers/xhci_hcd/ -maxdepth 1 -type l))
echo -n "$id" > /sys/bus/pci/drivers/xhci_hcd/unbind
echo ''
sleep 3
lsusb
echo -n "$id" > /sys/bus/pci/drivers/xhci_hcd/bind
echo ''
sleep 3
lsusb