Автор Тема: FAQ: lm-sensors- температура, напряжения и вентиляторы MB и HDD  (Прочитано 5891 раз)

Оффлайн victor53p

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 599
  • Карма: +61/-0
  • Чтобы просто работало!
    • Ubuntu Linux в Воронежской области
Итак установим контроль за работой нашего компьютера.
Задействуем различные сенсоры или датчики, которые в нем установлены.
Это датчики температы процессора, мамки и винтов (hdx), вентиляторов и напряжений.
Для упрощения задачи добавим себе в Сиситемное меню,
через его редактор (Applications Menu Editor), терминал ROOTа (Root Terminal).
Запустим его через свой пароль и свернем нажав на минус в "список окон".
Он нам пригодится позже.
Запускаем программу для установки пакетов Synaptic ищем и устанавливаем по очереди
следующие пакеты:
1. lm-sensors
2. eep24c
3. libglui2c102
4. sensord
а так-же те пакеты, которые они за собой потянут как зависимости:
libsensors3,librdd2,ttf-dejavu.
Загрузим модуль i2c-dev, делаем это так:
Разворачиваем раннее свернутый терминал Roota и пишем:
# modprobe i2c-dev
#
Появление решетки # является подтверждением того, что модуль загрузился.
Затем найдем и пропишем имена модулей датчиков в нашу систему:
# sensors-detect
Отвечаем на все вопросы Y
Уже к концу увидим примерно такую надпись и названия модулей, которые есть в системе:
........
#----cut here----
# I2C adapter drivers
i2c-i801
i2c-isa
# I2C chip drivers
adm1025
eeprom
smsc47m1
#----cut here----
Do you want to add these lines to /etc/modules automatically? (yes/NO)
..............
Жмем опять Y Y Y
Теперь запустим увиденные модули не перезагружая компьютер:
# modprobe i2c-i801
#
# modprobe i2c-isa
#
# modprobe adm1025
#
# modprobe eeprom
#
# modprobe smsc47m1
#
Можно прверить какие сенсоры (вернее их модули) у нас загружены:
# lsmod |grep i2c
i2c_dev 9728 0
i2c_acpi_ec 5472 0
i2c_sensor 3360 3 smsc47m1,eeprom,adm1025
i2c_isa 1952 0
i2c_i801 8556 0
i2c_core 21200 8 i2c_dev,i2c_acpi_ec,smsc47m1,eeprom,adm1025,i2c_
.........
Теперь установим программу и демона отвечающих за контроль температуры наших
жестких дисков (винтов).
Опять, через тот же Synaptic ищем и устанавливаем пакет:
hddtemp, который контролирует температуру винтов и емеет на них свою базу данных.
Надеюсь, что Ваш винт в нее попал.
По ходу установки, отвечаем положительно на вопрос (ставим птичку)- хотим ли мы , чтобы демон
hddtempd стартовал при загрузке и жмем кнопку Вперед.
И последний этап.
Установим так-же, через тот же Synaptic, программу, которая поможет нам увидеть
наши труды на экране.
Я рекомендую GKrellM
Набираем в поиске Synaptic слово gkrellm и устанавливаем два пакета:
1. gkrellm и gkrellm-common
Ищем в разделе меню Приложения >> Системные, установленную нами программу GKrellM
и запускаем ее.
Программа хорошо руссифицирована, поэтому внимательно читаем что она пишет и конфигурируем ее.
В конфигурации ставим птички на всех сенсорах, связанных с температурой,
вентиляторами и напряжениями.
Ставим птичку запомнить расположение gkrellm на экране, а так же
расположить на заднем плане и устанавливать тип окна dock.
Это во 2-й закладке в свойстах.
Можно заодно настроить индикацию своей почтовой программы и др.

В Ubuntu есть и другие пакеты с помощью, которых можно устроить вывод на экран
индикации и контроля выше названных сенсоров. Напрмер gdesklet и gdesklet-data.
Но я их использую для организации запуска программ подобно MAC OS X, что
является хорошим украшением рабочего стола.
По данной методике мною проведена установка lm-sensors на материнских
платах Intel 845 и 850 с процессором Intel и винтами Samsung и Seagate.
Все работает прекрасно.
В целом должно сработать и на других.
P.S Прочтите в описании своей MB, какие сенсоры на ней установлены.
что касается hddtemp, то в его базе не все харды, например нет

ST380817AS Seagate Barracuda IV ST380817AS
Открываем файл /etc/hddtemp.db
И добавляем строчку

Code:
"ST380817AS" 194 C "Seagate Barracuda IV ST380817AS"


Теперь этот хард будет определяться.

sudo apt-get install libglui2c2

Howto Install and Configure lm-sensors
========================

1. Install lm-sensors using apt-get or the Synaptic GUI.

sudo apt-get install lm-sensors


2. Run the mkdev.sh script in the lm-sensors source. It is extacted below:

a. Copy the script file below to a text editor and save it to a file named mkdev.sh.

#!/bin/bash

# Here you can set several defaults.

# The number of devices to create (max: 256)
NUMBER=32

# The owner and group of the devices
OUSER=root
OGROUP=root
# The mode of the devices
MODE=600

# This script doesn't need to be run if devfs is used
if [ -r /proc/mounts ] ; then
if grep -q "/dev devfs" /proc/mounts ; then
echo "You do not need to run this script as your system uses devfs."
exit;
fi
fi

i=0;

while [ $i -lt $NUMBER ] ; do
echo /dev/i2c-$i
mknod -m $MODE /dev/i2c-$i c 89 $i || exit
chown "$OUSER:$OGROUP" /dev/i2c-$i || exit
i=$[$i + 1]
done
#end of file

b. Make the file executable:

chmod 755 mkdev.sh

c. Run mkdev.sh from the current directory

sudo ./mkdev.sh


3. Now run sensors-detect and answer YES to all YES/no questions. I generally use the ISA bus rather than the SMBus bus, your choice to this question!. At the end of the detection phase, a list of modules that needs to be loaded will displayed. You will need to write these down or print the list for the next steps.

sudo sensors-detect

Below is an example of results from sensors-detect:
#************************************************* *****************************
To make the sensors modules behave correctly, add these lines to
/etc/modules:

#----cut here----
# I2C adapter drivers
i2c-viapro
i2c-isa
# I2C chip drivers
eeprom
it87
#----cut here----

Then, run /etc/init.d/module-init-tools

To make the sensors modules behave correctly, add these lines to
/etc/modprobe.d/local and run update-modules:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----
#************************************************* *******************************


4. In this example, we add the modules in reverse order (order is critical!) in "/etc/modules".

#************************************************* ***********************
# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line. Comments begin with
# a "#", and everything on the line after them are ignored.

psmouse
mousedev
ide-cd
ide-disk
ide-generic
lp

#For lm-sensors, i2c modules
it87
i2c-viapro
i2c-isa

#end of file!
#************************************************* ****************


4. I found that there was no "/etc/modprobe.d/local" and that "alias char-major-89 i2c-dev" was already listed in "/etc/modprobe.d/aliases". So, nothing to do here.


5.Now load the modules manually using modprobe and update the dependencies.

sudo modprobe i2c-sensor
sudo modprobe i2c-viapro
sudo modprobe i2c-isa
sudo modprobe it87

sudo depmod -a <may not be needed!>
sudo update-modules <may not be needed!>


6. Now test the sensor output using the lm-sensors utility "sensors".

sensors

************************************************** *****************
it87-isa-0290
Adapter: ISA adapter
VCore 1: +1.57 V (min = +1.42 V, max = +1.57 V) ALARM
VCore 2: +2.66 V (min = +2.40 V, max = +2.61 V) ALARM
+3.3V: +6.59 V (min = +3.14 V, max = +3.46 V) ALARM
+5V: +5.11 V (min = +4.76 V, max = +5.24 V)
+12V: +11.78 V (min = +11.39 V, max = +12.61 V)
-12V: -19.14 V (min = -12.63 V, max = -11.41 V) ALARM
-5V: +0.77 V (min = -5.26 V, max = -4.77 V) ALARM
Stdby: +5.00 V (min = +4.76 V, max = +5.24 V)
VBat: +3.12 V
fan1: 3668 RPM (min = 0 RPM, div = [Cool]
fan2: 0 RPM (min = 664 RPM, div = [Cool] ALARM
fan3: 0 RPM (min = 2657 RPM, div = 2) ALARM
M/B Temp: +39°C (low = +15°C, high = +40°C) sensor = thermistor
CPU Temp: +36°C (low = +15°C, high = +45°C) sensor = thermistor
Temp3: +96°C (low = +15°C, high = +45°C) sensor = diode
************************************************** ********************

7. Reboot Ubuntu and the sensors should now be detected during the boot process properly!

8. The sensor output may be tweaked by editing the "/etc/sensors.conf" file. It is possible to correct inacurate scaling too. For details check "man sensors.conf".