为什么我的 wlan 设备被重命名?

maj*_*aja 7 linux wifi network-interface

这是我的选择dmesg

rtl8192cu 1-3:1.0 wlx10bef501e1cd: renamed from wlan0
wlx10bef501e1cd: authenticate with 90:94:e4:e7:99:cc
wlx10bef501e1cd: send auth to 90:94:e4:e7:99:cc (try 1/3)
wlx10bef501e1cd: authenticated
wlx10bef501e1cd: aborting authentication with 90:94:e4:e7:99:cc by local choice (Reason: 3=DEAUTH_LEAVING)
Run Code Online (Sandbox Code Playgroud)

该特定错误与字符串太长的设备名称相关联,这可能是通过这种连接尝试出现的:

___@DESK:~$ sudo iwconfig wlx10bef501e1cd essid dlink_DIR-506L key s:___{pass}___
Error for wireless request "Set Encode" (8B2A) :
    SET failed on device wlx10bef501e1cd ; Invalid argument.
Run Code Online (Sandbox Code Playgroud)

输出中的加密狗lsusb是:

Bus 001 Device 002: ID 2001:3308 D-Link Corp. DWA-121 802.11n Wireless N 150 Pico Adapter [Realtek RTL8188CUS]
Run Code Online (Sandbox Code Playgroud)

同时,该设备(一个 wifi usb 加密狗)用于成功安装 Debian 作为网络安装,同样的长字符串是安装 GUI 在下载软件包期间显示的 id

我试图通过在/etc/udev/rules.d/70-persistent-net.rules没有成功的情况下创建规则来重命名设备(我在输出中使用udevadm info并保存了下面的尝试,其中“1-3”是总线上的第三个设备)。

SUBSYSTEM=="usb",ACTION=="add",DRIVERS=="usb",ATTRS{product}=="802.11n WLAN Adapter",ATTR{dev_id}=="0x0",ATTR{type}=="1",KERNEL=="1-3",NAME="wlan1"
Run Code Online (Sandbox Code Playgroud)

为什么该设备首先被重命名为如此有问题的 ID?有没有一种方法可以避免wlan0被重命名,而不是稍后尝试修补这种情况?


接受这个问题的答案后,我意识到如何在 Fedora 19 上将默认的“ens33”网络设备更改为旧的“eth0”?包括此问题的解决方案,但那里描述的过程还包括解决此问题并非严格要求的步骤。

我不确定这是否符合重复的条件。

der*_*ert 5

它正在被重命名,以便无论探测/连接网络设备的顺序如何,它都具有一致的名称(否则,如果您有两个 USB wifi 设备,即 wlan0 和 wlan1,则可能会在每次启动时更改 - 或者在通过 MAC 地址执行此操作时,更换网卡突然使 eth0 变成 eth1,导致各种故障)。更多细节和理由可以在https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/找到

要禁用它,Debian 提供了两种方法。引自/usr/share/doc/udev/README.Debian.gz):

  • 将“net.ifnames=0”放入内核命令行(例如,在/etc/default/grub 的GRUB_CMDLINE_LINUX_DEFAULT 中,然后运行“update-grub”)。

  • 使用“ln -s /dev/null /etc/systemd/network/99-default.link”禁用默认的 *.link 规则并使用“update-initramfs -u”重建initrd。

该名称不应与 iwconfig 失败有关。