Základná doska B450M S2H, chip it8686 a lm-sensors.

05.11.2020 | 17:16 | zaphod | zaphod

Získanie údajov zo senzorov na základnej doske.

Konfigurácia:

Linux MX-19.2_x64 ahs
AMD Athlon 200GE
GIGABYTE B450M S2H
kernel 5.8.0-2-amd64

Pre snímanie údajov zo senzorov je na základnej doske chip ITE IT8686E.

sudo sensors-detect vypíše:
Found `ITE IT8686E Super IO Sensors'                        Success!
    (address 0xa40, driver `to-be-written')
Driver nie je. Výpis sensors to potvrdí:
$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
Vcore:        +0.83 V  
Vsoc:         +1.09 V  
Tctl:         +27.4°C  
Tdie:         +27.4°C  
Icore:        +2.00 A  
Isoc:         +2.75 A  

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +16.8°C  (crit = +20.8°C)

amdgpu-pci-0900
Adapter: PCI adapter
vddgfx:           N/A  
vddnb:            N/A  
edge:         +27.0°C  (crit = +80.0°C, hyst =  +0.0°C)
Pri prehľadávaní internetu som cez ArchWiki našiel adresu driveru it87 - https://github.com/frankcrawford/it87. Stiahol som ho a preložil podľa návodu:
make clean
make
sudo make install
Aktivácia modulu:
sudo modprobe it87 ignore_resource_conflict=1 mmio=1
Výpis senzorov z it8686:
$ sensors it8686-isa-0a40
it8686-isa-0a40
Adapter: ISA adapter
in0:          +0.40 V  (min =  +0.00 V, max =  +3.06 V)
in1:          +2.06 V  (min =  +0.00 V, max =  +3.06 V)
in2:          +2.00 V  (min =  +0.00 V, max =  +3.06 V)
in3:          +2.03 V  (min =  +0.00 V, max =  +3.06 V)
in4:          +1.10 V  (min =  +0.00 V, max =  +3.06 V)
in5:          +0.91 V  (min =  +0.00 V, max =  +3.06 V)
in6:          +1.24 V  (min =  +0.00 V, max =  +3.06 V)
3VSB:         +3.29 V  (min =  +0.00 V, max =  +6.12 V)
Vbat:         +3.05 V  
fan1:        1973 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
temp1:        +27.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp2:        +40.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp3:        +26.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = AMD AMDSI
temp4:        +18.0°C  (low  =  +0.0°C, high = +127.0°C)  sensor = thermistor
temp5:        +28.0°C  (low  =  +0.0°C, high = -120.0°C)  sensor = thermistor
temp6:        +36.0°C  (low  =  +0.0°C, high = -120.0°C)  sensor = thermistor
intrusion0:  ALARM

Nezrozumiteľný výpis. Podľa podobných konfigurácií z internetu a výpisu modulov "Smart Fan 5"(teplota) a "PC Health"(napätie) z biosu som vytvoril konfiguračný súbor:

/etc/sensors.d/B450M-S2H
# Experimental config for Gigabyte B450M S2H
# https://www.gigabyte.com/Motherboard/B450M-S2H-rev-10#kf
#
# This config is based on:
# https://fossies.org/linux/lm-sensors/configs/Gigabyte/X470-AORUS-ULTRA-GAMING.conf

chip "it8686-isa-0a40"
  label temp1 "System"
  label temp2 "Chipset"
  label temp3 "CPU"
# label temp4 "PCIEX16"
  label temp5 "VRM MOS"
  label temp6 "VSOC MOS"
  ignore temp4
  ignore intrusion0

  label in0 "CPU Vcore"
  label in1 "+3.3V"
  label in2 "+12V"
  label in3 "+5V"
  label in4 "CPU Vcore SOC"
  label in5 "CPU Vddp"
  label in6 "DRAM A/B"

  compute in1 @*1.65,@*1.65
  compute in2 @*6,@*6
  compute in3 @*2.5,@*2.5
Záverečný výpis:
$ sensors
k10temp-pci-00c3
Adapter: PCI adapter
Vcore:        +0.84 V  
Vsoc:         +1.09 V  
Tctl:         +28.1°C  
Tdie:         +28.1°C  
Icore:        +5.00 A  
Isoc:         +3.00 A  

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +16.8°C  (crit = +20.8°C)

it8686-isa-0a40
Adapter: ISA adapter
CPU Vcore:      +0.84 V  (min =  +0.00 V, max =  +3.06 V)
+3.3V:          +3.41 V  (min =  +0.00 V, max =  +5.05 V)
+12V:          +12.02 V  (min =  +0.00 V, max = +18.36 V)
+5V:            +5.07 V  (min =  +0.00 V, max =  +7.65 V)
CPU Vcore SOC:  +1.09 V  (min =  +0.00 V, max =  +3.06 V)
CPU Vddp:       +0.91 V  (min =  +0.00 V, max =  +3.06 V)
DRAM A/B:       +1.22 V  (min =  +0.00 V, max =  +3.06 V)
3VSB:           +3.29 V  (min =  +0.00 V, max =  +6.12 V)
Vbat:           +3.05 V  
fan1:          1985 RPM  (min =    0 RPM)
fan2:             0 RPM  (min =    0 RPM)
System:         +27.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
Chipset:        +40.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
CPU:            +28.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = AMD AMDSI
VRM MOS:        +28.0°C  (low  =  +0.0°C, high = -120.0°C)  sensor = thermistor
VSOC MOS:       +37.0°C  (low  =  +0.0°C, high = -120.0°C)  sensor = thermistor

amdgpu-pci-0900
Adapter: PCI adapter
vddgfx:           N/A  
vddnb:            N/A  
edge:         +28.0°C  (crit = +80.0°C, hyst =  +0.0°C)

Pre automaticke natiahnutie modulu mám súbory:

/etc/modules-load.d/it87.conf
it87
/etc/modprobe.d/it87.conf
options it87 ignore_resource_conflict=1 mmio=1

Grafický výpis:

xsensors

Rozloženie senzorov na doske:

Rozloženie senzorov

Modré sú piny pre ventilátory, červené snímače teploty.

Záver:

Kernel obsahuje starú verziu modulu it87, ktorý nepozná novšie chipy.

Ak sa nezadá parameter ignore_resource_conflict=1 modul skončí na chybu "Device or resource busy"

Hlásená teplota rôznych verzií Ryzen procesorov sa môže líšiť od skutočnej teploty. Modul k10temp s tým ráta, výstup z it8686 treba upraviť podľa neho.

Firma Gigabyte často používa chip ITE IT8686E v základných doskách pre Ryzen procesory. Možno bude tento zápis pre niekoho užitočný.

    • RE: Základná doska B450M S2H, chip it8686 a lm-sensors. 08.11.2020 | 20:06
      Avatar iky   Návštevník

      Zaujímavé to určite je akurát si to mohol lepšie okomentovať, pôsobilo by to viac "ľudsky" aj tak ďakujem.

      :-)