为什么 USB 以太网 2.5GBit 设备在 ifconfig 中以奇怪的名称显示?

为什么 USB 以太网 2.5GBit 设备在 ifconfig 中以奇怪的名称显示?

当我插入 USB3 以太网设备时,我的 Ubuntu 20.10 系统会拾取它:

[323680.309144] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[323680.329754] usb 2-1: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00
[323680.329758] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[323680.329760] usb 2-1: Product: USB 10/100/1G/2.5G LAN
[323680.329762] usb 2-1: Manufacturer: Realtek
[323680.329764] usb 2-1: SerialNumber: 001000001

它也出现在 ifconfig 中,但名称非常奇怪,后面带有 MAC 地址。

$ ifconfig
...
enxAAAAAAAAAAAA: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether AA:AA:AA:AA:AA:AA  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

...其中 AA:AA:AA:AA:AA:AA 代表其 Mac 地址。

eth0:eth1:eth2:以及类似的东西发生了什么?

它通过 lsusb 显示为:

Bus 002 Device 002: ID 0bda:8156 Realtek Semiconductor Corp. USB 10/100/1G/2.5G LAN

序列号看起来也相当可疑。

答案1

使用“旧”命名方案(使用 等接口名称)eth0eth1名称按照启动过程中遇到接口的顺序分配。只要启动过程相对简单,此顺序可能不会在重新启动之间改变。因此,您可以预期今天首先“出现”的接口(因此成为eth0)明天也会首先出现,因此被分配相同的名称。后天也是如此,依此类推。

但随着时间的推移,启动过程变得更加复杂,越来越不线性。此外,热插拔接口(可以在机器运行时添加和删除)变得越来越普遍。你可以想象,这意味着内核遇到接口的顺序不再那么稳定。eth0今天的情况实际上可以eth1明天,因为这次接口的检测和初始化确实有点不同。

因此,命名方案经过了多次修改。有关新方案的更多详细信息,例如,您可以参考Debian 维基

相关内容