Как контролировать скорость вращения вентилятора?

139

Как я могу контролировать скорость вращения вентилятора компьютера?

В Windows есть замечательная программа под названием SpeedFan .

    
задан GrizzLy 18.01.2011 в 12:26
источник

4 ответа

114

Примечание перед запуском:

Эта функциональность зависит как от вашего оборудования, так и от программного обеспечения. Если ваше оборудование не поддерживает управление скоростью вращения вентилятора или не отображает их в ОС, очень вероятно, что вы не сможете использовать это решение. Если это так, но программное обеспечение (как ядро) не знает, как его контролировать, вам не повезло.

  1. Установите lm-sensors и fancontrol .
  2. Настроить lm-датчики

    1. В терминале типа sudo sensors-detect и ответьте ДА на все вопросы YES / no.
    2. В конце обнаружения датчиков отображается список модулей, которые необходимо загрузить. Введите «да», чтобы обнаружить датчики, вставить эти модули в / etc / modules или отредактировать / etc / modules самостоятельно.
    3. Запустить sudo service module-init-tools restart . Это прочитает изменения, внесенные вами в /etc/modules на шаге 3, и вставьте новые модули в ядро.
      • Примечание . Если вы используете Ubuntu 13.04 или новее, эту команду 3-го шага следует заменить на sudo service kmod start .
  3. Настроить fancontrol

    1. В терминале типа sudo pwmconfig . Этот скрипт остановит каждый вентилятор в течение 5 секунд, чтобы узнать, какие вентиляторы можно контролировать, с помощью которого ручка PWM. После того, как скрипт будет проходить через всех вентиляторов, вы можете настроить, какой вентилятор соответствует температуре.
    2. В моем случае я устанавливаю интервал до 2 секунд.
  4. Настройка службы fancontrol

    1. Запустить sudo service fancontrol start . Это также приведет к автоматическому запуску службы fancontrol при запуске системы.

В моем случае для CPU я использовал:

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 
    
ответ дан GrizzLy 24.12.2017 в 18:27
источник
31

Если у вас есть ThinkPad , есть часть программного обеспечения с именем thinkfan , которое делает именно это. Как видно из названия, оно специально предназначено для ThinkPads ( thinkpad_acpi ).

Программное обеспечение thinkfan доступно в стандартных репозиториях программного обеспечения ubuntu, но для его настройки требуется несколько шагов.

Вот простой шаг за шагом:

Ссылка

(в основном это переведенная версия этого немецкого гида: Ссылка )

Соответствующая информация из сообщения:

Шаг 1. Установите программное обеспечение thinkfan и датчики:

sudo apt-get install thinkfan lm-sensors

Шаг 2. Убедитесь, что демон управляет вентилятором, отредактировав файл thinkpad.conf:

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

, добавив следующую строку:

options thinkpad_acpi fan_control=1

Шаг 3. Сделать загрузку daemon автоматически при запуске, отредактировав файл:

sudo nano /etc/default/thinkfan

убедитесь, что клавиша START установлена ​​на «да», то есть должна быть строка, которая гласит:

START=yes

Шаг 4. Обнаружение датчиков вашего ноутбука:

sudo sensors-detect

и просто выберите ответы по умолчанию, когда вам будет предложено нажать Enter.

Шаг 5. Загрузите новые модули. Из ubuntu 13.10 это делается по:

sudo service kmod start

, тогда как для предыдущих версий, таких как 13.04, вам нужно будет:

sudo service module-init-tools start

Шаг 6. Выясните, какие датчики используются:

sensors

(те, которые указывают 0 градусов, не используются, я не знаю, почему они тоже «обнаружены»). Помните, какие из них используются.

Шаг 7. Узнайте все пути этих датчиков:

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

Выход должен представлять собой список путей, таких как / sys / devices /...

Шаг 8. Скопируйте пути в датчики в файл конфигурации /etc/thinkpad.conf. Для этого сначала откройте файл:

sudo nano /etc/thinkfan.conf

Там должна быть строка типа

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

(# -символ означает, что эта строка закомментирована). Добавьте строку, начинающуюся с датчика (без # -символа), и скопируйте-вставьте первый датчик. Повторите это, если у вас несколько датчиков. Например, на моей машине выход на шаге 7 дает

/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 

Те, которые используются в моей машине, - это те, что указаны в первой и последней двух строках, поэтому я добавил три строки:

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. Наконец, мы можем установить уровни скорости вентилятора в файле конфигурации. Откройте файл /etc/thinkpad.conf, если он еще не был открыт.

sudo nano /etc/thinkfan.conf

Уровни вентиляторов, которые я использую на моем ThinkPad x201, следующие:

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

Последняя линия обеспечивает полную скорость вращения вентилятора (127 = «отключено», то есть нерегулируется). Вы можете играть с этими уровнями в соответствии с вашими потребностями и пожеланиями, но ПОЖАЛУЙСТА, ОСТОРОЖНО!

Шаг 10. Перезагрузка. Теперь все должно работать. Чтобы проверить правильность запуска thinkpad, используйте

sudo thinkfan -n

, который запускает thinkfan в подробном режиме. Возможно, вы захотите сначала остановить демон thinkfan:

sudo /etc/init.d/thinkfan stop

Если вы хотите снова запустить демон thinkfan, введите:

sudo /etc/init.d/thinkfan start

Чтобы быть полным, мой файл конфигурации /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)
    
ответ дан Kris 08.01.2014 в 17:38
6

Установите и настройте lm-sensors и fancontrol :

sudo apt-get install lm-sensors fancontrol

Документация по их настройке доступна на их страницах руководства.

Это функция, которая должна предоставляться BIOS, совместимым с ACPI, но похоже, что большинство производителей материнских плат не удосужились следовать стандарту.

    
ответ дан psusi 18.01.2011 в 15:28
5

Для нескольких компьютеров Dell вы можете установить пакет i8kutils:

sudo apt install i8kutils

Если у вас есть непроверенная Dell (например, Dell XPS 14z), вам может потребоваться принудительно загрузить модуль ядра:

sudo modprobe i8k force=1
    
ответ дан morhook 14.05.2016 в 17:54