Atualmente usando Raspbian/bookworm na configuração padrão, 'NetworkManager' é usado para conectar-se a redes WiFi. Se você usar pelo menos um dispositivo WiFi adicional em seu RaspberryPi, você terá mais de uma interface wlan*. No meu exemplo eu uso um RaspberryPi 3B que tem WiFi integrado, então conectei um adaptador USB-WiFi, então tenho duas interfaces:
- wlan0 (interface WiFi própria do RaspberryPi)
- wlan1 (a interface adicional do adaptador USB-WiFi)
Como as conexões WiFi parecem não estar vinculadas à interface no NetworkManager, a conexão alterna descontroladamente entre a interface wlan0 e a interface wlan1 de vez em quando (como também às vezes entre reinicializações).
NetworkManager tem o seguinte configurado em /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
O dispositivo WiFi integrado (= wlan0) do RaspberryPi obviamente tem menos intensidade de sinal para minha rede doméstica do que o adaptador USB-WiFi, então quero usar o adaptador USB-WiFi (= wlan1) para conectar-me à minha rede doméstica. (Quero usar o dispositivo WiFi interno para conectar-me a outro AP WiFi próximo). Por esse motivo, tento vincular a conexão à minha rede doméstica na interface wlan1.
De acordo com a documentação do NetworkManager isso deve ser feito definindo interface-name
em [connection]
. A documentação indica essa propriedade: "O nome da interface de rede à qual esta conexão está vinculada. Se não for definido, a conexão poderá ser anexada a qualquer interface do tipo apropriado..."
Então adicionei interface-name=wlan1
assim:
[connection]
id=preconfigured
uuid=8043d3ca-6cb6-4449-83c4-61539463af66
type=wifi
interface-name=wlan1
Mas mesmo depois de definir o nome da interface, após uma reinicialização, 'preconfigured.nmconnection' ainda usa wlan0.
Estou me perguntando por que esse é o caso e como forçar essa conexão com a interface wlan1.
Depois de muito fuçar e várias reinstalações, acho que descobri. Editar o arquivo .nmconnection diretamente não parece ser uma boa ideia. Mesmo usando
nmcli connection reload
e/ou reiniciando, isso não funciona corretamente e confunde o networkmanager.Usando apenas o
nmcli
comando desde o início após uma instalação limpa, parece funcionar conforme o esperado.Então, para conseguir o que pedi, basta executar dois comandos:
Onde "pré-configurado" é o id/nome da conexão configurada, "myhomenetwork" é o SSID da minha rede wifi e "wlan1" é a interface à qual a conexão deve ser vinculada.
Para mostrar o id/nome de todas as conexões configuradas você pode usar: