Страницы

суббота, 7 января 2017 г.

Intel DH77KC Nuvoton NCT6776D sensors. Напряжения, температуры, вентиляторы в Linux. Настройка и мониторинг

Распаковав из ангара,в терминах Eve Online, свою давнюю систему, построенную на платформе Intel ® H77 Express Platform и процессоре Intel 3-поколения.
Как же прекрасен вид, раритетной десктопной платы Intel - таких сейчас уже не выпускают. Фанатом я был и остаюсь как AMD, так и Intel. Поэтому две платформы, при полном развёртывании позволяют "чудить как хочешь", "мерить что хочешь" и на собственном опыте, а не по обзорам заметить все тонкости.
Сейчас, это "старое" железо (3-4 летней давности) входит в стадию зрелости и поддержка в Linux приближается к 100%.

Решил провести стандартный цикл обслуживания и настройки. Благо для платформы процессора AMD, я это сделал недавно, в заметке "Asrock FM2A85X-ITX Nuvoton NCT5573D sensors. Напряжения, температуры, вентиляторы в Linux".

Первый запуск не удался. Железная планка завалилась и замкнула контакты. Но, сработала защита от замыкания, очень качественного и бесшумного блока питания.
Модуль памяти плохо сидел в слоте. Вообщем, кантовка компьютерных систем не обходится без последствий. Поправил и запустил свою текущую систему Fedora 25.
Стартовала шустрее и плавнее, чем на платформе AMD, это проявляется в некоторых задержках, чуствуемых мною. Т.е. процессор пошустрее, хотя в том же классе.

Итак, lm_sensors - пакет мониторинга напряжений, температур, вентиляторов. Установлен и настроен уже в этой системе Fedora, надо только добавить специфический конфигурационый файл, для сенсоров этой конкретной платы.

Основной конфигурационный файл: /etc/sensors3.conf

Intel DH77KC sensors, lm_sensors


Подопытная плата: Intel DH77KC + Intel Core i3-3225 with Intel HD4000 graphics.

Конфигурационный файл конкретной системы, обычно помещается в папку /etc/sensors.d/

Чип мониторинга установлен здесь: Nuvoton NCT6776D

Подключено большое количество сенсоров, вентиляторов и термодатчиков.
Реализована зона ACPI Thermal - это фейрверк уважения к разработчикам компании Intel.
Эта плата запускает старые версии Mac OS X без переделки.

По части мониторинга - очень шикарная обстановка. Однако проблема настройки присутствует и её надо довести до ума.

Чип Nuvoton NCT6776D определился по другому адресу (nct6776-isa-0a00), так что конфликта со старой настройкой нет и создается новый специфический конфигурационный файл для этой платы. Этот адрес и будет ключём выбора нужной настройки в зависимости от платформы на которой загружена.

Первоначальный вывод команды sensors выглядел так:

nct6776-isa-0a00
Adapter: ISA adapter
Vcore:                  +1.01 V  (min =  +0.00 V, max =  +1.74 V)
in1:                    +1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
AVCC:                   +3.42 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
+3.3V:                  +3.41 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in4:                    +1.05 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:                    +1.01 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in6:                    +1.03 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
3VSB:                   +3.18 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
Vbat:                   +3.26 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
fan1:                   423 RPM  (min =    0 RPM)
fan2:                  1078 RPM  (min =    0 RPM)
fan3:                   535 RPM  (min =    0 RPM)
fan4:                     0 RPM  (min =    0 RPM)
SYSTIN:                 +37.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor = CPU diode
CPUTIN:                 +40.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor = CPU diode
PECI Agent 0:           +33.0°C  (high = +80.0°C, hyst = +75.0°C)
                                 (crit = +105.0°C)
PCH_CHIP_CPU_MAX_TEMP:  +48.0°C  (high = +80.0°C, hyst = +75.0°C)
PECI Agent 1:            +0.0°C  (high = +80.0°C, hyst = +75.0°C)
                                 (crit =  +0.0°C)
PCH_CHIP_TEMP:           +0.0°C 
intrusion0:            ALARM
intrusion1:            ALARM
beep_enable:           disabled

acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +106.0°C)
temp2:        +29.8°C  (crit = +106.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +34.0°C  (high = +85.0°C, crit = +105.0°C)
Core 0:         +32.0°C  (high = +85.0°C, crit = +105.0°C)
Core 1:         +34.0°C  (high = +85.0°C, crit = +105.0°C)


Видно, что сработали разные типы сенсоров.

Процитирую самого себя из [], поправив сведения на актуальные.

"Итак, чип мониторинга Nuvoton NCT6776D в части мониторинга
содержит 9 аналоговых входов (в отличии от 8 у NCT5573D рассмотренного ранее), присоединённых к 8-битному АЦП
Максимальное напряжение на входе АЦП: 2.048 V (256 шагов x 8mV = 2.048V).

4 внешних аналоговых входа обозначенных как (VIN0,VIN1, VIN2, VIN3).
Куда и как разведены VIN0, VIN1, VIN2, VIN3 на этой конкретной плате, можно только догадываться (а можно и вычислить по спецификациям Intel), но если следвать спецификации и её примерам, то VIN0 - это измерение 12 В линии питания, предположительно.

5 внутренних аналоговых входа обозначенных как (CPUVCORE, AVCC, VBAT, 3VSB, 3VCC) и присоединенных через внутренние резистивные делители к источнику питания (а вот куда - это неизвестно). Но имеют осмысленные обозначения, так что их легко понять имея опыт.


Для мониторинга напряжений, чьи верхние значения диапазона ниже 2.048 вольт не нужно применять резистивных делителей.
Таким напряжением является напряжение ядра процессора, которое в нашем случае, скорее всего присоединено к выводу CPUCORE чипа мониторинга. Так и есть. Это подтверждается значениями напряжения в BIOS и других средств мониторинга под Windows. Верхняя граница установлена по данным BIOS, нижняя - наименьшее наблюдаемое мною за некоторый период наблюдений. Возможно требует уточнения по спецификации процессора.

AVCC, VBAT, 3VSB, 3VCC - не требуют большого вмешательства. Лишь установление правильных границ в соответствии со спецификацией ATX, в зависимости от версии поддерживаемой блоком питания.

Для мониторинга положительного +12В напряжения, в спецификации на чип мониторинга рекомендуют применять резистивный делитель с номиналами резисторов 10 кОм и 56 кОм. Эти значения попадают в стандартный диапазон сопротивлений.

При определении вывода показывающего напряжение +5V, подбирался множитель, чтобы значение соответствовало напряжению для пяти вольт в BIOS (переписанные ранее значения и их возможные изменения)."


Замечу, что в моей Intel-системе, применяется новый бесшумный блок питания Chieftec CPS-500C, который соответствует спецификациям "ATX v2.3+EPS12V". Спецификация ATX v2.3 задает диапазон изменения питающих напряжений для большей их части (кроме минус -12V), в пределах 5 процентов и блок из них не выходит, хотя спецификация ATX v2.3 разрешает 10 процентов при пиковой нагрузке, для +12V.

Итак, конфигурационный файл для материнской платы Intel DH77KC, с процессором Intel I3-3225  и блоком питания Chieftec CPS-500C.

Расположение конфигурационного файла:  /etc/sensors.d/intel-DH77KC.conf

Содержимое файла /etc/sensors.d/intel-DH77KC.conf

# Материнская плата: Intel DH77KC
# Процессор: Intel i3-3225 (Ivy Bridge)
# Блок питания: Chieftec CPS-500C (ATX 2.3+EPS12V)
# Чип мониторинга: Nuvoton NC6776D (исп. драйвер NCT6776D, Kernel driver NCT6775)
# Дата: 7 января 2017 года
# сервер: blue
# Поместить этот файл в /etc/sensors.d/
# URL: http://gimmor.blogspot.com/2017/01/intel-dh77kc-nuvoton-nct6776d-sensors.html
#

# Суженый выбор чипа, для платы Intel DH77KC, после определения sensors-detect
chip "nct6776-isa-0a00"

# Неработающие или неиспользуемы выводы

ignore  intrusion1

# отключаем сирену
ignore beep_enable


ignore temp0
ignore temp3
ignore temp4
ignore temp5
ignore temp6
ignore temp9
# temp10 - показывать 0 градусов
ignore temp10


ignore fan4


# Описание взято из описания чипа Nuvoton NCT6776D
# Чип мониторинга Nuvoton NCT6776D содержит 9 аналоговых входов, присоединённых к 8-битному АЦП (256 градаций измерений)
# Максимальное напряжение на входе АЦП: 2.048 V (256 шагов x 8mV = 2.048V)
# Диапазон напряжений ATX стандарта в соответствии с ATX 2.3+EPS12V (3.2.1 DC Voltage Regulation)
# 4 внешних входа присоединённых к (VIN0,VIN1,VIN2 VIN3)
# Их соответствие программным обозначениям in.. может меняться и быть на усмотрения производителя платы
# Из VisualBIOS вычислено

# Для домашнего использования. Значения и привязки нужно проверять
   
    # in0 - Processor core, VID
    # Определена благодаря технологии Intel SpeedStep (меняется напряжение в широких пределах)
    # Также определена по обычаю in0 - CPUVCORE
    label in0 "CPU #1 Core, VID"
    # Границы заданы в соответствии со спецификацией (datasheet) на процессор 3-поколения
    # Desktop 3rd Generation Intel ® CoreTM Processor Family, Desktop Intel ® Pentium ® Processor Family,and Desktop Intel ® Celeron ® Processor Family datasheet - Volume 1 of 2
    # 7.10.1 Voltage and Current Specifications
    set in0_min 0.25
    set in0_max 1.52
 

    # in4 - PCH
    # in4 - PCH вычислено, т.к. в BIOS CPU 1 Core 1.04 и PCH 1.04
    # Границы напряжения для PCH?
    # Границы напряжений 0.998-1.102
    # В соотв. со спецификацией на чипсет Intel H77 Express, но она уже недоступна
    # Настроена защита границ 10 мВ
    label in4 "PCH"
    set in4_min 0.998+0.010
    set in4_max 1.102-0.010

    label in1 "ATX +12V"
    set in1_min 11.4
    set in1_max 12.6
    compute in1 12*@, @/12   

    # in2 - Линия питания +3.3V
    label in2 "ATX +3.3V"
    set in2_min 3.14
    set in2_max 3.47

    # in3 - Линия питания +3.3VSB (±5%)
    label in3 "ATX +3.3V StandBy"
    set in3_min  3.14
    set in3_max  3.47


    # in6 - Линия питания +5VDC (±5%)
    # (вычислено по совпадениям со значениям BIOS)
    label in6 "ATX +5V"
    set in6_min  5-(5*5/100)
    set in6_max  5+(5*5/100)
    compute in6 5*@, @/5


    # in5 - Линия питания модулей памяти
    # in5 - DDR3 SDRAM, установлено точно, благодаря разгону в BIOS
    # JEDEC standard 1.5V ± 0.075V Power Supply
    # 10.1 Recommended DC Operating Conditions
    # VDD Min 1.425, Max 1.575
    # При разгоне, напряжение выходит за пределы стандарта и срабатывает тревога
    # Данные взяты из спецификации на модель памяти Samsung 4G M378B5173CB0-CK0
    label in5 "DDR3 SDRAM memory, VDD"
    compute in5 1.5*@, @/1.5
    set in5_min  1.5-0.075
    set in5_max  1.5+0.075



# Напряжение часовой батареи (RTC), обычно CR2032 li-Ion
# Номинальное напряжение 3В
# Напряжение разряженной батареи 2В
# Диапазон 2-3.6 В
# Батарейки-то у нас, неопределена

    # in7
    # in7 показывает напряжение в диапазоне, похожем на диапазон 3.3В
    # in7 показывает напряжение близкое к нижней границе диапазона 3.3В
    # Вполне возможно, вывод in7 мониторит напряжение батареи RTC
    label   in7            "RTC CR2032 battery?"
    set     in7_min        2
    set     in7_max        3.6

    # in8
    # in8 показывает напряжение в диапазоне, похожем на диапазон 3.3 В
    label   in8            "in8?"
    set     in8_min        3.14
    set     in8_max        3.47


# Температуры
# Intel i3-3225


# С температурами просто, описание к плате конкретно указывает где установлены
# температурные диоды (sensor type = CPU diode)
    # CPUTIN
    label temp2 "CPU Die temperature"
    set   temp2_max      85
    #set   temp2_crit     105
    set   temp2_max_hyst 80
    # SYSTIN
    label temp1 "Voltage regulator temperature"
    set   temp1_max      85
    set   temp1_max_hyst 80
   
    #PECI Agent 0
    label temp7 "Memory temperature"
    set   temp7_max      80
    # temp8 - "PCH_CHIP_CPU_MAX_TEMP"
    # Устаовлено по совпадению температур
    label temp8 "PCH"
   


# Системные вентиляторы

    # Вытяжной задний системный вентилятор
    label   fan1           "4-pin outlet fan (3-pin installed)"
    set     fan1_min       400
    # Процессорный вентилятор
    label   fan2       "4-pin processor fan"
    set     fan2_min       600
    # Притяжной передний системный вентилятор
    label   fan3       "4-pin inlet fan (3-pin installed)"
    set     fan3_min       400


# Поддержка датчика вскрытия корпуса

label intrusion0 "Case was opened"
set intrusion0_alarm 0
set intrusion0_beep 0




Вывод команды sensors, после настройки, для материнской платы-доски Intel  DH77KC.


 nct6776-isa-0a00
Adapter: ISA adapter
CPU #1 Core, VID:                    +0.82 V  (min =  +0.25 V, max =  +1.52 V)
ATX +12V:                           +12.29 V  (min = +11.42 V, max = +12.58 V)
ATX +3.3V:                           +3.41 V  (min =  +3.14 V, max =  +3.47 V)
ATX +3.3V StandBy:                   +3.41 V  (min =  +3.14 V, max =  +3.47 V)
PCH:                                 +1.05 V  (min =  +1.01 V, max =  +1.10 V)
DDR3 SDRAM memory, VDD:              +1.60 V  (min =  +1.43 V, max =  +1.57 V)  ALARM
ATX +5V:                             +5.16 V  (min =  +4.76 V, max =  +5.24 V)
RTC CR2032 battery?:                 +3.18 V  (min =  +2.00 V, max =  +3.60 V)
in8?:                                +3.26 V  (min =  +3.14 V, max =  +3.47 V)
4-pin outlet fan (3-pin installed):  432 RPM  (min =  400 RPM)
4-pin processor fan:                1090 RPM  (min =  600 RPM)
4-pin inlet fan (3-pin installed):   544 RPM  (min =  400 RPM)
Voltage regulator temperature:       +38.0°C  (high = +85.0°C, hyst = +80.0°C)  sensor = CPU diode
CPU Die temperature:                 +38.5°C  (high = +85.0°C, hyst = +80.0°C)  sensor = CPU diode
Memory temperature:                  +32.0°C  (high = +80.0°C, hyst = +75.0°C)
                                              (crit = +105.0°C)
PCH:                                 +53.0°C  (high = +80.0°C, hyst = +75.0°C)
Case was opened:                    ALARM

acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +106.0°C)
temp2:        +29.8°C  (crit = +106.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +35.0°C  (high = +85.0°C, crit = +105.0°C)
Core 0:         +31.0°C  (high = +85.0°C, crit = +105.0°C)
Core 1:         +35.0°C  (high = +85.0°C, crit = +105.0°C)


Видно, что памяти поднято напряжение, что позволило определить смысл входа сенсора in5, а также сигнал, что напряжение вышло из допустимого стандартом JEDEC.

Видно, что напряжение процессора регулируется.

Памятка


Напряжения вида, 1.01, 102, 1.03 - это середина диапазона АЦП и они установлены так, чтобы наблюдать как повышение напряжений, так и понижение. Разумно, только с применённым коэффициентом не очень понятно, ну и как обычно что куда присоединено.


Температура памяти, большей частью меньше, чем у регулятора напряжения  (видно в BIOS), это позволило понять где-какое значение.

Отсюда фишка - охлаждение сжатым воздухом подозрительных мест. Может быть как-нибудь.

Мультиметром замерил доступные напряжения, через Molex-разъём.
Получил значения 12.21 для 12 В, 5.17 для 5 В линий.

В руководстве к плате "Intel® Desktop Board DH77KC Technical Product Specification" указана фраза:
"Power monitoring of +12 V, +5 V, +3.3 V, 3.3 Vstandby, V_SM, +VCCP, and PCH VCC".
Откуда можно предполжить, что V_SM - это напряжение памяти
VCCP - похож на процессор, а
PCH VCC - это южный мост или Platform Controller Hub, чипсета H77.

Благодаря возможности менять напряжение питания для памяти, было установлено соответствие для входа измерения напряжения памяти и коэффициент. После этого, значения VisualBIOS, sensors стали синхронизированы.

Предположить что вход меряет конкретный номинал напряжения, умножить на номинал. Поиграться с возможностью изменения.

Заметил, что Intel подгоняет номинал напряжения к середине АЦП, а AsRock как пойдет.
 
※※※

Ресурсы



1. Intel VisualBIOS wiki. https://sites.google.com/site/visualbios/
2. Intel® Desktop Board DH77KC Technical Product Specification. см. Google
3. ATX v2.3. см. Google
4. Asrock FM2A85X-ITX Nuvoton NCT5573D sensors. Напряжения, температуры, вентиляторы в Linux. http://gimmor.blogspot.ru/2017/01/asrock-fm2a85x-itx-nuvoton-nct5573d.html

※※※
 

Комментариев нет: