[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
Dica publicada em Linux / Redes
[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
Introdução
Dica testada no Gentoo + Systemd.Se você utiliza o
iwd no Linux e percebe que a lista de redes no iwgtk some aleatoriamente ou a conexão sofre microquedas constantes (geralmente a cada 5 ou 10 minutos), o culpado costuma ser o gerenciamento de energia agressivo e a tentativa do software de realizar "roaming" (troca de canal/antena) em adaptadores USB que não suportam essa transição rápida.
Isso aconteceu comigo e eu pedi ajuda ao Gemini. A solução resolvi transformar nesta dica.
Passo 1: Configuração do iwd (Anti-Roaming e Protocolos)
Edite o arquivo/etc/iwd/main.conf. As configurações abaixo visam limitar as funções automatizadas do daemon que costumam derrubar o driver rtw88.
[General] # Impede o conflito de IPs; o NetworkManager cuidará disso EnableNetworkConfiguration=false # Impede o roaming em qualquer sinal utilizável (evita quedas bruscas) RoamThreshold=-85 RoamThreshold5G=-80 # Desativa a busca repetitiva por novas redes enquanto estiver conectado RoamRetryInterval=0 # Coloca redes instáveis em "lista negra" após 5 falhas BSSBlacklistThreshold=5 [Network] # Remove erros de handshake e renovação de IP via IPv6 EnableIPv6=false [Scan] # Desativa protocolos WiFi 6 (HE) que o driver rtw88 não processa bem DisableHE=true DisableVHT=true
Passo 2: Persistência do Power Save (udev)
A interface Wi-Fi pode mudar de nome (ex: de wlan0 para wlan1) após um reboot ou reinício de serviço. Para garantir que oPower Save fique sempre em off, use um nome genérico.
Crie ou edite o arquivo
/etc/udev/rules.d/70-wifi-powertweak.rules:
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*", RUN+="/usr/bin/iw dev %k set power_save off"
- KERNEL=="wlan*": Aplica a regra a qualquer interface Wi-Fi (`wlan0`, `wlan1`, etc).
- %k: Variável do udev que identifica automaticamente o nome atual da interface.
Passo 3: Ajuste no NetworkManager
Para evitar que o sistema tente buscar rotas IPv6 que podem causar "conexão limitada" (exclamação amarela), vá nas configurações da sua rede no KDE/GNOME e altere o método IPv6 para "Ignorado".Passo 4: Aplicando as Configurações
Se a conexão oscilar ou apresentar erro de "dispositivo não localizado", reinicie os serviços nesta ordem exata:sudo systemctl stop NetworkManager
sudo systemctl restart iwd
sleep 5
sudo systemctl start NetworkManager
Passo 5: Comandos de Diagnóstico
Para validar se sua conexão está "topzeira", use este comando:echo -e "--- POWER SAVE ---\n$(iw dev wlan1 get power_save)\n\n--- LINK QUALITY ---\n$(iw dev wlan1 link | grep -E 'signal|bitrate|freq')"
Se após uma hora de uso o comando abaixo não retornar nada, sua conexão está oficialmente blindada:
sudo journalctl -u NetworkManager --since "1 hour ago" | grep -iE "roaming|disconnect|failed"
O que aprendi com Gemini sobre esse problema: a estabilidade em adaptadores Realtek USB no Linux não é alcançada habilitando funções, mas sim simplificando a operação para que o hardware foque apenas em manter o link de dados ativo.