thinkfan control não usa todo o potencial do ventilador quando necessário

4

Eu possuo um Thinkpad x201 e estou superaquecendo muito rápido por causa da temperatura ambiente e eventualmente se mata sem aviso prévio (e isso realmente mói minhas engrenagens).

No exterior, há 34 graus C, enquanto o computador sobe a sua temperatura em 80 sem tarefas importantes e atinge (com 1 deg cada segundo) a 100 graus com uma tarefa mais pesada.

Eu segui uma diretriz para iniciar o ventilador mais cedo, para que ele mantenha a temperatura constante ou quando estiver em uma temperatura crítica para usar a velocidade máxima, mas ele ainda adere aos valores automáticos.

Os aspectos técnicos

O recurso que usei está localizado aqui: link

Eu ajustei os valores para que o ventilador começasse em temperaturas mais baixas, começando com 0 a 20 graus para o nível 0 e assim por diante.

Minha configuração para /etc/thinlfan.conf é:

$ tail -n 15 /etc/thinkfan.conf

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, 21)
(1, 20, 22)
(2, 21, 25)
(3, 24, 28)
(4, 26, 33)
(5, 30, 40)
(6, 36, 49)
(7, 44, 62)
(128, 60, 65)
(129, 63, 100000)

Os últimos dois valores são experimentais.

quando eu corro:

$ sudo thinkfan -n

WARNING: Using default fan control in /proc/acpi/ibm/fan.

quando eu corro:

$ echo level disengaged | sudo tee /proc/acpi/ibm/fan 

O ventilador gira a aprox. 6500 RPM que é realmente efetivo (a temperatura cai lentamente) mas permanece neste nível por aproximadamente 5 segundos depois de voltar para o modo automático.

A minha pergunta é: Como posso definir manualmente a velocidade do ventilador para o seu potencial máximo nestes dias quentes / Como posso ajustar os valores para que a temperatura não aumente tanto?

Hoje é a primeira vez que tento isso, então não espere que eu tenha uma pista do que posso tentar, além de definir um cron job que defina o nível em cada segundo - o que é uma idéia ruim.

E a última coisa: não posso deixar de trabalhar e, o mais importante, prefiro trocar o ventilador de vez em quando, em vez do processador.

Obrigado pela sua ajuda e compreensão, se você precisar de outros detalhes, me avise.

Ah ... aqui está o meu lsb_release:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 13.10
Release:        13.10
Codename:       saucy

... e uname:

$  uname -r      
3.11.0-23-generic
    
por Tiberiu C. 10.06.2014 / 19:19

3 respostas

4

Tente esta configuração, ela funciona bem em um Lenovo ThinkPad L512 / L520:

Instale o thinkfan

sudo apt-get install -y thinkfan

Configure os módulos do kernel

echo "options thinkpad_acpi fan_control=1" > /etc/modprobe.d/thinkpad_acpi.conf

Recarregar o módulo do kernel

modprobe -r thinkpad_acpi && modprobe thinkpad_acpi

Configure o thinkfan

sudo sed -i 's|START=no|START=yes|' /etc/default/thinkfan
sudo sed -i 's|DAEMON_ARGS="-q"|DAEMON_ARGS="-q -b 1 -s 15"|' /etc/default/thinkfan

cat <<EOF> /etc/thinkfan.conf
hwmon /sys/devices/virtual/hwmon/hwmon0/temp1_input
(0, 0,  65)
(1, 65, 70)
(2, 70, 75)
(3, 75, 80)
(4, 80, 85)
(5, 85, 90)
(7, 90, 32767)
EOF

Reinicie o daemon do thinkfan

/etc/init.d/thinkfan restart
    
por panticz.de 09.04.2015 / 23:22
3

Eu usei no meu Lenovo Thinkpad x220 (esta é uma resposta atualizada relacionada a sistemas com systemd

sudo -i
  • instale o thinkfan

    apt install thinkfan
    
  • configure o módulo do kernel

    echo "options thinkpad_acpi fan_control=1" > /etc/modprobe.d/thinkfan.conf
    
  • recarregue o módulo do kernel

    modprobe thinkpad_acpi
    
  • configure a configuração padrão do thinkfan

    sed -i 's|START=no|START=yes|' /etc/default/thinkfan
    sed -i 's|DAEMON_ARGS="-q"|DAEMON_ARGS="-q -b 1 -s 15"|' /etc/default/thinkfan
    
  • Verifique seus sensores

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

e este é o resultado no meu Lenovo Thinkpad x220:

/sys/devices/virtual/hwmon/hwmon0/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input
  • escreva em /etc/thinkpad.conf com base nos resultados acima

    tp_fan /proc/acpi/ibm/fan
    hwmon /sys/devices/virtual/hwmon/hwmon0/temp1_input
    hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input
    hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
    hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input
    (0,     0,      40)
    (1,     32,     55)
    (2,     54,     66)
    (3,     65,     76)
    (4,     75,     80)
    (5,     78,     85)
    (6,     82,     88)
    (7,     85,     32767)
    
  • Ative o serviço para que ele seja iniciado automaticamente a cada privilégio de inicialização e descarte.

    systemctl enable thinkfan
    exit
    
  • Reinicie seu notebook

    systemctl enable thinkfan
    
  • Após a reinicialização, verifique o serviço

    systemctl status thinkfan.service
    

o resultado será assim:

● thinkfan.service - simple and lightweight fan control program
   Loaded: loaded (/lib/systemd/system/thinkfan.service; enabled; vendor preset: enabled)
   Active: active (running) since Jum 2016-10-07 20:09:30 WIB; 28min ago
  Process: 2494 ExecStart=/usr/sbin/thinkfan (code=exited, status=0/SUCCESS)
 Main PID: 2496 (thinkfan)
   CGroup: /system.slice/thinkfan.service
           └─2496 /usr/sbin/thinkfan

Okt 07 20:09:30 thinkpad-x220 systemd[1]: Starting simple and lightweight fan control program...
Okt 07 20:09:30 thinkpad-x220 thinkfan[2494]: thinkfan 0.9.1 starting...
Okt 07 20:09:30 thinkpad-x220 thinkfan[2494]: Daemon PID: 2496
Okt 07 20:09:30 thinkpad-x220 systemd[1]: Started simple and lightweight fan control program.
    
por isandroid 07.10.2016 / 15:38
0

Depois de mais algumas pesquisas, consegui fazê-lo funcionar como queria.

Limites de temperatura personalizados - configuração da velocidade do ventilador

Instalei thinkfan do apt (para ser honesto, não me lembro se já foi instalado ou não: -S)

Para ter certeza, verifique se você tem um processo chamado thinkfan

CLI:

ps -ef | grep thinkfan

e se não estiver lá, instale-o com

CLI:

sudo apt-get install thinkfan 

A configuração está em /etc/thinkfan.conf

A temperatura de mapeamento - velocidade é definida como no snippet a seguir:

...
(0, 0, 21)
(1, 20, 22)
(2, 21, 25)
...

Cada grupo define os seguintes valores (level, minTemperature, maxTemperature), Outra regra é que os grupos têm que se sobrepor entre si.

O nível é definido como um inteiro e não como uma string, como eu pensava inicialmente, assim:

  • 0 - 7 - oito pontos de nível de 0 a ~ 4200RPM
  • 126 - velocidade máxima
  • 127 - desengatado ~ 6900RPM

Minha configuração em /etc/thinkfan.conf agora parece assim:

(0, 0, 21)
(1, 20, 22)
(2, 21, 25)
(3, 24, 28)
(4, 26, 33)
(5, 30, 40)
(6, 36, 49)
(7, 44, 52)
(126, 50, 59)
(127, 57, 100000)

Os valores para as temperaturas são mais ou menos calculados a partir dos gráficos do psensor , que mostraram muito claramente que eu tenho um ineficiente fã, mas acho que é normal, considerando que o laptop é bastante antigo.

    
por Tiberiu C. 21.11.2014 / 10:12