LINUX.ORG.RU
Ответ на: комментарий от vvv11

Тебе обязательно sensor.conf или можешь так через:

#!/bin/bash echo 50000 > /sys/class/i2c-*/..*/sensor?/temp1_min

это конечно дело вкуса, но мне больше нравиться такой. Аларм скрипт я заделал через /etc/crontab хотя можно было бы и демон пользовать.

fishor
()
Ответ на: комментарий от fishor

Можно и так, неважно. Главное для меня -- разобраться бы в показаниях. Температуры неестественные получаются: temp1_input = 38000, temp2_input = 14000, temp3_input = 14000, т.е. нужен какой-то пересчет... то же и с напряжениями. Что-нибудь можно посоветовать?

vvv11
() автор топика
Ответ на: комментарий от fishor

Это понятно. Я имею в виду, что в любом случае реальная температура не может быть 14 град. Тем более, что temp2 и temp3, скорее всего, относятся к датчикам процессоров.

vvv11
() автор топика
Ответ на: комментарий от vvv11

На счет номера чипа ты точно уверен? Результат у тебя из sensors-install или с мамки? Не все производители прописывают vendor_id, сам сталкиался :( Глянь действително тот ли чип. Если тот то глянь какую температуру показывает биос (если показывает) и если не побрезгуешь проверь что показывает SiSoft Sandra под виндой. В крайнем случае нужно будет взять датащит (я его уже скачал) , i2c-dump смотреть о чем говорит сам чип. Давай дерзай.

fishor
()
Ответ на: комментарий от fishor

Маркировка на чипе:

-----------

ADM1026JST

0415

432403.1

-----------

Биос: 37-39 град, в то же время (примерно, конечно) temp2,3: 7-9 (град?)

Под виндой проверить не могу за отсутствием таковой.

vvv11
() автор топика
Ответ на: комментарий от vvv11

Биос использует три разных показателя температуры ? Если да до пришли пожалуйста и из биоса и с lm_sensor все три в двух вариантах, на холодную и по горячему :) и укажи также названия фйлов. Это может быть баг в ядре.

fishor
()
Ответ на: комментарий от fishor

В биос показаны только температуры процессоров. На холодной машине: биос 37-39 град (оба процессора), сенсоры 30-34 град (temp1), 7-10 град (temp2,3) При нагрузке: биос 44-49 град (оба процессора), сенсоры 38-40 град (temp1), 15-17 град(temp2,3)

Кажется, дальнейшие эксперименты будут невозможны. Машина перестала грузиться... Вот так...

vvv11
() автор топика
Ответ на: комментарий от vvv11

Если твой комп еще работает :)
Установи lm_sensor. Выполни следующие комманды под рутом, только предварително выгрузи модуль adm1026:
script i2c.txt
i2cdetect -l если ответит i2c-0 значит:
i2cdetect 0 он тебе покажет таблицу покрытую иксами :) и должен показать одно из приведенных чисел (0x2c, 0x2d, 0x2e). К примеру покажет 0x2c значит пишем:
i2cdump 0 0x2c покажет еще одну таблицу, вот она нам и нужна.
exit теперь тебе нужно будет выложить содержимое файла i2c.txt тут в форуме.

 

fishor
()
Ответ на: комментарий от fishor

Заработал, это была изящная комбинация плохого контакта в плашке памяти и разрядившейся батарейки биоса. 
Итак, i2c:

# i2cdetect -l
i2c-1   dummy           ISA main adapter                        ISA bus algorithm
i2c-0   unknown         SMBus AMD8111 adapter at 50e0           Algorithm unavailable
# i2cdetect 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          XX XX XX XX XX 08 XX XX XX XX XX XX XX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
20: XX XX XX XX XX XX XX XX XX XX XX XX 2c XX XX XX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
50: 50 51 XX XX 54 55 XX XX XX XX XX XX XX XX XX XX
60: XX XX XX XX XX XX XX XX XX 69 XX XX XX XX XX XX
70: 70 XX XX XX XX XX XX XX

# i2cdump 0 0x2c
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 01 00 ff ff ff ff 00 00 00 00 00 00 00 37 50 50    ?............7PP
10: 28 40 40 00 00 00 41 45 00 00 00 00 00 00 00 23    (@@...AE.......#
20: 80 00 57 40 00 ef c8 00 10 10 c2 c0 c3 83 bc 2e    ?.W@.??.???????.
30: 5e 86 87 68 69 66 87 98 ff ff ff 34 ff 36 ff ff    ^??hif??...4.6..
40: 14 14 c8 c8 ca ff ca 40 dd dd b5 b5 b7 00 b6 2f    ?????.?@?????.?/
50: ff ff ff ff ff ff ff ff 00 00 00 00 00 00 00 00    ................
60: 18 18 18 38 38 38 38 ff 28 00 ca b6 ff 00 00 00    ???8888.(.??....
70: 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59 59    YYYYYYYYYYYYYYYY
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00    . ..............
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................


vvv11
() автор топика
Ответ на: комментарий от vvv11

Странно. В нижней таблице указаны выходные и конфигурационные данные твоего чипа. Регистр 1Fh (10 f) показывает 23h это 35 в десятичных или просто градусах. Регистры 28h 29h показывают 10h = 16 градусов. В исходнике модуля ничего крименального нет, он построет по документации, которая указана в линке. На странице 36 перечислены регистры. К примеру при повышении температуры процессора вместо 10h буден значение соответсвенно выше. Значит биос использует поправку на температуру, веть внешние датчик не могут работать без потерь. Значит нам нужно выяснить можно ли эту поправку выудить из самого чипа или только из биоса.Если только из биоса, тогда тебе прийдеться смотреть температуру с калькулятором :).

linux/drivers/i2c/chips/adm1026.c строчка 124.

http://www.analog.com/UploadedFiles/Data_Sheets/779263102ADM1026_a.pdf

fishor
()
Ответ на: комментарий от fishor

А что можно вытащить из чипа? Судя по документации, он просто обрабатывает то, что на него подается через пары контактов 25,26 и 27,28. Что там включено -- бог весть, документации к м.плате нет, IWill дает только инструкцию.

Очень похоже, что температуры temp2,3 измеряются относительно температуры temp1 (т.е. фактически температуры платы, т.к. это внутренний датчик чипа?). Тогда для данных из дампа получаются температуры процессоров = 51 град, что близко к показаниям биоса (дамп сделан при загрузке процессоров порядка 60% и активной работе с дисками).

vvv11
() автор топика
Ответ на: комментарий от vvv11

Попробуй вот такую штуку. Сделай чтобы модуль adm1026 не загружался потому что он может сам и збрасывает все настройки биоса, i2cdump определенно может это сделать. Тогда мы не сканируя весь чип и не трогая други регистров глянем что он нам говорит. Если результат будет похожим тогда будем редактировать sensors.conf

i2cset -y 0 0x2c 0x1f 0x00

i2cset -y 0 0x2c 0x28 0x00

i2cset -y 0 0x2c 0x29 0x00

fishor
()
Ответ на: комментарий от fishor

Sensors.conf пример

chip "adm1026-*"

   label temp1 "M/B Temp" (temp1 поменяешь на название твоего файла)
   label temp2 "CPU Temp" (тоже самое)
   compute temp2 @ +10, @ -10 (тут мы с учетом погрешности на 10
 градусов изменили выводные данные temp2, 
подробнее читать man sensors.conf. Также не поленись и посмотри
 другие примеры из sensors.conf)
Чесно говоря compute я только что нашел, в практике еще не было
 необходимости

fishor
()
Ответ на: комментарий от vvv11

> Очень похоже, что температуры temp2,3 измеряются относительно температуры temp1

Это было бы глупо. Но некоторые производители и не то вытворяют ;)

fishor
()
Ответ на: комментарий от fishor

# i2cset -y 0 0x2c 0x1f 0x00 
Error: Could not open file `/dev/i2c-0': No such device or address

С холодной попробую позже.
Кстати, включенный SMB2.0 (модуль amd8111) может мешать?

vvv11
() автор топика
Ответ на: комментарий от vvv11

modprobe i2c-core
modprobe i2c-dev
modprobe i2c-sensor
modprobe i2c-amd8111
эти модули должны быть загружены. По холодному я имел в виду после отключения.

fishor
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.