Скучное, про линукс
May. 16th, 2011 10:35 pmЧетвертые сутки пылают станицы болею, тошняк.
Под это дело решил починить "градусник" в компьютере )
Заодно для себя записать, чтобы через годик был шанс что-то вспомнить.
Вернее, дело было так. Когда-то я состряпал себе домашний "типа сервер",
в результате экспериментов в него в не помню какой последовательности
были поставлены - материнка Intel D945GCLF2D,
с пассивным охлаждением процессора и вентилятором на чипсете (диковинка на тот момент),
и ALT Linux, а также оторваны все вентиляторы кроме "блок-питательного".
Вроде, работает, но было интересно, насколько там внутри без пропеллеров горячо.
Сразу не получилось, решил, что, может, плата новая, возможно, ещё не поддерживается ядром
как следует, забил. Полтора года он как-то работал, сегодня дошли руки.
Обновился из Sisyphus-а до самого свежего состояния. Нет, "сами собой" сенсоры не появляются.
Итак, всем известно, температура (и не только) в linux-е измеряется при помощи lm_sensors,
который, в свою очередь, полагается на модули ядра, которые для разных материнок могут быть разными.
Кстати, сейчас актуален пакет lm-sensors3, в то время как большинство подсказок, что гуглятся,
относятся к lm-sensors 2. Иногда это существенно.
Для автоопределения "железа" полагается запустить
Но у меня он говорит:
Гуглим. Должны быть файлы устройств
Подсказки с форумов - создайте эти файлы спец. скриптом
Но, во-вторых, этот скрипт есть в lm-sensors2, но не в lm-sensors3.
А во-первых, большинство дистрибутивов давно перешли на
не создаются (создать-то можно, но после перезагрузки они пропадут).
Пробуем. Взял от старого пакета mkdev.sh - создалась кучка устройств i2c-* (major 89, minor 0,...)
Скрипт
Гуглим. Файлы устройств должны автоматически порождаться при загрузке модуля i2c-dev.
Он не загружен. Добавляем строку "
Перезагрузка. Модуль загружен, файлов устройств нет.
Гуглим, находим это ( https://xgoat.com/wp/2008/01/29/i2c-device-udev-rule/ )
Там готовое правило для udev:
суем эту строчку в файл, файл суём в
Перезагружаем, модуль есть, файл устройства /dev/i2c-0 есть,
Записывает файл конфигурации. Пытается установить модули, ошибка
Гуглим, находим вот это: https://bugs.launchpad.net/ubuntu/+source/lm-sensors-3/+bug/458811
Пишут, мол, если добавить в параметры ядра
то эта ошибка пропадает. Добавил, пропала.
Результат:
Горяченько оно, честно говоря.
Болею я, а температура у компутера ))
Под это дело решил починить "градусник" в компьютере )
Заодно для себя записать, чтобы через годик был шанс что-то вспомнить.
Вернее, дело было так. Когда-то я состряпал себе домашний "типа сервер",
в результате экспериментов в него в не помню какой последовательности
были поставлены - материнка Intel D945GCLF2D,
с пассивным охлаждением процессора и вентилятором на чипсете (диковинка на тот момент),
и ALT Linux, а также оторваны все вентиляторы кроме "блок-питательного".
Вроде, работает, но было интересно, насколько там внутри без пропеллеров горячо.
Сразу не получилось, решил, что, может, плата новая, возможно, ещё не поддерживается ядром
как следует, забил. Полтора года он как-то работал, сегодня дошли руки.
Обновился из Sisyphus-а до самого свежего состояния. Нет, "сами собой" сенсоры не появляются.
Итак, всем известно, температура (и не только) в linux-е измеряется при помощи lm_sensors,
который, в свою очередь, полагается на модули ядра, которые для разных материнок могут быть разными.
Кстати, сейчас актуален пакет lm-sensors3, в то время как большинство подсказок, что гуглятся,
относятся к lm-sensors 2. Иногда это существенно.
Для автоопределения "железа" полагается запустить
/usr/sbin/sensors-detect.Но у меня он говорит:
No i2c device files found.Гуглим. Должны быть файлы устройств
/dev/i2c-0,{-1,итд}, но их нет.Подсказки с форумов - создайте эти файлы спец. скриптом
/usr/share/lm_sensors/mkdev.shНо, во-вторых, этот скрипт есть в lm-sensors2, но не в lm-sensors3.
А во-первых, большинство дистрибутивов давно перешли на
udev, так что вручную в /dev файлы устройствне создаются (создать-то можно, но после перезагрузки они пропадут).
Пробуем. Взял от старого пакета mkdev.sh - создалась кучка устройств i2c-* (major 89, minor 0,...)
Скрипт
sensors-detect начал что-то определять.Гуглим. Файлы устройств должны автоматически порождаться при загрузке модуля i2c-dev.
Он не загружен. Добавляем строку "
i2c-dev" в /etc/modules.Перезагрузка. Модуль загружен, файлов устройств нет.
Гуглим, находим это ( https://xgoat.com/wp/2008/01/29/i2c-device-udev-rule/ )
Там готовое правило для udev:
KERNEL=="i2c-[0-9]*", GROUP="i2c"суем эту строчку в файл, файл суём в
/etc/udev/rules.dПерезагружаем, модуль есть, файл устройства /dev/i2c-0 есть,
sensors-detect находит несколько подходящих датчиков.Записывает файл конфигурации. Пытается установить модули, ошибка
smsc47m1 Device or resource busy.Гуглим, находим вот это: https://bugs.launchpad.net/ubuntu/+source/lm-sensors-3/+bug/458811
Пишут, мол, если добавить в параметры ядра
acpi_enforce_resources=lax,то эта ошибка пропадает. Добавил, пропала.
Результат:
#cat /proc/modules |grep i2c
i2c_i801 7126 0 - Live 0xf7e60000
i2c_dev 4664 0 - Live 0xf7e11000
i2c_core 20660 3 smsc47m192,i2c_i801,i2c_dev, Live 0xf7dfe000
#sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +46.0 C (crit = +90.0 C)
coretemp-isa-0001
Adapter: ISA adapter
Core 1: +45.0 C (crit = +90.0 C)
smsc47m1-isa-0680
Adapter: ISA adapter
fan1: 0 RPM (min = 1280 RPM, div = 4) ALARM
fan2: 1606 RPM (min = 1280 RPM, div = 4)
smsc47m192-i2c-0-2d
Adapter: SMBus I801 adapter at 2000
in0: +2.51 V (min = +0.00 V, max = +3.32 V)
Vcore: +1.15 V (min = +0.00 V, max = +2.99 V)
+3.3V: +3.39 V (min = +0.00 V, max = +4.38 V)
+5V: +4.95 V (min = +0.00 V, max = +6.64 V)
+12V: +11.94 V (min = +0.00 V, max = +15.94 V)
VCC: +3.39 V (min = +0.00 V, max = +4.38 V)
in6: +1.55 V (min = +0.00 V, max = +1.99 V)
in7: +1.77 V (min = +0.00 V, max = +2.39 V)
SIO Temp: +49.0 C (low = -127.0 C, high = +127.0 C)
temp2: +63.0 C (low = -127.0 C, high = +127.0 C)
temp3: +56.0 C (low = -127.0 C, high = +127.0 C)
cpu0_vid: +2.050 V
Горяченько оно, честно говоря.
Болею я, а температура у компутера ))