Задача
Материнская плата: 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, какие темы вас интересуют. Если хватит компетенции, постараюсь написать статью сам или подобрать материал.