lm_sensors (for MSI K9N Platinum)

Ставим пакет lm-sensors.

Начальная конфигурация осуществляется программой sensors-detect. Пускаем ее, отвечаем на вопросы, смотрим, какое железо опеределилось, и какие модули нужны для его поддержки. Предложенные по окончании процедуры обнаружения датчиков модули сохраняем в /etc/modules.

Эти же модули загружаем сейчас, запускаем sensors, смотрим на показатели. Разочаровываемся, идем править /etc/sensors3.conf. Конфиг для хорошей матплаты MSI K9N Platinum:

/etc/sensors3.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# Winbond W83627EHF configuration originally contributed by Leon Moonen
# This is for an MSI K9N Platinum, written by Dmitriy Zotikov <xio@ungrund.org>
 
chip "w83627ehf-*" "w83627dhg-*"
 
    label in0 "VCore"
    label in1 "+12V"
    label in2 "AVCC"
    label in3 "3VCC"
    #label in3 "+3.3V"
    label in5 "-12V"
    label in6 "+5V"
    label in7 "VSB"
    label in8 "VBAT"
 
    # Dunno min/max values
    ignore in4
    ignore in8
    ignore in9
 
# +12V is in1 and +5V is in6 as recommended by datasheet
    compute in1 @*(1+(56/10)),  @/(1+(56/10))
    #compute in6 @*(1+(22/10)),  @/(1+(22/10))
    compute in5 (@+(20.48/242)-2.048)*24.2, (@-2.048)*(10/242)+2.048
    compute in6 @*(1+(84/34)),  @/(1+(84/34))
 
    set in0_min   0
    set in0_max   1.3
    set in1_min   12.0*0.9
    set in1_max   12.0*1.1
    set in5_min   -12.0*1.05
    set in5_max   -12.0*0.95
    set in6_min   5.0*0.95
    set in6_max   5.0*1.05
 
# Set the 3.3V
    set in2_min   3.3*0.95
    set in2_max   3.3*1.05
    set in3_min   3.3*0.95
    set in3_max   3.3*1.05
    set in7_min   3.3*0.95
    set in7_max   3.3*1.05
    set in8_min   3.3*0.95
    set in8_max   3.3*1.05
 
# Fans
    #label fan1      "Case Fan"
    #label fan3      "Aux Fan"
    label fan4      "CPU Fan"
 
    set fan4_min    0
 
    ignore fan1
    ignore fan2
    ignore fan3
    ignore fan5
 
# Temperatures
    label temp1     "Sys Temp"
    label temp2     "CPU Temp"
    label temp3     "AUX Temp"
 
    set temp1_max       60
    set temp1_max_hyst  50
    set temp2_max       60
    set temp2_max_hyst  50
    set temp3_max       60
    set temp3_max_hyst  50

Перечитываем set директивы:

# sensors -s

Снова запускаем sensors. Теперь можно радоваться:

$ sensors
k8temp-pci-00c3
Adapter: PCI adapter
temp1:       +22.0°C                                    
temp3:       +22.0°C                                    
 
w83627ehf-isa-0a10
Adapter: ISA adapter
VCore:       +1.08 V  (min =  +0.00 V, max =  +1.30 V)   
+12V:       +12.36 V  (min = +10.82 V, max = +13.20 V)   
AVCC:        +3.34 V  (min =  +3.14 V, max =  +3.47 V)   
3VCC:        +3.34 V  (min =  +3.14 V, max =  +3.47 V)   
-12V:       -12.47 V  (min = -12.67 V, max = -11.31 V)   
+5V:         +5.03 V  (min =  +4.75 V, max =  +5.25 V)   
VSB:         +3.31 V  (min =  +3.14 V, max =  +3.47 V)   
CPU Fan:    2636 RPM  (min =    0 RPM, div = 128)
Sys Temp:    +37.0°C  (high = +60.0°C, hyst = +50.0°C)  sensor = thermistor
CPU Temp:    +30.0°C  (high = +60.0°C, hyst = +50.0°C)  sensor = thermistor
AUX Temp:    +29.0°C  (high = +60.0°C, hyst = +50.0°C)  sensor = thermistor

Да, k8temp возвращает неверное значение, ну и не страшно. Показания CPU Temp соответствуют значениям температуры процессора в биосе.

Приятный бонус: fancontrol. В зависимости от температуры определенного датчика, возможно регулировать скорость вращения крыльчатки определенного кулера. Поскольку у меня кулер всего один — процессорный — будем настраивать именно его.

Пускаем pwmconfig, вдумчиво читаем, отвечаем на вопросы. Конфиг у меня получился такой:

/etc/fancontrol

1
2
3
4
5
6
7
INTERVAL=5
FCTEMPS= hwmon1/device/pwm4=hwmon1/device/temp2_input
FCFANS= hwmon1/device/pwm4=hwmon1/device/fan4_input
MINTEMP= hwmon1/device/pwm4=30
MAXTEMP= hwmon1/device/pwm4=60
MINSTART= hwmon1/device/pwm4=80
MINSTOP= hwmon1/device/pwm4=70

Пускаем fancontrol, радуемся тишине. Начиная с версии 8.10, для fancontrol предоставляется стартовый сценарий в /etc/init.d/, поэтому ничего больше делать не нужно, fancontrol автоматически запустится при следующей загрузке системы. В версиях убунты до 8.10, такой скрипт можно либо написать самому (что западло для такой незначительности), либо просто ограничиться записью в /etc/rc.local:

/etc/rc.local

14
15
### Fancontrol
fancontrol > /var/log/fancontrol.log &

Помимо всего прочего, в гноме есть два полезных аплета для мониторинга железа:

  • sensors-applet;
  • Монитор изменения частоты процессора (установлен по дефолту).

В добавок к lm_sensors, sensors-applet также может брать данные у hddtemp и датчиков nvidia. Выглядят так:

Hardware monitor GNOME applets

Neat, huh?

That’s it!