目前使用默认配置“NetworkManager”的 Raspbian/bookworm 用于连接 WiFi 网络。如果您在 RaspberryPi 上使用至少一个额外的 WiFi 设备,您将拥有多个 wlan* 接口。在我的示例中,我使用带有板载 WiFi 的 RaspberryPi 3B,然后我插入了一个 USB-WiFi 适配器,因此我有两个接口:
- wlan0(RaspberryPi自己的WiFi接口)
- wlan1(附加的USB-WiFi适配器接口)
由于 WiFi 连接似乎不受 NetworkManager 接口限制,因此连接时不时地在 wlan0 接口和 wlan1 接口之间不受控制地切换(有时在重启之间也是如此)。
NetworkManager 在 /etc/NetworkManager/system-connections/preconfigured.nmconnection 中配置了以下内容
[connection]
id=preconfigured
uuid=8043d3ca-6cb6-4449-83c4-61539463af66
type=wifi
[wifi]
mode=infrastructure
ssid=myhomenetwork
hidden=false
[ipv4]
method=auto
[ipv6]
addr-gen-mode=default
method=auto
[proxy]
[wifi-security]
key-mgmt=wpa-psk
psk=ec6f<snip>128e
RaspberryPi 的内置 WiFi 设备(=wlan0)对 myhomenetwork 的信号强度明显小于 USB-WiFi 适配器,因此我想使用 USB-WiFi 适配器(=wlan1)连接到 myhomenetwork。(我想使用内置 WiFi 设备连接到附近的另一个 WiFi AP)为此,我尝试在 wlan1 接口上绑定到 myhomenetwork 的连接。
根据NetworkManager 文档,interface-name
这应该通过在 下定义来完成[connection]
。文档对该属性的说明是:“此连接绑定到的网络接口的名称。如果未设置,则连接可以附加到任何适当类型的接口...”
所以我interface-name=wlan1
这样添加了:
[connection]
id=preconfigured
uuid=8043d3ca-6cb6-4449-83c4-61539463af66
type=wifi
interface-name=wlan1
但是即使我设置了接口名称,重新启动后“preconfigured.nmconnection”仍然使用wlan0。
我想知道为什么会出现这种情况以及如何强制该连接到接口 wlan1。
经过一番摸索和多次重新安装后,我想我已经找到了答案。直接编辑 .nmconnection 文件似乎不是一个好主意。即使使用
nmcli connection reload
和/或重新启动,这也无法正常工作,并且会使网络管理器感到困惑。nmcli
通过在全新安装后从头开始仅使用命令,它似乎可以按预期工作。因此,为了实现我的要求,只需运行以下两个命令:
其中“preconfigured”是已配置的连接的 id/名称,“myhomenetwork”是我的 wifi 网络的 SSID,“wlan1”是连接应绑定到的接口。
要显示所有已配置连接的 ID/名称,您可以使用: