Настраиваем сенсоры материнской платы.

Spring 2001.

Задача

Материнская плата: Chaintech 6BTM, 3 датчика температуры, управление вентиляторами отсутствует в этой модели. Хотелось бы реализовать под Linux мониторинг температурного режима и напряжения.

Прелюдия

Порадовала поддержка ядрами дистрибутива Hardware Health Monitoring Tools реализованными в пакете lm_sensors. Чтобы подобное работало в моих предыдущих дистрибутивах, нужно было пересобирать ядро, чего я, естественно, не делал, т.к. из за такой "мелочи" затевать бодягу с ядром не хотелось.

Пакет lm_sensors-2.5.5-ipl2mdk установился автоматически при инсталляции системы. Вот его краткое описание:

This package contains a collection of user space tools for general SMBus access and hardware monitoring. SMBus, also known as System Management Bus, is a protocol for communicating through a I2C ('I squared C') bus. Many modern mainboards have a System Management Bus. There are a lot of devices which can be connected to a SMBus; the most notable are modern memory chips with EEPROM memories and chips for hardware monitoring. Most modern mainboards incorporate some form of hardware monitoring chips. These chips read things like chip temperatures, fan rotation speeds and voltage levels. There are quite a few different chips which can be used by mainboard builders for approximately the same results.

Как раз то, что нужно. Осталось настроить его на конкретную материнскую плату.

Настройка

Входим в систему как root и запускаем команду sensors-detect. Далее отвечаем на вопросы конфигуратора (я оставил опции "по умолчанию"), затем запускается автоматическое зондирование устройств и, наконец выдаются рекомендации по конфигурированию системы. В моем случае они выглядели следующим образом:

 WARNING! If you have some things built into your kernel, the
below list will contain too many modules. Skip the appropriate ones!
To load everything that is needed, add this to some /etc/rc* file:

#----cut here----
# I2C adapter drivers
modprobe i2c-piix4
# modprobe unknown adapter PCF8584 ISA adapter using PCF8584 algorithm
# modprobe unknown adapter ELV Parallel port adaptor using Bit-shift algorithm
# modprobe unknown adapter PCF8584 ISA adapter using PCF8584 algorithm
# modprobe unknown adapter ELV Parallel port adaptor using Bit-shift algorithm
# modprobe unknown adapter PCF8584 ISA adapter using PCF8584 algorithm
# modprobe unknown adapter ELV Parallel port adaptor using Bit-shift algorithm
modprobe i2c-isa
# I2C chip drivers
modprobe eeprom
modprobe lm78
modprobe adm1021
modprobe lm80
modprobe lm75
modprobe ltc1710
modprobe w83781d
#----cut here----

To make the sensors modules behave correctly, add these lines to either
/etc/modules.conf or /etc/conf.modules:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
options lm78 ignore=-1,0x290 probe=2,0x00
options adm1021 ignore=2,0x18,2,0x19,2,0x1a,2,0x29,2,0x2a,2,0x2b,2,0x4c,2,0x4d,
,0x4e
options lm80 ignore=2,0x29,2,0x2a,2,0x2b
options lm75 ignore=2,0x4c,2,0x4d,2,0x4e
options w83781d ignore=0,0x2d
#----cut here----

Выполняем рекомендации. В конец файла /etc/rc.d/rc.local дописываем строки:

# I2C adapter drivers
modprobe i2c-isa
# I2C chip drivers
modprobe w83781d

В конец файла /etc/modules.conf дописываем строки:

 # I2C module options
alias char-major-89 i2c-dev
options w83781d ignore=0,0x2d

Перегружаем систему. Логинимся как пользователь. Теперь можно запускать программы front-end'ы. Выбор невелик. Для консоли это sensor, для KDE - khealthcare, для Gnome - gkrellm. Как это выглядит можно посмотреть на скриншоте десктопа.

Резюме

Дистрибутив Spring2001 еще раз доказал гибкость и безпроблемность в настройке. Мониторинг железа особенно порадует оверклокеров и тех у кого компьютеры работают в критическом и предкритическом температурном режиме.

PS

Для заинтересованных читателей. Пишите в форум или на email, какие темы вас интересуют. Если хватит компетенции, постараюсь написать статью сам или подобрать материал.


28 Мая 2001
Ю.Переляев