Questão Como controlar a velocidade do ventilador?


Como posso controlar a velocidade do ventilador do computador?

No Windows há um maravilhoso programa chamado SpeedFan.


153
2018-01-18 11:26


origem


Eu coloquei uma simples solução cron para placas da ATI aqui askubuntu.com/a/875241/375427 - Pavel Niedoba
No linux, fancontrol é configurado usando pwmconfig. Usar watch sensors para observar sensores sob carga de CPU e GPU. Use esses valores em marcha lenta e carga total para definir MINTEMP e MAXTEMP respectivamente, com INTERVAL=1. Isso acelera seus fãs em tempo real conforme a carga aumenta. Este é o resfriamento mais ativo, fornecendo uma linha de base para ajustes adicionais. Corre pwmconfig uma vez e depois editar /etc/fancontrol diretamente. Corre sudo service fancontrol restart após cada ajuste. - Dominic Cerisano


Respostas:


Nota antes de começar:

Essa funcionalidade depende do hardware e do software. Se o seu hardware não suporta controles de velocidade do ventilador, ou não os mostra no sistema operacional, é muito provável que você não possa usar esta solução. Se isso acontecer, mas o software (aka kernel) não sabe como controlá-lo, você está sem sorte.


  1. Instale o sensores de lm e controle do ventilador pacotes.
  2. Configurar sensores de lm 

    1. No tipo de terminal sudo sensors-detect e responda SIM a todas as perguntas SIM / NÃO.
    2. No final da detecção de sensores, será exibida uma lista de módulos que precisam ser carregados. Digite "yes" para que os sensores detectem esses módulos em / etc / modules, ou edite o / etc / modules você mesmo.
    3. Corre sudo service module-init-tools restart. Isso lerá as alterações feitas em /etc/modules na etapa 3 e insira os novos módulos no kernel.
      • Nota: Se você estiver executando o Ubuntu 13.04 ou superior, este comando do 3º passo deve ser substituído por sudo service kmod start.
  3. Configurar controle do ventilador

    1. No tipo de terminal sudo pwmconfig . Este script irá parar cada fã por 5 segundos para descobrir quais fãs podem ser controlados pelo qual o PWM manipula. Depois que o script percorre todos os fãs, você pode configurar qual fã corresponde a qual temperatura.
    2. Você terá que especificar quais sensores usar. Isso é um pouco complicado. Se você tiver apenas um ventilador, certifique-se de usar um sensor de temperatura para o seu núcleo para basear a velocidade de controle do ventilador.
    3. Execute os prompts e salve as alterações no local padrão.
    4. Faça ajustes para ajustar /etc/fancontrol E use sudo service fancontrol restart para aplicar suas alterações. (No meu caso eu configurei o intervalo para 2 segundos).
  4. Configuração controle do ventilador serviço

    1. Corre sudo service fancontrol start. Isso também fará com que o serviço fancontrol seja executado automaticamente na inicialização do sistema.

No meu caso /etc/fancontrol para CPU eu usei:

Settings for hwmon0/device/pwm2:  
Depends on hwmon0/device/temp2_input  
Controls hwmon0/device/fan2_input  
MINTEMP=40  
MAXTEMP=60  
MINSTART=150  
MINSTOP=0  
MINPWM=0  
MAXPWM=255 

127
2018-01-08 16:38



Eu tentei seguir o seu guia, mas fiquei preso no passo três com este erro: / usr / sbin / pwmconfig: Não existem módulos sensores com capacidade de pwm instalados - tamale
Eu tive o mesmo problema com o pwmconfig até executar o sudo sensors-detect - Gearoid Murphy
O que fazer se o sudo sensors-detect não apresentar sensores? -> Desculpe, nenhum sensor foi detectado. O seu sistema não possui sensores ou não são suportados ou estão conectados a um adaptador I2C ou SMBus que não é suportado. Se você descobrir quais chips estão na sua mesa, verifique lm-sensors.org/wiki/Devices para o status do driver. - H3R3T1K
Se você está tendo problemas, certifique-se de verificar o seu dmesg para mensagens de erro. No meu caso, mudanças recentes no kernel me impediram de carregar o driver necessário, e eu tive que adicionar acpi_enforce_resources=lax às minhas opções de kernel para recuperar a funcionalidade antiga. Veja também: goo.gl/tUcr36 - bukzor
Eu tentei isso e não posso ir além do sudo pwmconfig, porque eu recebo: "Não há módulos de sensor com capacidade de pwm instalados". Isso ocorre depois que o comando detectores de sensores encontra um 'sensor térmico digital Intel'. Eu também tentei esse parâmetro do kernel. Alguém pode sugerir uma solução? - Sman789


Se você possui um ThinkPad, existe um software chamado thinkfan isso faz exatamente isso. Como o nome obviamente sugere, é feito especificamente para os ThinkPads (thinkpad_acpi).

o thinkfan O software está disponível nos repositórios de software padrão do Ubuntu, mas requer alguns passos para configurar.

Aqui está um guia passo a passo fácil:

http://staff.science.uva.nl/~kholshei/thinkfan_guide/

(que é basicamente uma versão traduzida deste guia alemão: http://thinkwiki.de/Thinkfan)


Informações Relevantes da Publicação:

Passo 1. Instale o software thinkfan e os sensores:

sudo apt-get install thinkfan lm-sensors

Passo 2. Certifique-se de que o daemon controle o ventilador editando o arquivo thinkpad.conf:

sudo nano /etc/modprobe.d/thinkfan.conf

adicionando a seguinte linha:

options thinkpad_acpi fan_control=1

Etapa 3. Faça o daemon carregar automaticamente na inicialização editando o arquivo:

sudo nano /etc/default/thinkfan

certificando-se de que a tecla START está definida como sim, ou seja, deve haver uma linha que diz:

START=yes

Passo 4. Detectar os sensores do seu laptop:

sudo sensors-detect

e basta escolher as respostas padrão sempre que for solicitado, pressionando Enter.

5º passo Carregue os novos módulos. Do Ubuntu 13.10 isso feito por:

sudo service kmod start

enquanto que para versões anteriores como 13.04 você precisará fazer:

sudo service module-init-tools start

6º passo Descobrir quais sensores estão em uso:

sensors

(os que indicam 0 graus não estão em uso, não sei por que eles são "detectados" também). Lembre-se de quais estão em uso.

Etapa 7 Descubra os caminhos completos desses sensores:

find /sys/devices -type f -name "temp*_input"

A saída deve ser uma lista de caminhos como / sys / devices / ...

8º passo Copie e cole os caminhos para os sensores no arquivo de configuração /etc/thinkpad.conf. Para fazer isso, primeiro abra o arquivo:

sudo nano /etc/thinkfan.conf

Já deveria haver uma linha como

#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3) 

(o # -symbol significa que essa linha está comentada). Adicione uma linha começando com o sensor (sem o símbolo #) e copie e cole o primeiro sensor. Repita isso se você tiver mais de um sensor. Por exemplo, na minha máquina, a saída na etapa 7 produz

/sys/devices/virtual/hwmon/hwmon0/temp1_input
/sys/devices/platform/thinkpad_hwmon/temp3_input
/sys/devices/platform/thinkpad_hwmon/temp4_input
/sys/devices/platform/thinkpad_hwmon/temp5_input
/sys/devices/platform/thinkpad_hwmon/temp6_input
/sys/devices/platform/thinkpad_hwmon/temp7_input
/sys/devices/platform/thinkpad_hwmon/temp1_input
/sys/devices/platform/thinkpad_hwmon/temp8_input
/sys/devices/platform/thinkpad_hwmon/temp2_input
/sys/devices/platform/coretemp.0/temp4_input
/sys/devices/platform/coretemp.0/temp2_input 

Os que estão em uso na minha máquina são os da primeira e da última duas linhas, então adicionei as três linhas:

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input 

9º passo Finalmente, podemos definir os níveis de velocidade do ventilador no arquivo de configuração. Abra o arquivo /etc/thinkpad.conf, se já não estiver aberto.

sudo nano /etc/thinkfan.conf

Os níveis de ventoinha que uso no meu ThinkPad x201 são:

(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767) 

A última linha garante a velocidade total da ventoinha (127 = "desengatada", isto é, não regulada). Você pode mexer com esses níveis para atender às suas necessidades / desejos, mas POR FAVOR, SEJA CUIDADO!

10º passo Reinicie. Tudo deve funcionar agora. A fim verificar se o thinkpad está correndo corretamente, use

sudo thinkfan -n

que começa a pensar no modo detalhado. Você pode querer parar o daemon thinkfan primeiro:

sudo /etc/init.d/thinkfan stop

Se você quiser iniciar o daemon do thinkfan novamente, digite:

sudo /etc/init.d/thinkfan start

Apenas para completar, meu arquivo de configuração /etc/thinkfan.conf é:

# IMPORTANT:
#
# To keep your HD from overheating, you have to specify a correction value for
# the sensor that has the HD's temperature. You need to do this because
# thinkfan uses only the highest temperature it can find in the system, and
# that'll most likely never be your HD, as most HDs are already out of spec
# when they reach 55 °C.
# Correction values are applied from left to right in the same order as the
# temperatures are read from the file.
#
# For example:
# sensor /proc/acpi/ibm/thermal (0, 0, 10)
# will add a fixed value of 10 °C the 3rd value read from that file. Check out
# http://www.thinkwiki.org/wiki/Thermal_Sensors to find out how much you may
# want to add to certain temperatures.

# Syntax:
# (LEVEL, LOW, HIGH)
# LEVEL is the fan level to use (0-7 with thinkpad_acpi)
# LOW is the temperature at which to step down to the previous level
# HIGH is the temperature at which to step up to the next level
# All numbers are integers.
#

# I use this on my T61p:
#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3)

#(0, 0, 55)
#(1, 48, 60)
#(2, 50, 61)
#(3, 52, 63)
#(4, 56, 65)
#(5, 59, 66)
#(7, 63, 32767)


# My settings for my ThinkPad X201: (kris)

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input

(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767)

34
2018-05-14 15:54



Um comentário: você quer ter uma sobreposição maior de valores de temperatura, como na tabela comentada. Especialmente na faixa 45-55. Caso contrário, a velocidade do ventilador continua invertendo. Isso é muito perturbador. (O ruído constante do ventilador não perturba tanto quanto o ruído flutuante.) - HongboZhu
Nós (a comunidade linux) realmente somos péssimos no UX. :( Definir uma velocidade do ventilador não deve ser um processo de 10 etapas. - Alexander
@ Alexander Se você se sentir fortemente sobre isso, você está livre para escrever e manter um pequeno programa para automatizar este processo. - Kris
@Kris Eu estaria mais inclinado a modificar o programa original para não ter um processo de configuração tão absurdo. Infelizmente, eu não tenho um thinkpad, eu estava apenas passando por este post procurando por opções de controle de ventilador disponíveis no mercado. - Alexander
/etc/modprobe.d/thinkfan.conf  não existe no meu Ubuntu 14.04. E agora? - Youda008


Para vários computadores Dell, você pode instalar o pacote i8kutils:

sudo apt install i8kutils

Se você tem uma Dell não testada (como o Dell XPS 14z), talvez seja necessário forçar o carregamento do módulo do kernel:

sudo modprobe i8k force=1

12
2018-01-18 14:28



Eu tenho o Dell XPS 14 L421X. <code> sensors </ code> não mostrou fãs. depois de instalar o pacote i8kutils, recebo sensores coretemp-isa-0000 Adaptador: adaptador ISA ID Físico 0: + 54.0 ° C (alto = + 87.0 ° C, crit = + 105.0 ° C) Núcleo 0: + 50.0 ° C (alto = + 87,0 ° C, crit = + 105,0 ° C) Núcleo 1: + 52,0 ° C (alto = + 87,0 ° C, crítico = + 105,0 ° C) i8k-virtual-0 Adaptador: Dispositivo virtual Ventilador direito: 0 RPM CPU: + 55,0 ° C - philcolbourn
Isso funciona para hp? - Immortal Player
@ Jogador imortal, acho que não. O módulo do kernel é especificamente projetado para máquinas Dell. - morhook


Instale e configure o sensores de lm e controle do ventilador pacotes:

sudo apt-get install lm-sensors fancontrol

A documentação para configurá-los está disponível em suas páginas man.

Esta é uma função que deve ser fornecida por um BIOS compatível com ACPI, mas parece que a maioria dos fornecedores de placas-mãe não se preocupam em seguir o padrão.


7



Você pode fornecer instruções mais detalhadas sobre como instalá-las e usá-las? - Stefano Palazzo♦
Você pode encontrar isso na página man, ou em www.lm-sensors.org. - psusi
Eu sei, eu pensei que esta resposta poderia ser melhor :) - Stefano Palazzo♦
O link que o @psusi deu não funciona, o novo link está aqui: github.com/groeck/lm-sensors - Svetlana Belkin
Eu acho que você tem um nome de usuário incorreto. - markroxor