Eu tenho lutado por um bom tempo com minha conexão wifi. Basicamente, o problema é que ele se desconecta, mas não se reconecta automaticamente. Em vez disso, um applet me pede para reconectar, isso acontece a cada 10'.
Minhas tentativas
Achei que o problema seria o Network Manager, então me conectei usando o Networkd, mas não consegui fazer funcionar apenas iniciando o serviço, porque a placa wifi tem que ser configurada de alguma forma.
O Network Manager usa wpa_supplicant no backend, e gostaria de saber se o problema seria como o NM está usando wpa_supplicant, pois eles possuem arquivos diferentes para drivers diferentes, por exemplo:
$ ls /lib/systemd/system/wpa_\t
[email protected]
wpa_supplicant.service
Eu também verifiquei se o arquivo de configuração de serviços do NetworkManager tem uma reinicialização em caso de falha.
Não tenho certeza do que fazer ou tentar e alguma ajuda para diagnosticar e solucionar isso será muito bem-vinda.
Corrigir ?
Os gerenciadores de rede parecem não ser fáceis de configurar, pelo menos eles precisam:
- uma interface (sem fio ou lan), um nome de rede e uma senha. Podemos precisar ativar a interface e podemos acabar "não gerenciados" até que a gerenciemos.
- Além disso -eu acredito- um suplicante como wpa_supplicant
- e arquivos de serviços para lidar com falhas, iniciar na inicialização, etc.
Não conheço os internos, mas o que você pode fazer com o NM que é configurá-lo ( 1. ) usando o nm-applet ou nmcli (onde damos a senha da rede e selecionamos a rede, por exemplo). Não vejo este cliente para networkd. Por exemplo , networkctl apenas verifica a conexão. Portanto, não pode ser feito com networkd (não há applet afaik).
A próxima maneira de configurar a etapa 1. é uma configuração de nível um pouco mais baixa e está usando o netplan . Este é um ótimo programa porque escrever arquivos de configuração é provavelmente difícil. Achei bem fácil, esta é a configuração que escrevi (formato YAML):
# Let NetworkManager manage all devices on this system
# no, let networkd do it cuz NM troubles this pc
network:
version: 2
renderer: networkd
wifis:
wlp1s0:
dhcp4: true
access-points:
"Xg-wifi-Network":
password: "rh6haeXX"
Você também pode adicionar servidores DNS, etc. Aqui estão alguns exemplos. Então use estes comandos:
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
sudo netplan generate && sudo netplan apply
systemctl enable systemd-networkd.service
systemctl start systemd-networkd.service
systemctl status systemd-networkd.service
E a saída do último comando é:
● systemd-networkd.service - Network Service
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2022-02-16 19:36:08 GMT; 15ms ago
TriggeredBy: ● systemd-networkd.socket
...
Feb 16 19:36:08 code systemd[1]: Starting Network Service...
Feb 16 19:36:08 code systemd-networkd[8000]: wlp1s0: Gained IPv6LL
Feb 16 19:36:08 code systemd-networkd[8000]: Enumeration completed
Feb 16 19:36:08 code systemd-networkd[8000]: wlp1s0: Connected WiFi access point: OBT For Small Biz_JMTA (d6:35:1d:7e:76:6>
Feb 16 19:36:08 code systemd[1]: Started Network Service.
Applets de rede
O gerenciador de rede vem com o nm-applet . Eu tentei este do @pltanton, para o Awesome Window Manager. É ótimo.
Usar um serviço diferente deve resolver o problema.
Tente correr
sudo systemctl enable systemd-networkd
esudo systemctl start systemd-networkd
.Nota: Você pode ter que desabilitar o NetworkManager executando
sudo systemctl disable NetworkManager
.Outra coisa a tentar é
sudo systemctl restart NetworkManager
ousudo systemctl restart systemd-networkd
(se você não quiser usar o NetworkManager)Para obter mais informações, consulte esta página.