博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络服务(5)——usb网卡名称修改(RK3399 Ubuntu)
阅读量:4029 次
发布时间:2019-05-24

本文共 6254 字,大约阅读时间需要 20 分钟。

参考链接:https://www.go2aaron.com/blog/index.php/archives/28/https://superuser.com/questions/1000570/why-eth0-is-renamed-to-enx78e7d1ea46da-after-upgradehttps://tinkerboarding.co.uk/forum/thread-990.html

usb网卡命名

在RK3399 Ubuntu系统上使用usb转百兆网卡ASIX AX88772B,因为udev规则配置的原因,出现了usb网卡名称的困扰,我的usb网卡的名称变成了enx000ec6877201,而不是传统的ethX:

forlinx@forlinx:~$ ifconfigenx000ec6877201: flags=4099
mtu 1500 ether 00:0e:c6:87:72:01 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 0eth0: flags=4099
mtu 1500 ether 9a:0b:9d:ed:7f:96 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4 bytes 600 (600.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 24

仔细看这个网卡名称是由enx+mac地址拼接而成的。

网络接口名称规则有以下几种:

1. 包含固件/BIOS 的名称为板载设备提供索引号(例如:eno1)2. 包含固件/BIOS 提供的 PCI Express 热插拔插槽索引号的名称(例如:ens1)3. 包含硬件连接器物理/地理位置的名称(例如:enp2s0)4. 包含接口 MAC 地址的名称(例如:enx78e7d1ea46da)5. 经典的、不可预测的内核原生 ethX 命名(例如:eth0)

查看打印信息,我们发现usb网卡被重命名了:

forlinx@forlinx:~$ dmesg | grep asix[    1.366431] usbcore: registered new interface driver asix[    4.686485] asix 5-1:1.0 eth1: register 'asix' at usb-xhci-hcd.10.auto-1, ASIX AX88772B USB 2.0 Ethernet, 00:0e:c6:87:72:01[    4.784644] asix 5-1:1.0 enx000ec6877201: renamed from eth1

通过查找,我们发现是udev的某个规则文件按照规则4,对usb网卡的命名进行了设置

/lib/udev/rules.d/73-usb-net-by-mac.rules
# Use MAC based names for network interfaces which are directly or indirectly# on USB and have an universally administered (stable) MAC address (second bit# is 0). Don't do this when ifnames is disabled via kernel command line or# customizing/disabling 99-default.link (or previously 80-net-setup-link.rules).IMPORT{cmdline}="net.ifnames"ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end"ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME=="", \    ATTR{address}=="?[014589cd]:*", \    TEST!="/etc/udev/rules.d/80-net-setup-link.rules", \    TEST!="/etc/systemd/network/99-default.link", \    IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}"# Some Dell BIOS perform "MAC passthrough" which forces the same MAC address# for the onboard nic and the in-dock nic, which obviously prevents naming# the interfaces by mac.  Since those nics are usb, we have to prevent trying# to rename both of them to the same name.  This sets a value that will# cause udevd to skip its repeated attempts at renaming the interface if the# first rename attempt fails.ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", \    ATTR{[dmi/id]sys_vendor}=="Dell Inc.", \    ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="8153", \    ENV{DELL_MAC_PASSTHROUGH}="1"LABEL="usb_net_by_mac_end"

在系统缺失"/etc/udev/rules.d/80-net-setup-link.rules"和"/etc/systemd/network/99-default.link"这两个文件时,usb网卡就会被重命名。

我们尝试创建99-default.link,未添加规则,只是个空文件,usb网卡名称就变回来了:

forlinx@forlinx:~$ ifconfig                                     eth0: flags=4099
mtu 1500 ether 9a:0b:9d:ed:7f:96 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 device interrupt 24 eth1: flags=4099
mtu 1500 ether 00:0e:c6:87:72:01 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

相关内容

网络配置

RK3399 Ubuntu系统网络使用NetworkManager进行管理,开发板默认千兆以太网的配置保存在如下路径中:

/etc/NetworkManager/system-connections/

配置文件的生成可以通过NetworkManager任务栏图标进行更改,内容类似如下:

[connection]id=eth0uuid=1c27ec71-91e9-37ad-9cee-ff94afa20c4ctype=ethernetautoconnect-priority=-999permissions=timestamp=1623739551[ethernet]mac-address=9A:0B:9D:ED:7F:96mac-address-blacklist=[ipv4]dns-search=method=auto[ipv6]addr-gen-mode=stable-privacydns-search=ip6-privacy=0method=auto

网络名称更改

/etc/systemd/network/99-default.link
[Match]MACAddress=00:0E:C6:87:72:01[Link]Name=eth1

/lib/udev/rules.d/

forlinx@forlinx:~$ vi /lib/udev/rules.d/                        39-usbmuxd.rules40-usb_modeswitch.rules40-vm-hotadd.rules50-apport.rules50-firmware.rules50-udev-default.rules55-dm.rules55-ippusbxd.rules60-block.rules60-cdrom_id.rules60-crda.rules60-drm.rules60-evdev.rules60-input-id.rules60-libgphoto2-6.rules60-libsane1.rules60-persistent-alsa.rules60-persistent-input.rules60-persistent-storage-dm.rules60-persistent-storage-tape.rules60-persistent-storage.rules60-persistent-v4l.rules60-sensor.rules60-serial.rules60-triggerhappy.rules61-gnome-settings-daemon-rfkill.rules61-persistent-storage-android.rules64-btrfs.rules64-xorg-xkb.rules65-libwacom.rules69-cd-sensors.rules69-libmtp.rules70-96boards-common.rules70-joystick.rules70-mouse.rules70-power-switch.rules70-printers.rules70-touchpad.rules70-uaccess.rules71-power-switch-proliant.rules71-seat.rules73-seat-late.rules73-special-net-names.rules73-usb-net-by-mac.rules75-net-description.rules75-probe_mtd.rules77-mm-cinterion-port-types.rules77-mm-dell-port-types.rules77-mm-ericsson-mbm.rules77-mm-fibocom-port-types.rules77-mm-haier-port-types.rules77-mm-huawei-net-port-types.rules77-mm-longcheer-port-types.rules77-mm-mtk-port-types.rules77-mm-nokia-port-types.rules77-mm-pcmcia-device-blacklist.rules77-mm-qdl-device-blacklist.rules77-mm-sierra.rules77-mm-simtech-port-types.rules77-mm-telit-port-types.rules77-mm-ublox-port-types.rules77-mm-usb-device-blacklist.rules77-mm-usb-serial-adapters-greylist.rules77-mm-x22x-port-types.rules77-mm-zte-port-types.rules78-graphics-card.rules78-sound-card.rules80-debian-compat.rules80-drivers.rules80-iio-sensor-proxy.rules80-libinput-device-groups.rules80-mm-candidate.rules80-net-setup-link.rules80-udisks2.rules84-nm-drivers.rules85-hdparm.rules85-nm-unmanaged.rules85-regulatory.rules90-alsa-restore.rules90-console-setup.rules90-libinput-model-quirks.rules90-pulseaudio.rules95-cd-devices.rules95-dm-notify.rules95-upower-csr.rules95-upower-hid.rules95-upower-wup.rules97-hid2hci.rules99-systemd.rules

转载地址:http://puhbi.baihongyu.com/

你可能感兴趣的文章
PHP那点小事--三元运算符
查看>>
解决国内NPM安装依赖速度慢问题
查看>>
Brackets安装及常用插件安装
查看>>
在CentOS 7系统上搭建LNMP 环境
查看>>
Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
查看>>
fastcgi_param 详解
查看>>
Nginx配置文件(nginx.conf)配置详解
查看>>
标记一下
查看>>
一个ahk小函数, 实现版本号的比较
查看>>
IP报文格式学习笔记
查看>>
autohotkey快捷键显示隐藏文件和文件扩展名
查看>>
Linux中的进程
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
深度学习库安装与使用
查看>>
keras句子分类 keras_demo_for_sentence_classification (simplified version)
查看>>
MySQL for Windows 解压缩版配置安装
查看>>
MySQL必知必会(读书笔记)
查看>>
MySQL必知必会(读书笔记二)
查看>>
Pyhton、Numpy、Pandas排序小结
查看>>