让我们跳到过去,回到老款 ARM Chromebook 型号 xe303c12 的网络配置。今天我买了“pugable USB 转以太网适配器”,是的,我认为它可以开箱即用。事实上,我可以看到,插入后,Linux 能够创建名为“enx8cae4cd6c871”(重命名为 eth0)的网络适配器,并且该设备列在 dmesg 消息之间:
# dmesg | grep eth0
[1.416705] ax88179_178a 4-1:1.0 eth0: register 'ax88179_178a' at usb-xhci-hcd.1.auto-1, ASIX AX88179 USB 3.0 Gigabit Ethernet, 8c:ae:4c:d6:c8:71
[3.773464] ax88179_178a 4-1:1.0 enx8cae4cd6c871: renamed from eth0
这是 /etc/NetworkManager/system-connections/Ethernet-eth0.nmconnection :
[connection]
id=Ethernet
uuid=cef595d5-43d9-4ae3-b5d4-55920ebdee39
type=ethernet
interface-name=eth0
[ethernet]
mac-address=8C:AE:4C:D6:C8:71
[ipv4]
method=auto
[ipv6]
addr-gen-mode=stable-privacy
method=auto
[proxy]
你看到一些错误了吗?这就是 eth0 的样子:
enx8cae4cd6c871: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 8c:ae:4c:d6:c8:71 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我试过 :
# dhclient enx8cae4cd6c871
但未分配 IP,并且我未使用该适配器连接到 Internet。
是否将其添加到 /etc/network/interfaces 中没有什么区别:
auto lo
iface lo inet loopback
auto eth0 (or enx8cae4cd6c871)
iface eth0 (or enx8cae4cd6c871) inet dhcp
您可能认为了解这一点很有用:
# nmcli d s
DEVICE TYPE STATE CONNECTION
mlan0 wifi collegato ziomario (connected)
lo loopback connected (externally) lo (connected)
p2p-dev-mlan0 wifi-p2p disconnesso -- (disconnected)
enx8cae4cd6c871 ethernet non disponibile -- (not available)
sit0 iptunnel non gestito -- (not managed)
答案1
否,接口未重命名到 eth0
。
内核最初使用该名称eth0
,但系统将接口从 重命名eth0
为enx8cae4cd6c871
。
这是因为,如果您拔下 USB 网络适配器,然后将其插入另一个端口,则可能会调用eth1
...等等。对于 USB 网络适配器,使用接口的 MAC 地址是为接口分配唯一的、持久的名称的唯一(几乎)可靠的方法。
要使 NetworkManager 配置使用正确的设备名称,您可以运行:
nmcli c modify eth0 connection.interface-name enx8cae4cd6c871
与此完全分开,您可能希望将连接重命名为除误导性之外的其他名称eth0
:
nmcli c modify eth0 connection.id Asix-USB
如果您不喜欢新的接口命名方案,则应该net.ifnames=0
在内核命令行上添加内核启动参数。在 ARM 设备上具体如何完成取决于它使用的引导加载程序:在 ARM 设备上,引导加载程序可能是也可能不是 GRUB。
当然,如果您愿意,您可以自由地为界面指定一个更人性化的名称。只是不要使用该ethN
表单,因为这些可能会干扰硬件自动检测,因为网络接口在分配更永久的名称之前仍会暂时使用这些名称。
你的ifconfig
输出:
enx8cae4cd6c871: flags=4099<UP,BROADCAST,MULTICAST>
表示网络接口是UP
但不是RUNNING
。因此,适配器已通电,但(很可能)没有检测到来自网络电缆另一端的链路信号。网络管理器状态non disponibile
(确切的英文版本似乎是unavailable
)表明了同样的事情。
该命令ethtool enx8cae4cd6c871
应提供网络适配器状态的更详细描述,最基本的点位于最后一行。我猜它会说Link detected: no
(或类似的东西)。显示的任何其他信息取决于适配器及其驱动程序的功能。
网络适配器有 LED 指示灯吗?如果有,而且它们都是黑的,那也表明没有连接。
网络电缆或您插入的端口可能已损坏:尝试另一条网络电缆,或者如果可能,将电缆的远端移至其他网络端口。
坦率地说,您在评论中链接的图片是浪费精力:单行enx8cae4cd6c871: flags=4099<UP,BROADCAST,MULTICAST>
实际上提供了比整张图片更有用的故障排除信息。