Como desativar a economia de energia no Gentoo (Systemd, Wi-Fi, USB e SSH)
Quando um servidor ou máquina remota fica muito tempo ocioso, recursos de economia de energia podem desligar interfaces de rede ou suspender o sistema, resultando na perda de acesso remoto. Esta dica demonstra como desabilitar essas funções no Gentoo
Linux com systemd, abordando a suspensão do sistema, a economia de energia de adaptadores Wi-Fi, o autosuspend de portas USB e o timeout de conexões SSH.
1. Desabilitar suspensão e hibernação no Systemd
O systemd pode suspender a máquina por inatividade. Para evitar isso, mascare os alvos correspondentes:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
2. Desabilitar economia de energia do Wi-Fi
Adaptadores sem fio possuem protocolos próprios que podem causar quedas ou aumento de latência. Para desativar via regra do udev (requer o pacote
net-wireless/iw instalado):
cat << 'EOF' | sudo tee /etc/udev/rules.d/70-wifi-powersave.rules
ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", RUN+="/usr/sbin/iw dev %k set power_save off"
EOF
sudo udevadm control --reload-rules && sudo udevadm trigger
Para verificar se a regra foi aplicada corretamente:
for dev in $(iw dev | awk '/Interface/ {print $2}'); do echo -n "Interface $dev: "; sudo iw dev $dev get power_save; done
3. Evitar queda de conexões remotas SSH
Roteadores e firewalls frequentemente encerram conexões TCP ociosas. Configure o servidor SSH para enviar pacotes "keep-alive":
cat << 'EOF' | sudo tee /etc/ssh/sshd_config.d/99-keepalive.conf
ClientAliveInterval 60
ClientAliveCountMax 3
EOF
sudo systemctl restart sshd
4. Desabilitar o Autosuspend do USB (Regra Udev e Serviço)
O kernel pode cortar a energia de dispositivos USB inativos, o que derruba adaptadores Wi-Fi externos. Crie uma regra udev para os novos dispositivos conectados:
cat << 'EOF' | sudo tee /etc/udev/rules.d/50-usb-power.rules
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="on"
EOF
sudo udevadm control --reload-rules && sudo udevadm trigger
Como os hubs e controladores USB primários da placa-mãe podem iniciar no modo
auto antes das regras surtirem efeito completo, crie um serviço
oneshot no systemd para forçar o estado
on em todos os dispositivos durante o boot:
cat << 'EOF' | sudo tee /etc/systemd/system/disable-usb-autosuspend.service
[Unit]
Description=Desabilitar autosuspend do USB
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'for f in /sys/bus/usb/devices/*/power/control; do echo on > "$f"; done'
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now disable-usb-autosuspend.service
Para auditar o status de energia de todas as portas USB e confirmar o resultado:
grep . /sys/bus/usb/devices/*/power/control
Dica feita com ajuda da Gemini.
Outras dicas deste autor
Usando terminal do Xfce no Geany
Como instalar Steam no Debian e no LMDE
Modo scratchpad no i3wm
Sbopkg - Gerenciador de Pacotes para Slackware que usa Slackbuilds
CAVA não está "pulando" conforme a música [Resolvido]
Leitura recomendada
Debian - Corrigindo erro da Tela de Login pós-instalação do Java
Cedilha (ç) não funciona no Debian 10 Buster
Recuperando senha do root no Debian
Cópia de arquivos da mídia de instalação com Kickstart
Iniciando no Slackware em computador fraco
Comentários
Nenhum comentário foi encontrado.