🛠️ Como Ativar e Controlar o CPU Frequency Scaling no OpenWrt
Muitos roteadores com OpenWrt permitem ajustar a frequência da CPU através do CPU Frequency Scaling. Isso possibilita escolher entre modos como performance (máxima velocidade) ou powersave (economia de energia).
Neste guia você vai aprender:
- Como verificar se o seu roteador suporta CPU frequency scaling.
- Como aplicar um governor (modo de operação da CPU).
- Como criar um script para mudar facilmente o governor.
- Como ativar automaticamente na inicialização.
- Como remover/desinstalar tudo, caso não queira mais usar.
🔍 Passo 1 – Conectando ao OpenWrt via SSH
ssh root@192.168.1.1
(substitua pelo IP real do seu roteador, se for diferente)
⚡ Passo 2 – Verificar suporte ao CPU Frequency Scaling
No terminal, digite:
ls /sys/devices/system/cpu/cpu0/
Se existir a pasta cpufreq, seu roteador suporta CPU frequency scaling.
Se não existir → seu hardware ou kernel não tem suporte (fim do tutorial para este caso).
Para ver quais modos (governors) estão disponíveis:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
Exemplo de saída:
performance powersave ondemand conservative schedutil
⚙️ Passo 3 – Aplicar um governor manualmente
Se quiser mudar para performance (máxima velocidade), execute:
for CPU in /sys/devices/system/cpu/cpu[0-9]*; do
echo performance > "$CPU/cpufreq/scaling_governor"
done
Para powersave (economia de energia):
for CPU in /sys/devices/system/cpu/cpu[0-9]*; do
echo powersave > "$CPU/cpufreq/scaling_governor"
done
Verifique se foi aplicado:
for CPU in /sys/devices/system/cpu/cpu[0-9]*; do
cat "$CPU/cpufreq/scaling_governor"
done
📜 Passo 4 – Criar um script para facilitar a troca
Crie o arquivo:
nano /usr/bin/cpufreq_select.sh
Cole este conteúdo:
#!/bin/sh
# Script para aplicar o CPU governor em todos os núcleos
GOV="$1"
for CPU in /sys/devices/system/cpu/cpu[0-9]*; do
if [ -w "$CPU/cpufreq/scaling_governor" ]; then
echo "$GOV" > "$CPU/cpufreq/scaling_governor"
fi
done
Salvar (CTRL+O) e sair (CTRL+X).
Dar permissão de execução:
chmod +x /usr/bin/cpufreq_select.sh
Agora você pode trocar o governor facilmente:
/usr/bin/cpufreq_select.sh performance /usr/bin/cpufreq_select.sh powersave
🚀 Passo 5 – Aplicar automaticamente na inicialização
Crie um script em /etc/init.d/cpufreq:
nano /etc/init.d/cpufreq
Cole o conteúdo:
#!/bin/sh /etc/rc.common
START=99
start() {
/usr/bin/cpufreq_select.sh performance
}
Salvar e sair.
chmod +x /etc/init.d/cpufreq
Ativar no boot:
/etc/init.d/cpufreq enable
Testar agora:
/etc/init.d/cpufreq start
❌ Passo 6 – Como desinstalar (remover tudo)
Se não quiser mais usar, basta apagar os arquivos criados:
/etc/init.d/cpufreq stop /etc/init.d/cpufreq disable rm -f /etc/init.d/cpufreq rm -f /usr/bin/cpufreq_select.sh
Resumo dos Governadores de CPU
| Governor | Descrição |
|---|---|
| performance | Fixa a CPU na frequência máxima. Máximo desempenho, maior consumo. |
| powersave | Fixa a CPU na frequência mínima. Economia de energia, baixo desempenho. |
| ondemand | Aumenta a frequência sob carga e reduz quando ociosa. Bom equilíbrio. |
| conservative | Parecido com ondemand, mas aumenta a frequência de forma mais gradual. |
| schedutil | Usa o escalonador do kernel para ajustar a frequência de forma inteligente. |
Pronto, seu OpenWrt volta ao estado original, sem scripts extras.
✅ Conclusão
Com esse tutorial você:
- Descobriu se seu roteador suporta CPU frequency scaling.
- Aprendeu a aplicar governors manualmente.
- Criou um script para facilitar a troca.
- Configurou para iniciar automaticamente.
- E ainda viu como remover tudo caso mude de ideia.
