Управление кулером в Ubuntu при помощи fancontrol
После покупки минисервера появилась необходимость контролировать обороты кулеров, чтобы убрать вообще издаваемый шум.
Для того чтобы это сделать необходимо поставить пакет lm-sensors.
apt-get install lm-sensors
В папке /etc/init.d/ появляется новый скрипт fancontrol который периодически опрашивает датчики и если необходимо меняет обороты.
Для получения данных об оборотах куллеров необходимо выполнить комманду:
root@vovanys:~# sensors
it8718-isa-0290
Adapter: ISA adapter
in0: +1.17 V (min = +0.00 V, max = +4.08 V)
in1: +1.82 V (min = +0.00 V, max = +4.08 V)
in2: +3.39 V (min = +0.00 V, max = +4.08 V)
in3: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
in4: +3.15 V (min = +0.00 V, max = +4.08 V)
in5: +0.03 V (min = +0.00 V, max = +4.08 V)
in6: +1.23 V (min = +0.00 V, max = +4.08 V)
in7: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
in8: +4.08 V
fan1: 537 RPM (min = 0 RPM)
fan2: 891 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
temp1: -53.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: -2.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp3: +20.0°C (low = +127.0°C, high = +90.0°C) sensor = thermal diode
cpu0_vid: +0.000 V
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +47.0°C (high = +86.0°C, crit = +100.0°C)
coretemp-isa-0001
Adapter: ISA adapter
Core 1: +47.0°C (high = +86.0°C, crit = +100.0°C)
Fan1: обороты кулера процессора.
Fan2: обороты внешнего кулера, который подключается отдельно (у меня отдельно подключена 120-тка)
Для управления используются файлы /sys/class/hwmon/hwmon0/device/fan1_input и /sys/class/hwmon/hwmon0/device/fan2_input
Взависимости от числа записанного в файле меняется скорость вращения (и шума) кулера.
Для того чтобы включить кулер на «полную» можно сделать так:
echo "255" > /sys/class/hwmon/hwmon0/device/fan1_input
Чтобы у знать какое число отвечает за какие обороты необходимо выполнить команду pwmconfig
При запуске команды запустится утилита которая выдаст список оборотов и число которое необходимо посылать в файл /sys/class/hwmon/hwmon0/device/fan1_input, такого плана:
hwmon0/device/pwm1
PWM 255 FAN 1713
PWM 240 FAN 1713
PWM 225 FAN 1642
PWM 210 FAN 1527
PWM 195 FAN 1400
PWM 180 FAN 1285
PWM 165 FAN 1153
PWM 150 FAN 1036
PWM 135 FAN 902
PWM 120 FAN 784
PWM 105 FAN 829
PWM 90 FAN 1106
PWM 75 FAN 0
Fan Stopped at PWM = 75
Как показывает вывод самые большие обороты у кулера при значении 255, а если передать что-то ниже 75 кулер остановится вообще.
Теперь необходимо настроить файл которые отвечает за обороты и температуру (взаимосвязь температура = обороты) /etc/fancontrol :
У меня он имеет вид:
INTERVAL=3
FCTEMPS=hwmon0/device/pwm1=/sys/bus/platform/drivers/coretemp/coretemp.0/temp1_input hwmon0/device/pwm3=/sys/bus/platform/drivers/coretemp/coretemp.0/temp1_input
FCFANS= hwmon0/device/pwm1=hwmon0/device/fan1_input hwmon0/device/pwm3=hwmon0/device/fan2_input
MINTEMP=hwmon0/device/pwm1=30 hwmon0/device/pwm3=30
MAXTEMP=hwmon0/device/pwm1=60 hwmon0/device/pwm3=60
MINSTART=hwmon0/device/pwm1=120 hwmon0/device/pwm3=120
MINSTOP=hwmon0/device/pwm1=75 hwmon0/device/pwm3=0
/etc/init.d/fancontrol start
И посмотреть используя sensors какие сейчас обороты и какая температура.
А если у меня так:
PWM 255 FAN 2678
PWM 240 FAN 2636
PWM 225 FAN 2410
PWM 210 FAN 2250
PWM 195 FAN 2033
PWM 180 FAN 1795
PWM 165 FAN 1795
PWM 150 FAN 1534
PWM 135 FAN 1250
PWM 120 FAN 1048
PWM 105 FAN 1028
PWM 90 FAN 1028
PWM 75 FAN 1022
PWM 60 FAN 1022
PWM 45 FAN 1028
PWM 30 FAN 1068
PWM 28 FAN 1074
PWM 26 FAN 1074
PWM 24 FAN 1074
PWM 22 FAN 1088
PWM 20 FAN 1095
PWM 18 FAN 1102
PWM 16 FAN 1102
PWM 14 FAN 1110
PWM 12 FAN 1117
PWM 10 FAN 1125
PWM 8 FAN 1132
PWM 6 FAN 1140
PWM 4 FAN 1147
PWM 2 FAN 1147
PWM 0 FAN 1147
А я хочу, что бы он всетаки отключался при minstop
Vista была такая тоже хрень, поищи в биосе, он не дает программно его отключить
Вот такая гадость
sudo pwmconfig
# pwmconfig revision 5770 (2009-09-16)
This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.
We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.
/usr/sbin/pwmconfig: There are no pwm-capable sensor modules installed
и
sudo echo «2505» > /sys/class/hwmon/hwmon0/device/hwmon/hwmon0/fan2_input
bash: /sys/class/hwmon/hwmon0/device/hwmon/hwmon0/fan2_input: Отказано в доступе
что можно сделать?
А, и еще, у меня нет такого файла по этому пути
FCTEMPS=hwmon0/device/pwm1=/sys/bus/platform/drivers/coretemp/coretemp.0/temp1_input
что нужно искать, может он в другой директории?
ОС Linux Mint 10
There are no pwm-capable sensor modules installed
Либо на мамке что-то не поддерживает (физически), либо что-то не доустановил…
Спасибо! Разобрался, изрядно погуглив)))). Вот что нашел, если кому интересна аналогичная трабла
Пост с ветки форума:-http://unixforum_точека_org/index.php?showtopic=129856
«драйвер «тут_у_кого_какой» не грузился из-за конфликта с ACPI
Добавил параметр к ядру в /etc/default/grub
GRUB_CMDLINE_LINUX=»acpi_enforce_resources=lax»
Теперь модуль грузится, сенсоры отображаются, и соответственно pwmconfig настраивается»
Доброго времени суток!
Когда запускаю sensors выдаёт:
anton-System-Product-Name anton # sensors
radeon-pci-0200
Adapter: PCI adapter
temp1: +88.0°C
it8712-isa-0290
Adapter: ISA adapter
in0: +1.06 V (min = +0.00 V, max = +4.08 V)
in1: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
in2: +3.23 V (min = +0.00 V, max = +4.08 V)
+5V: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
in4: +3.10 V (min = +0.00 V, max = +4.08 V)
in5: +1.57 V (min = +0.00 V, max = +4.08 V)
in6: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
5VSB: +4.08 V (min = +0.00 V, max = +4.08 V) ALARM
Vbat: +3.18 V
fan1: 2303 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
temp1: +42.0°C (low = -1.0°C, high = +127.0°C) sensor = thermistor
temp2: +43.0°C (low = -1.0°C, high = +127.0°C) sensor = thermistor
temp3: -128.0°C (low = -1.0°C, high = +127.0°C) sensor = disabled
intrusion0: OK
k10temp-pci-00c3
Adapter: PCI adapter
temp1: +30.6°C (high = +70.0°C)
(crit = +115.5°C, hyst = +113.5°C)
А затем при запуске pwmconfig
появляются строки:
Testing pwm control hwmon1/device/pwm1 …
hwmon1/device/fan1_input … speed was 2303 now 2303
no correlation
No correlations were detected.
There is either no fan connected to the output of hwmon1/device/pwm1,
or the connected fan has no rpm-signal connected to one of
the tested fan sensors. (Note: not all motherboards have
the pwm outputs connected to the fan connectors,
check out the hardware database on http://www.almico.com/forumindex.php)
Моя материнская плата M3N78-VM поддерживает изменения куллера. Может дело в том, что
temp3: -128.0°C (low = -1.0°C, high = +127.0°C) sensor = disabled ?
Помогите, пожалуйста, разобраться!
почему после каждой перезагрузки, не срабатывает фанконтрол. Как будто демон не запускается