固定树莓派网卡标号

自己的树莓派上有俩无线网卡,卡1通过hostapd创建热点,卡2连接其他wifi。

若同时插着俩网卡开机,每一次开机后,网卡的标号有可能会不同,有时开机后卡1是wlan0,卡2是wlan1,有时却相反。

然而由于硬件和驱动原因,卡2不能够创建热点,而像udhcp、hostapd、interfaces的配置文件都是依靠wlanX这样来配置的。于是,为了避免开机后卡2成了wlan0,放不了热点,我每一次开机前都要先拔出卡2,等搜到卡1放出的热点后,才将卡2插进去。

难道就没有方法,在开机前,就已经固定好网卡标号的方法吗?

灵感来自那个装了Debian的移动硬盘。

当时将Debian装在了移动硬盘上,插谁电脑都能启动我的系统。然而,系统却会为曾使用过的网卡保留标号。于是,在某一天,当我发觉我插了一个无线网卡后系统显示wlan7后,我开始寻找清除的方法:

找到

/etc/udev/rules.d/70-persistent-net.rules

网上说是直接删除文件,而我只删掉那些不需要的内容。

那么要让树莓派记住,只要反其道而行就好了。

创建文件

/etc/udev/rules.d/70-persistent-net.rules

加入以下内容

1
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="01:23:45:ab:cd:ef", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

NAME即为网卡标号,可以根据意愿修改成wlan1、wlan3之类的,ATTR{address}==后面接的是设置成该网卡的mac地址。上面的内容表示为,我想将mac地址为”01:23:45:ab:cd:ef”的无线网卡设为wlan0。

实测有效。