刚刚安装了 Ubuntu 22.04,并为我的 USB 无线适配器安装了 Morrownr 的 8821au 驱动程序 https://github.com/morrownr/8821au-20210708
该 USB 设备被检测为 8811au,但根据描述,驱动程序可以很好地支持它。
问题是每次重启后都会随机生成 mac 地址...这会导致任何以前工作的网络连接都变得无用(必须手动建立连接并再次输入密码等,并永久创建多个网络配置文件,直到通过 nmcli 手动删除)
- 已尝试将克隆 mac 地址设置为永久/保留...没用。
- 已经尝试过了USB Wifi Dongle 每次启动时都会更改 MAC 地址 - 如何防止这种情况?. 没用。
- 还确认了 NetworkManager.conf 中的 wifi.scan-rand-mac-address=no
有人知道如何解决这个问题吗?我怀疑这只与 USB 适配器有关
在我发布之前刚刚发现 启动时不会自动重新连接 WiFi(18.10)该解决方案有效,但我想如果有人在同一台机器上有多个 wifi 连接,它就不会很好地发挥作用。
也许其他人有更好的解决方案?
答案1
如果您想通过 NetworkManager 配置 MAC 地址,那么每个配置文件的设置wifi.cloned-mac-address
是正确的设置。
wifi.scan-rand-mac-address=no
仅在扫描时才重要,因此除非出现问题(例如,驱动程序在更改 MAC 地址时出现错误),否则 NetworkManager 执行此操作是没有问题的。
除非您(或您系统上的某个程序)配置 NetworkManagerwifi.cloned-mac-address
来更改 MAC 地址,否则它已默认为“保留”。因此,预计该设置wifi.cloned-mac-address=preserve
不会产生任何影响。如果其他人正在更改 MAC 地址,而您不希望如此,最好阻止其他工具这样做。
如果设备没有永久 MAC 地址,您也可以设置wifi.cloned-mac-address=stable
或将其设置为显式 MAC 地址wifi.cloned-mac-address=aa:bb:cc:dd:ee:ff
。在这些情况下,NetworkManager 应该在激活配置文件时设置 MAC 地址。
当然,wifi.cloned-mac-address
这是配置文件的设置。只有激活配置文件后才会生效。
已经尝试过这个 USB Wifi Dongle 在每次启动时都会更改 MAC 地址 - 如何防止这种情况?没用。
如果您按照上述步骤操作,并在 NetworkManager.conf 中设置属性,则您为每个配置文件的值配置了默认值。这仅在每个配置文件的值未设置时才会生效。这在 中有解释man NetworkManager.conf
。如果您仍在寻找正确的设置,请为每个配置文件配置它 ( nmcli connection modify "$PROFILE" wifi.cloned-mac-address "$VALUE"
)。如果您了解正在发生的事情,在 NetworkManager.conf 中设置默认值是可能的,而且很好,但它会增加一层混乱。