如何恢复USB wifi接口名称(从wlxXXXXXXXXXXXX到wlanX)?

使用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接口禁用这个新规则? 谢谢你的建议,请原谅我糟糕的英语。 再见

你错过了一件来自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). 

# 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中都不存在此文件,但其中一部分必须存在于其他源代码中

我有ubuntu工作室,并有同样的问题:一个长wlxxxxx名称和无线连接但不工作!

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

所以,我将它重命名为受此线程启发的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

您可以覆盖它,而不是完全禁用重命名,为您的接口提供自己的自定义名称。 这保留了静态命名,但为您提供了一个您可以记住并输入的名称。

现有的命名系统( /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:  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:  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:  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:  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:  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等。此方法的优点在于您可以获得所需的名称, 并且您可以从静态网络接口命名中受益。 所以接口总是被命名为相同的东西。