Instalace OpenMediaVault
Při instalaci OMV na desku ASUS s chipsetem B250 ( Kaby Lake ) jsem narazil na problematiku se senzory otáček a teploty. Ventilátor chladiče procesoru měl nepříjemné otáčky a bylo je nutné snížit. Po instalaci
lm-sensors
a spuštění příkazu
sensors-detect
jsem obdržel tento výpis
Some south bridges, CPUs or memory controllers contain embedded sensors. Do you want to scan for them? This is totally safe. (YES/no): Silicon Integrated Systems SIS5595... No VIA VT82C686 Integrated Sensors... No VIA VT8231 Integrated Sensors... No AMD K8 thermal sensors... No AMD Family 10h thermal sensors... No AMD Family 11h thermal sensors... No AMD Family 12h and 14h thermal sensors... No AMD Family 15h thermal sensors... No AMD Family 15h power sensors... No AMD Family 16h power sensors... No Intel digital thermal sensor... Success! (driver `coretemp') Intel AMB FB-DIMM thermal sensor... No VIA C7 thermal sensor... No VIA Nano thermal sensor... No Some Super I/O chips contain embedded sensors. We have to write to standard I/O ports to probe them. This is usually safe. Do you want to scan for Super I/O sensors? (YES/no): Probing for Super-I/O at 0x2e/0x2f Trying family `National Semiconductor/ITE'... No Trying family `SMSC'... No Trying family `VIA/Winbond/Nuvoton/Fintek'... Yes Found unknown chip with ID 0xd121 (logical device B has address 0x290, could be sensors) Probing for Super-I/O at 0x4e/0x4f Trying family `National Semiconductor/ITE'... No Trying family `SMSC'... No Trying family `VIA/Winbond/Nuvoton/Fintek'... No Trying family `ITE'... No
Po chvilce hledání na internetu jsem našel označení kernel modulu nct6775, který má mít podporu pro sensory na této desce. Upravíme soubor /etc/modules, aby se nám modul nahrál při startu systému
nano /etc/modules
a na konec souboru zadáme následující text
# Sensors nct6775
Po uložení souboru přidáme tento modul do jádra příkazem
modprobe nct6775
Zadáním příkazu
sensors
dostaneme výpis, kde máme uvedeny všechny hodnoty
coretemp-isa-0000 Adapter: ISA adapter Physical id 0: +30.0°C (high = +80.0°C, crit = +100.0°C) Core 0: +28.0°C (high = +80.0°C, crit = +100.0°C) Core 1: +28.0°C (high = +80.0°C, crit = +100.0°C) acpitz-virtual-0 Adapter: Virtual device temp1: +27.8°C (crit = +119.0°C) temp2: +29.8°C (crit = +119.0°C) asus-isa-0000 Adapter: ISA adapter cpu_fan: 0 RPM nct6793-isa-0290 Adapter: ISA adapter in0: +0.34 V (min = +0.00 V, max = +1.74 V) in1: +1.01 V (min = +0.00 V, max = +0.00 V) ALARM in2: +3.39 V (min = +0.00 V, max = +0.00 V) ALARM in3: +3.39 V (min = +0.00 V, max = +0.00 V) ALARM in4: +1.03 V (min = +0.00 V, max = +0.00 V) ALARM in5: +0.16 V (min = +0.00 V, max = +0.00 V) ALARM in6: +0.90 V (min = +0.00 V, max = +0.00 V) ALARM in7: +3.38 V (min = +0.00 V, max = +0.00 V) ALARM in8: +3.18 V (min = +0.00 V, max = +0.00 V) ALARM in9: +1.00 V (min = +0.00 V, max = +0.00 V) ALARM in10: +0.15 V (min = +0.00 V, max = +0.00 V) ALARM in11: +0.13 V (min = +0.00 V, max = +0.00 V) ALARM in12: +0.14 V (min = +0.00 V, max = +0.00 V) ALARM in13: +0.13 V (min = +0.00 V, max = +0.00 V) ALARM in14: +0.14 V (min = +0.00 V, max = +0.00 V) ALARM fan1: 827 RPM (min = 0 RPM) fan2: 1200 RPM (min = 0 RPM) fan3: 0 RPM (min = 0 RPM) fan5: 0 RPM (min = 0 RPM) fan6: 0 RPM SYSTIN: +118.0°C (high = +98.0°C, hyst = +95.0°C) sensor = thermistor CPUTIN: +27.5°C (high = +80.0°C, hyst = +75.0°C) sensor = thermistor AUXTIN0: +31.0°C sensor = thermistor AUXTIN1: +112.0°C sensor = thermistor AUXTIN2: +111.0°C sensor = thermistor AUXTIN3: +110.0°C sensor = thermistor PECI Agent 0: +29.0°C (high = +98.0°C, hyst = +95.0°C) (crit = +100.0°C) PECI Agent 0 Calibration: +27.0°C PCH_CHIP_CPU_MAX_TEMP: +0.0°C PCH_CHIP_TEMP: +0.0°C intrusion0: ALARM intrusion1: ALARM beep_enable: disabled
Z výpisu je zřejmé, že sensor je nct6793 a ventilátor procesoru je fan2, který má 1200 RPM. Nyní musíme zjistit, ve kterém adresáři máme nastavení pwm2_enabled pro fan2, viz info zde. To zjistíme zadáním
ls /sys/class/hwmon
kde si vypíšeme jednotlivé podadresáře, které obsahují jednotlivá nastavení (hwmon0, hwmon1, hwmon2 …). Nyní zjistíme, ve kterém adresáři máme potřebná nastavení opakovaným zadáním příkazu
cat /sys/class/hwmon/hwmon0/name
kdy měníme jednotlivé adresáře (hwmon0, hwmon1 …) až najdeme náš senzor (v mém případě nct6793). Po nalezení adresáře (v mém případě hwmon1) zadáme příkaz
echo 2 | tee /sys/class/hwmon/hwmon1/pwm2_enable
Tím nastavíme řízení otáček podle teploty, detaily zde.
Okamžitě bychom měli slyšet, že se nám otáčky ventilátoru změnily. To zjistíme zadáním příkazu
sensors
a kontrolou výpisu.