ACPI
Sim. Se o seu hardware suporta Advanced Configuration and Power Interface (ACPI), então existem módulos carregáveis para ACPI apoio.
Infelizmente, a maioria (se não todos) os módulos são alvejando laptops.
Você pode ver se tem alguma configuração relacionada aos fãs que usam sysctl
:
# sysctl hw.acpi
Mas, em vez de ajustar manualmente a velocidade do ventilador, ele deve ser ajustado automaticamente de acordo com a temperatura e a carga. No FreeBSD isso é tratado pelo powerd que está desabilitado por padrão.
Assim, mesmo que os ventiladores não sejam expostos diretamente, você poderá ajustá-los, mas ajustando a frequência da CPU. Alguns BIOS então ajustam a velocidade do ventilador de acordo (se dentro da faixa de temperatura razoável também).
Exemplo de configuração em /etc/rc.conf
powerd_enable="YES"
powerd_flags="-a adaptive"
performance_cx_lowest="C2" # Online CPU idle state
performance_cpu_freq="1399" # Online CPU frequency
economy_cx_lowest="C3" # Offline CPU idle state
economy_cpu_freq="NONE" # Offline CPU frequency
O sysctl hw.acpi
também será exibido se qualquer uma das configurações acima puder entrar em vigor.
IPMI
Se você não tiver sorte na rota da ACPI, talvez a Interface de gerenciamento inteligente da plataforma (IPMI) possa ser útil para você. No entanto, isso normalmente só está disponível em placas-mãe de servidor com um BMC.
Quando o servidor é inicializado, os ventiladores são executados nas velocidades padrão do BIOS até que o SO assuma o controle. Se o sistema operacional não assumir (ou seja, usando ACPI), a CPU e os ventiladores geralmente são executados a todo vapor. Embora os limites não estejam diretamente disponíveis na tela de configuração do BIOS, em vários casos, isso pode ser definido usando o IPMI.
O FreeBSD tem um driver IPMI e você pode instalar sysutils / ipmitool para brincar com as configurações.
O seguinte snippet de servethehome.com deve funcionar para algumas placas SuperMicro (X9 / X10 / X11):
#set fan mode to "full"
ipmitool raw 0x30 0x45 0x01 0x01
#set fans in "system" zone to 37.5%
ipmitool raw 0x30 0x70 0x66 0x01 0x00 0x24
#set fans in "peripheral" zone to 25%
ipmitool raw 0x30 0x70 0x66 0x01 0x01 0x16
OBSERVAÇÃO: O modo de ventoinha é ajustado para cheio no início, já que o BMC não parece mudar a velocidade do ventilador se não.
Hardware
Se tudo mais falhar, compre um controlador de ventoinha de hardware barato: -).