Cómo controlar la velocidad del ventilador?

¿Cómo puedo controlar la velocidad del ventilador de la computadora?

En Windows hay un maravilloso programa llamado SpeedFan.

Nota antes de comenzar:

Esta funcionalidad depende tanto de su hardware como de su software. Si su hardware no es compatible con los controles de velocidad del ventilador, o no los muestra al sistema operativo, es muy probable que no pueda usar esta solución. Si lo hace, pero el software (también conocido como kernel) no sabe cómo controlarlo, no tiene suerte.


  1. Instale el lm-sensores y fancontrol paquete.

  2. Configurar lm-sensores como sigue:

    1. En tipo de terminal sudo sensors-detect y responda SÍ a todas las preguntas de SÍ/no.
      (Potencialmente, esto puede dañar su sistema o causar un bloqueo del sistema. Para muchos sistemas, es seguro. No hay garantía de que este proceso no dañe su sistema de forma permanente, solo creo que la posibilidad de una falla tan crítica es muy, muy bajo. Guardar todo su trabajo para posibles bloqueos/congelaciones/reinicios antes de manejar la configuración del sistema siempre es una buena idea. Si no está seguro, lea los comentarios e intente buscar en la web y obtener una descripción general de alto nivel antes de responder a todo, tal vez sea suficiente ser selectivo con sus respuestas afirmativas)

    2. Al final de sensores-detectar, se mostrará una lista de módulos que deben cargarse. Escriba & quot; sí" para que sensors-detect inserte esos módulos en /etc/modules, o edite /etc/modules usted mismo.

    3. Ejecutar sudo service kmod start Esto leerá los cambios que realizó en /etc/modules en el paso 3, e inserte los nuevos módulos en el núcleo.

      • Nota: Si está ejecutando Ubuntu 12.04 o inferior, este comando de 3er paso debe reemplazarse por sudo service module-init-tools restart
  3. Configurar fancontrol

    1. En tipo de terminal sudo pwmconfig . Este script detendrá cada ventilador durante 5 segundos para averiguar qué ventiladores pueden controlarse mediante qué controlador PWM. Después de que el script recorre todos los ventiladores, puede configurar qué ventilador corresponde a qué temperatura.
    2. Tendrá que especificar qué sensores usar. Esto es un poco complicado. Si solo tiene un ventilador, asegúrese de usar un sensor de temperatura para su núcleo para basar la velocidad de fancontrol.
    3. Siga las indicaciones y guarde los cambios en la ubicación predeterminada.
    4. Realice ajustes para afinar /etc/fancontrol y uso sudo service fancontrol restart para aplicar los cambios. (En mi caso, establecí el intervalo en 2 segundos.)
  4. Configurar fancontrol Servicio

    1. Ejecutar sudo service fancontrol start. Esto también hará que el servicio fancontrol se ejecute automáticamente al iniciar el sistema.

En mi caso /etc/fancontrol para la CPU que utilicé:

Configuración de hwmon0 / dispositivo / pwm2:
(Depende de hwmon0 / device / temp2_input) (Controla hwmon0/device / fan2_input)

  INTERVAL=2  MINTEMP=40    MAXTEMP=60    MINSTART=150    MINSTOP=0    MINPWM=0    MAXPWM=255 

y en un sistema diferente es:

  INTERVAL=10  DEVPATH=hwmon1=devices/platform/coretemp.0 hwmon2=devices/platform/nct6775.2608  DEVNAME=hwmon1=coretemp hwmon2=nct6779  FCTEMPS=hwmon2/pwm2=hwmon1/temp2_input  FCFANS=hwmon2/pwm2=hwmon2/fan2_input  MINTEMP=hwmon2/pwm2=49  MAXTEMP=hwmon2/pwm2=83  MINSTART=hwmon2/pwm2=150  MINSTOP=hwmon2/pwm2=15  MINPWM=hwmon2/pwm2=14  MAXPWM=hwmon2/pwm2=255

aqui es útil información sobre la configuración y lo que realmente hacen

Si usted es dueño de un ThinkPad, hay un software llamado thinkfan eso hace exactamente esto. Como su nombre indica, está hecho específicamente para ThinkPads (thinkpad_acpi).

El thinkfan el software está disponible en los repositorios de software estándar de Ubuntu, pero requiere algunos pasos para configurarlo.

Aquí hay una guía fácil paso a paso:

http://www.lxle.net/forums/discussion/821/how-to-set-up-thinkfan-on-a-lenovo-thinkpad-t430/p1

(que es básicamente una versión traducida de esta guía en alemán:http://thinkwiki.de/Thinkfan)


Información relevante de Post:

Paso 1. Instale el software thinkfan y los sensores:

sudo apt-get install thinkfan lm-sensors

Paso 2. Asegúrese de que el demonio controla el ventilador editando el thinkpad.archivo conf:

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

añadiendo la siguiente línea:

options thinkpad_acpi fan_control=1

Paso 3. Haga que el demonio se cargue automáticamente al inicio editando el archivo:

sudo nano /etc/default/thinkfan

asegurándose de que la tecla de INICIO esté configurada en sí, es decir, debe haber una línea que diga:

START=yes

Paso 4. Detecta los sensores de tu portátil:

sudo sensors-detect

y simplemente elija las respuestas predeterminadas cada vez que se le solicite presionando Enter.

Paso 5. Carga los nuevos módulos. Desde ubuntu 13.10 esto hecho por:

sudo service kmod start

mientras que para versiones anteriores como 13.04, en su lugar, deberá hacer:

sudo service module-init-tools start

Paso 6. Averiguar qué sensores están en uso:

sensors

(los que indican 0 grados no están en uso, no se por qué se "detectan" también). Recuerda cuáles están en uso.

Paso 7. Descubra las trayectorias completas de estos sensores:

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

La salida debe ser una lista de rutas como / sys / devices/...

Paso 8. Copie y pegue las rutas de acceso a los sensores en el archivo de configuración /etc / thinkpad.conf. Para hacer esto, primero abra el archivo:

sudo nano /etc/thinkfan.conf

Ya debería haber una línea como

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

(el símbolo #significa que esa línea está comentada). Agregue una línea que comience con sensor (sin el símbolo#) y copie y pegue su primer sensor. Repita este procedimiento si tiene más de un sensor. Por ejemplo, en mi máquina, la salida en el paso 7 produce

/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 

Los que están en uso en mi máquina son los de la primera y las dos últimas líneas, así que agregué las tres líneas:

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_inputsensor /sys/devices/platform/coretemp.0/temp4_inputsensor /sys/devices/platform/coretemp.0/temp2_input 

Paso 9. Finalmente podemos establecer los niveles de velocidad del ventilador en el archivo de configuración. Abra el archivo/etc / thinkpad.archivo conf si aún no estaba abierto.

sudo nano /etc/thinkfan.conf

Los niveles de ventilador que uso en mi ThinkPad x201 son:

(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) 

La última línea asegura la velocidad total del ventilador (127 = "desacoplado", es decir, no regulado). Usted puede jugar con estos niveles para adaptarse a sus necesidades/deseos, pero POR FAVOR TENGA CUIDADO!

Paso 10. Reiniciar. Todo debería funcionar ahora. Para comprobar si el thinkpad funciona correctamente, utilice

sudo thinkfan -n

que inicia thinkfan en modo detallado. Es posible que desee detener el demonio thinkfan primero:

sudo /etc/init.d/thinkfan stop

Si desea iniciar el demonio thinkfan de nuevo, escriba:

sudo /etc/init.d/thinkfan start

Para completar, mi /etc / thinkfan.el archivo de configuración conf es:

# 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_inputsensor /sys/devices/platform/coretemp.0/temp4_inputsensor /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)

Para varias computadoras Dell, puede instalar el paquete i8kutils:

sudo apt install i8kutils

Si tiene un Dell no probado (como Dell XPS 14z, Dell XPS 15 9550 o incluso Alienware M15 R4), es posible que deba forzar la carga del módulo del kernel:

sudo modprobe i8k force=1

Si desea controlar los ventiladores, es posible que deba seguir una guía más completa: El ventilador cambia entre velocidad máxima y apagado en Dell G5

Instale y configure el lm-sensores y fancontrol paquete:

sudo apt-get install lm-sensors fancontrol

La documentación para configurarlos está disponible en sus páginas de manual.

Esta es una función que se supone que debe ser proporcionada por un BIOS compatible con ACPI, pero parece que la mayoría de los proveedores de placas base no se molestan en seguir el estándar.

Aquí hay un respuesta actualizada, basado en el respuesta recomendando thinkfan pero trabajando con Ubuntu 19.04, y también en otras computadoras que no sean solo ThinkPads.

1. Configuración

Las instrucciones que se indican a continuación se aplican a cualquier ThinkPad que tenga /proc/acpi/ibm/fan y /proc/acpi/ibm/thermal dispositivos "heredados". Esto evita tener que instalar el lm-sensors paquete.

Sin embargo, aún puede optar por instalar lm-sensors. Le dará más sensores de temperatura y un control más detallado sobre sus ventiladores, es decir, en 256 pasos PWM en lugar de los pasos fijos "0-7 y 127" con los dispositivos heredados. Además, dado que thinkfan ahora puede trabajar con lm-sensors sin embargo, ya no es específico para computadoras IBM / Lenovo ThinkPad. Por favor refiérase a man thinkfan para el uso de estos dispositivos sensores "extendidos". Además, hay información actualizada en el Thinkwiki alemán.

  1. Instale el paquete requerido:

    sudo apt install thinkfan
  2. Agregue la siguiente línea a /etc/modprobe.d/thinkfan.conf:

    options thinkpad_acpi fan_control=1
  3. Configure el thinkfan servicio que se inicia automáticamente al iniciar el sistema:

    1. Añadir una línea START=yes a /etc/default/thinkfan

    2. Ejecute el siguiente comando (fuente):

      sudo systemctl enable thinkfan.service
  4. Adaptar /etc/thinkfan.conf con los punteros correctos para los dispositivos y los niveles de ventilador que desee. Los comentarios proporcionan documentación. En cualquier Thinkpad con el legado fan y thermal sin embargo, lo siguiente debería proporcionar un buen punto de partida (también debería ser seguro para el disco duro, consulte los comentarios en el archivo para obtener más información). Tenga en cuenta que esto utiliza nuevas palabras clave – las de la otra respuesta ahora están en desuso.

    tp_fan /proc/acpi/ibm/fantp_thermal /proc/acpi/ibm/thermal(0, 0, 47)(1, 43, 52)(2, 48, 55)(3, 51, 58)(4, 54, 63)(5, 59, 70)(6, 66, 79)(7, 74, 92)(127, 85, 32767) 

2. Prueba

Para probar su configuración (después de un reinicio), puede hacer lo siguiente:

  • En una ventana de terminal, ejecute thinkfan no endemoniada modo que usted puede ver sus mensajes:

    sudo service thinkfan stop && sudo thinkfan -n
  • En otra ventana de terminal, vigile los valores de temperatura actuales, suministrando su dispositivo de sonda de temperatura si es diferente:

    while true; do sleep 1; cat /proc/acpi/ibm/thermal; done
  • En otra ventana de terminal, haga algo de calor en la CPU (e interrumpa con Ctrl + C en caso de que algo en la gestión térmica no funcione como se esperaba):

    sudo apt install stress-ngstress-ng --cpu-1

Intente buscar en la configuración de UEFI (o BIOS) de su PC. Es posible que haya una configuración para el control del ventilador en la que pueda colocar el ventilador en Silent Mode, Performance Mode, Full Speed, Customize, sucesivamente.

Cómo acceder a la configuración de UEFI: Reinicie su PC y la clave para ingresarlos probablemente aparecerá en una de las esquinas (p. ej. Press F2 to enter UEFI setup)

ASRock UEFI setup for fan control

El script lo ejecuto cada pocos segundos para mantener mi servidor Dell fresco y silencioso. Actualice el get_temp para su hardware.

#!/bin/env python3import osimport jsonMIN_FAN = 5MAX_FAN = 100MIN_TEMP = 50 # fans at min at this tempMAX_TEMP = 80 # fans at max at this tempTEMP_POW = 3 # decrease for cooler server, increase for quiterdef get_temp():    sensors = json.loads(os.popen('/usr/bin/sensors -j').read())    temp0 = sensors["coretemp-isa-0000"]["Package id 0"]["temp1_input"]    temp1 = sensors["coretemp-isa-0001"]["Package id 1"]["temp1_input"]    return max(temp0, temp1)def determine_fan_level(temp):    x = min(1, max(0, (temp - MIN_TEMP) / (MAX_TEMP - MIN_TEMP)))    return int(min(MAX_FAN, max(MIN_FAN, pow(x, TEMP_POW)*(MAX_FAN-MIN_FAN) + MIN_FAN)))def set_fan(fan_level):    # manual fan control    os.system("ipmitool raw 0x30 0x30 0x01 0x00")    # set fan level    cmd = "ipmitool raw 0x30 0x30 0x02 0xff " + hex(fan_level)    os.system(cmd)temp = get_temp()fan = determine_fan_level(temp)print("temp", temp, "fan", fan)set_fan(fan)

En Linux, fancontrol 'se configura usando 'pwmconfig'. Use 'observar sensores' para observar los sensores bajo carga de CPU y GPU. Use esos valores en reposo y a plena carga para establecer MINTEMP y 'MAXTEMP' respectivamente, con 'INTERVAL=1'. Esto aumenta sus ventiladores en tiempo real a medida que aumenta la carga. Este es el enfriamiento más activo, que proporciona una línea de base para ajustes adicionales. Ejecute 'pwmconfig' una vez, y luego edite /etc/fancontrol ’ directamente. Ejecute ‘sudo service fancontrol restart’ después de cada ajuste.

Puse una solución cron simple para tarjetas ATI aquí fan - How can I see the GPU temperture of my ATI graphics card? - Ask Ubuntu