我使用 Ubuntu-arm,uname -a
Linux arm 3.7.8-x8 #1 SMP Sat Feb 16 04:15:13 UTC 2013 armv7l armv7l armv7l GNU/Linux
我有两个 USB WiFi 接口,分别名为 wlan0 和 wlan1/etc/udev/rules.d/70-persistent-net.rules
我在每个启动时运行一个脚本:
ifdown wlan0
rm /var/run/wpa_supplicant/wlan0
ifup wlan0
wpa_supplicant -B -Dnl80211 -iwlan0 -c/etc/w.conf
ifdown wlan1
rm /var/run/wpa_supplicant/wlan1
ifup wlan1
wpa_supplicant -B -Dnl80211 -iwlan1 -c/etc/w2.conf
有时,其中一个接口被命名为,rename5
而另一个接口则根据 命名70-persistent-net.rules
。
谁能解释为什么它被命名为 rename5 而不是 wlan0 或 wlan1 以及我怎样才能防止这种情况发生?
答案1
虽然不完全确定,但我相信你的问题的根源(我也必须面对,尽管在不同的架构上)是这种错误udev 容易出现这种情况。该帖子的重要部分是 udev 的开发人员声明:
我们不再支持在内核命名空间中重命名网络接口。接口名称必须使用永远不会与内核创建的名称冲突的自定义名称。
我们不支持交换名称;我们无法赢得与内核同时创建新接口的任何竞赛。
我们不再支持从热插拔路径内部创建 udev 规则。
后来在同一篇文章中:
可预测的网络接口名称需要像biosdevname这样的工具,或者手动配置的名称,不使用内核名称。
两者都关于名称与内核名称不冲突然后不支持交换名称我相信适用于你。
虽然我无法从远处诊断您的系统,但我认为一个好的初步尝试可能是选择非常不同的名称,例如 nic1 和 wifi-nic2。