Fan speed control (Русский)

From ArchWiki
Jump to: navigation, search

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

Контролировать скорость (и шум!) вашего кулера легко!

Важно: Вы можете повредить ваше оборудование. Вентилятор на процессоре необходим для его охлаждения, а в процессе выполнения этого howto он будет выключен на пару секунд. Если вам не хочется этого делать - не делайте!

lm-sensors

Первым делом, вам необходимо установить и настроить lm-sensors. Подробнее об этом вы можете узнать из соответствующей статьи.

После того как вы установите lm_sensors, изучите вывод программы sensors.

$ sensors
w83627hf-isa-0290
Adapter: ISA adapter
VCore 1:   +1.14 V  (min =  +0.00 V, max =  +4.08 V)              
VCore 2:   +2.67 V  (min =  +0.00 V, max =  +4.08 V)              
+3.3V:     +3.39 V  (min =  +2.82 V, max =  +3.79 V)              
+5V:       +5.19 V  (min =  +3.47 V, max =  +0.40 V)       ALARM  
+12V:     +12.40 V  (min = +12.95 V, max =  +7.96 V)       ALARM  
-12V:      -7.01 V  (min =  +1.78 V, max = -10.63 V)       ALARM  
-5V:       -3.84 V  (min =  -7.66 V, max =  +2.29 V)              
V5SB:      +5.75 V  (min =  +0.08 V, max =  +0.54 V)       ALARM  
VBat:      +3.10 V  (min =  +0.54 V, max =  +0.13 V)       ALARM  
fan1:     2428 RPM  (min =    0 RPM, div = 4)                     
fan2:        0 RPM  (min = 1630 RPM, div = 4)              ALARM  
fan3:     2191 RPM  (min = 6367 RPM, div = 4)              ALARM  
temp1:       +38°C  (high =   +20°C, hyst =   +68°C)   sensor = thermistor           
temp2:     +39.5°C  (high =   +65°C, hyst =   +60°C)   sensor = diode           
temp3:     +38.0°C  (high =   +65°C, hyst =   +60°C)   sensor = thermistor           (beep)
vid:      +0.000 V  (VRM Version 2.4)
alarms:   
beep_enable:
          Sound alarm enabled''

Если в вашем выводе sensors отсутствует RPM (обороты в минуту) для процессорного кулера (CPU fan) и вы уверены что он работает, вам необходимо увеличить делитель кулера (fan divisor). Если скорость вашего кулера отображается и она больше нуля, пропустите следующий шаг.

Увеличение fan_div:

Tango-dialog-warning.pngИнформация в этой статье или разделе устарелаTango-dialog-warning.png

Причина: пожалуйста, используйте первый аргумент шаблона для указания причины. (Обсудить)

Первая строка в выводе sensors - это имя чипсета вашей материнской платы, которое используется для чтения скоростей/темпов/напряжений. Сначала сделаем резервную копию:

# cp /etc/sensors.conf /etc/sensors.conf_original

Отредактируйте файл /etc/sensors.conf

# nano /etc/sensors.conf

Найдите ваш чипсет. Их названия очень похожи друг на друга, так что убедитесь что вы редактируете правильный. Добавьте строку fanX_div 4 в начале конфигурации вашего чипсета. Замените X на количество ваших процессорных кулеров, у меня это 2. Вы должны сами найти это число для своего компьютера, но скорее всего это 1, 2 или 3.

Сохраните и выполните:

# sensors -s

это загрузит новые значения переменных из sensors.conf. Запустите sensors снова и проверьте RPM теперь. Если его нет, то увеличте делитель до 8, 16 или 32.

Можете не опасаясь игнорировать всё, кроме fanX_div. Я бы посоветовал вам оставить все остальные значения по умолчанию.

pwmconfig

После того как lm-sensors правильно сконфигурированы запустите pwmconfig и настройте скорость работы ваших вентиляторов:

pwmconfig

Следуйте инструкциям в pwmconfig для установки базовых скоростей.

Опции конфигурации по умолчанию должны создать новый файл, /etc/fancontrol.

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

Тонкая настройка

Важно: Некоторые из приведённых ниже шагов описывают тонкую настройку кулеров. Прежде чем что-то выполнять убедитесь что ваш процессор не очень сильно нагружен и у вас есть пространство для маневров. Если в какой-то момент настройки вы заметите что температура процессора катастрофически растёт выполните echo "255" > /sys/class/hwmon/hwmon0/device/pwm1 чтобы раскрутить кулер как можно сильнее пока ситуация не нормализуется и процессор не охладится. Вообще, вы должны знать что вы делаете, прежде чем вы допустите глупость в конфигурационном файле.

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

INTERVAL=10
FCTEMPS=hwmon0/device/pwm1=hwmon0/device/temp1_input
FCFANS= hwmon0/device/pwm1=hwmon0/device/fan1_input
MINTEMP=hwmon0/device/pwm1=20
MAXTEMP=hwmon0/device/pwm1=55
MINSTART=hwmon0/device/pwm1=150
MINSTOP=hwmon0/device/pwm1=105
  • INTERVAL: как часто демон должен опрашивать датчики температуры процессора и корректировать скорость вращения кулера. Интервал задаётся в секундах.

Оставшаяся часть конфигурационного файла разделена на (как минимум) два значения на каждую опцию конфигурации. Каждая опция сначала указывает на PWM-устройство в которое будет производиться запись при смене скорости кулера. Второе "поле" — это непосредственно значение, которое надо записать. Это позволяет вам наблюдать и контролировать несколько вентиляторов и датчиков температуры (если ваш компьютер это поддерживает).

  • FCTEMPS: устройство ввода температуры процессора. Предыдущий пример указывает на /sys/class/hwmon/hwmon0/device/temp1_input.
  • FCFANS: устройство ввода текущей скорости кулера. Пример: /sys/class/hwmon/hwmon0/device/fan1_input
  • MINTEMP: температура (°C) при которой нужно ВЫКЛЮЧАТЬ кулер на процессоре. Эффективные процессоры не нуждаются в охлаждении во время простоя. Устанавливая этот параметр, вы должны быть уверены в том, что эта температура безопасна. Установка этого параметра в 0 не рекомендуется, используйте более корректное (для данного оборудования) значение.
  • MAXTEMP: температура (°C) при которой кулер надо включать на МАКСИМАЛЬНУЮ скорость. Этот параметр надо выставлять задавать примерно на 10-20 °C ниже критической температуры/температуры выключения для вашего процессора. Установка этого параметра ближе к MINTEMP приведёт к повышению средней скорости вращения кулера.
  • MINSTOP: значение PWM при котором останавливается кулер. Все кулеры немного отличаются друг от друга. Вы можете записывать при помощи echo различные значения (от 0 до 255) в /sys/class/hwmon/hwmon0/device/pwm1 и наблюдать за кулером. Когда какое-то значение приведёт к его остановке, используйте это значение.
  • MINSTART: значение PWM при котором кулер запускается вновь. Зачастую это значение превышающее MINSTOP, т.к. большее напряжение необходимо кулеру для преодоления инерции.

fancontrol

Попробуйте запустить fancontrol:

/usr/bin/fancontrol

После запуска этой программы вы возможно услышите как ваш кулер замедляется. Если это работает, то можно добавить "fancontrol" в автозапуск

 systemctl enable fancontrol

либо к массиву DAEMONS в /etc/rc.conf если вы используете init, чтобы это происходило при старте системы.


Большая часть материала для этого howto взята с Ubuntu forums и Ubuntu guide.