如何还原USB wifi接口名称(从wlxXXXXXXXXXXXX到wlanX)?


9

在Ubuntu 16.04中,USB wifi接口现在为wlxXXXXXXXXXXXX,其中X是设备的Mac地址的数字(可预测接口名称的策略),可在此处找到更多信息:systemd:PredictableNetworkInterfaceNames

实际上,所有接口的命名都发生了变化,但是我可以回到旧的方式(ethX表示以太网接口,wlanX表示inetrnal wifi卡),按照该线程第三篇文章中的建议修改/ etc / default / grub,以更改网络接口名称ubuntu 16-04 我的问题是该解决方案不适用于USB接口,而且我仍然有一个很烦人的长名(我经常使用命令行来与我的wifi接口一起玩) 接口命名问题

 So here is my question: 

我应该怎么做才能为我的USB wifi接口禁用此新规则? 感谢您的建议,对不起我的英语不好。再见


为什么要禁用它?
卡兹·沃尔夫

因为我使用命令行来管理我的wifi USB接口,并且我使用使用旧命名的脚本。比我们可以谈论数小时的时间,我认为这是一个非常无用的系统接口“可预测的策略”,但是……这并不是真正的要点:)
kcdtv

如果您具有执行管理的脚本,并且使用同一张卡,为什么不只更改脚本以使用正确的(更好的)名称?这样,您将始终知道您正在使用哪一个。如果始终只插入这两张卡,请让脚本找到另一张卡并进行设置。
卡兹·沃尔夫

没有更好的名字...我不会对此进行更深入的考虑,这实际上不是重点,您认为它们更好,但是您可以使用系统ia的方式,我以其他方式使用它...我其实有很多卡的...但真的不是这里的点...
kcdtv

1
新的命名方案糟透了。现在,当更改USB设备时,我们需要单独的脚本-由于名称,绑定到mac地址。

Answers:


9

您错过了https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

然后重启

我认为它应该是/ etc / udev /中的80-net-setup-link.rules文件,因为我从15.10更新到Ubuntu 16.04的一台笔记本电脑仍然包含一个名为/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).

IMPORT{cmdline}="net.ifnames", ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end" PROGRAM="/bin/readlink /etc/udev/rules.d/80-net-setup-link.rules", RESULT=="/dev/null", GOTO="usb_net_by_mac_end"

ACTION=="add", SUBSYSTEM=="net", SUBSYSTEMS=="usb", NAME=="", \ ATTR{address}=="?[014589cd]:*", \ IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}"

LABEL="usb_net_by_mac_end"

它指定了/etc/udev/rules.d/80-net-setup-link.rules

我的Ubuntu 16.04的所有全新安装中都不存在此文件,但其中的一部分必须存在于其他源代码中


1
您好Jeremy31,谢谢您的回答
kcdtv

。我的/etc/udev/rules.d/目录为空。我在/lib/udev/rules.d中有一个80-net-setup- link.rules。我做了与该目录中建议的操作相同的操作,但USB wifi设备仍使用mac地址命名。我会尝试寻找一种方法,并在发现某些内容时进行更新...再次感谢
kcdtv

只需对/etc/udev/rules.d/80-net-setup-link.rules进行操作,就像我刚刚检查了ubuntu 16.04计算机并插入较旧的USB wifi设备在iwconfig中将其显示为wlan1一样。我不确定grub文件中的net.ifnames = 0为什么不足以阻止它更改USB设备
Jeremy31'9

有效!我将规则80从/lib/udev/rules.d复制到/etc/udev/rules.d中。比起我在此目录中复制它,将其重命名为 80-net-setup-link.rules.bak。最后,我创建了到/ dev / null_ 的符号链接。重新启动后,我的USB WiFi卡现在没有显示为“ wlan1 ”界面。非常感谢你!:)
kcdtv

2

寻找类似用例的人员的注意事项:

由于Debian(拉伸)中的接口名称过长,USB WiFi加密狗的驱动程序无法进行身份验证时出现问题。

解决步骤:

  1. 复制/lib/udev/rules.d/80-net-setup-link.rules/etc/udev/rules.d/

  2. 改变$env{ID_NET_NAME}$env{ID_NET_SLOT}

这样可以在缩短接口名称的同时保持其唯一性。

更新:这似乎不再是Debian 10的问题。


0

我有ubuntu studio并遇到了相同的问题:wlxxxxx长名称和wifi已连接但无法正常工作!

Ubuntu studio有一个特殊的低延迟内核,我怀疑长名可能是个问题。

因此,我将此线程重命名为wlan0。我做了以下事情:

1)将/lib/udev/rules.d/80-net-setup-link.rules复制到文件夹/etc/udev/rules.d/

2)在那里编辑了名字。在我的情况下,有一行:NAME ==“”,ENV {ID_NET_NAME}!=“”,NAME =“ $ env {ID_NET_NAME}”

我只是输入了“ wlan0”而不是“ $ env {ID_NET_NAME}”。

现在wifi起作用了!

GR


0

除了完全禁用重命名外,您还可以覆盖它来为接口赋予自己的自定义名称。这样可以保持静态命名,但是会为您提供一个您可以记住并输入的名称。

现有的命名系统(/lib/udev/rules.d/80-net-setup-link.rules)仅在尚未命名接口时才对其进行重命名。因此,您可以以更高的优先级添加自己的规则,以/etc/udev/rules.d自己的方式命名接口,这将阻止默认系统为这些接口命名。

我的系统中有一个文件70-wifi.rules,该文件根据它们所连接的网络来命名接口:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0f:00:4a:c4:c9", NAME="wifi-root"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:19:86:31:dd:b7", NAME="wifi-main"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="38:2c:4a:48:27:49", NAME="wifi-local"

它由接口的MAC地址键入密钥,结果为:

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 3c:d9:2b:73:ad:5d brd ff:ff:ff:ff:ff:ff
15: wifi-main: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 00:19:86:31:dd:b7 brd ff:ff:ff:ff:ff:ff
16: wifi-local: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 38:2c:4a:48:27:49 brd ff:ff:ff:ff:ff:ff
17: wifi-root: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 00:0f:00:4a:c4:c9 brd ff:ff:ff:ff:ff:ff

您可以将它们重命名为wlan0,wlan1等。此方法的优点是您可以获取所需的名称,并且可以从静态网络接口命名中受益。因此,接口将始终被命名为同一事物。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.