Fancontrol – regulace otáček v linuxu
Autor bjPro 11
Protože jsem upgradoval moje PC a duchaplně použil komponenty podporující technologii Pulsně šířkové modulace, neboli PWM (Pulse Width Modulation), rozhodl jsem se získat kontrolu nad otáčkami všech ventilátorů v PC bedně. Když nepočítám zdroj, tak jsou celkem 2 (slovy dva), jeden klasický na chladiči procesoru a jeden velký (12cm) zabudovaný do bočnice hned vedle pasivního chladiče grafické karty…
Pro SW PWM regulaci v OS Win XP :) jsem použil známý program SpeedFan ( o tom snad někdy příště) a následně jsem se začal zajímat jak ovládnout ventilátory i v mém druhém systému a to linuxovém Xubuntu… Takže jsem nažhavil google, prolezl spoustu diskuzních fór a stránek o linuxu a nasál tak dostupné informace. Pak stačilo jen zapnout konzoli a vrhnout se na to…

SENSORS
Jako první je třeba stáhnout a nainstalovat balíček lm_sensors, což s ubuntu repositáři není žádný problém. Následně se pomocí příkazu sensors -detect zjistí konfigurace HW a uloží se defaultně do konfiguračního souboru /etc/sensors.conf. Dále se pomocí příkazu modprobe zavedou potřebné moduly, pak sensors -s pro načtení konfigurace a tramtadadá … senzory fungují.
Pak lze kdykoliv z příkazové řádky zadat příkaz sensors, který vypíše zjištěné hodnoty jako jsou teploty, napětí, otáčky … nebo je možné použít sensors-aplet, grafické zobrazení měřených hodnot na liště.
Nicméně sensors slouží pouze pro pasivní monitoring zařízení, pro samotnou regulaci otáček ventilátorů je tu …
FANCONTROL
Příkazem fancontrol se spouští vytoužená regulace, nejprve je však potřeba nastavit jednotlivé parametry a požadované hodnoty. To se provede příkazem pwmconfig, který má za úkol provést uživatele celým procesem nastavení a pak vše uloží do souboru /etc/fancontrol. V průběhu konfigurace se nastavují tyto proměnné:
- INTERVAL je interval mezi sledováním, 10 s je OK
- FCTEMP jsou senzory teploty, liší se jen číslem na konci.
- FCFANS jsou příslušné sledovače otáček, pozor na zmíněné pořadí větrák – teplota
- MINTEMP/MAXTEMP udává rozsah řízení otáček podle teploty
- MINSTART hodnota, při které se větráček roztočí
- MINSTOP hodnota vypnutí větráčku
- MINPWM/MAXPWM minimální a maximální hodnoty v rozsahu řízení otáček.
Naštěstí není třeba si hodnoty otáček cucat z prstu, protože před konfigurací proběhne kalibrace jednotlivých ventilátorů.
Pokud je potřeba nějaké nastavení změnit, dá se konfigurační soubor kdykoliv editovat a upravit, nebo znovu spustit konfigurační skript pwmconfig.
Aby všechno fungovalo samo, je vhodné skript přidat do seznamu automaticky spuštěných. V Ubuntu to je /etc/rc.local . Přidá se kamkoliv před příkaz exit 0 řádek /usr/sbin/fancontrol. A při příštím restartu už by mělo všechno automaticky foukat tak jak je třeba… .
Na závěr výpis mého nastavení:
bj@gunhead:/$ sensors
it8718-isa-0290
Adapter: ISA adapter
in0: +1.18 V (min = +0.00 V, max = +4.08 V)
in1: +1.92 V (min = +0.00 V, max = +4.08 V)
in2: +3.36 V (min = +0.00 V, max = +4.08 V)
in3: +2.98 V (min = +0.00 V, max = +4.08 V)
in4: +0.22 V (min = +0.00 V, max = +4.08 V)
in5: +0.02 V (min = +0.00 V, max = +4.08 V)
in6: +0.10 V (min = +0.00 V, max = +4.08 V)
in7: +3.07 V (min = +0.00 V, max = +4.08 V)
in8: +3.15 V
fan1: 504 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
temp1: +34.0°C (low = +127.0°C, high = +127.0°C) sensor = transistor
temp2: +35.0°C (low = +127.0°C, high = +127.0°C) sensor = thermal diode
temp3: -2.0°C (low = +127.0°C, high = +127.0°C) sensor = transistor
cpu0_vid: +1.700 V
———————————————————-
Loading configuration from /etc/fancontrol …
Common settings:
INTERVAL=10
Settings for hwmon0/device/pwm1:
Depends on hwmon0/device/temp2_input
Controls hwmon0/device/fan1_input
MINTEMP=30
MAXTEMP=60
MINSTART=0
MINSTOP=0
MINPWM=0
MAXPWM=255
Settings for hwmon0/device/pwm2:
Depends on hwmon0/device/temp2_input
Controls hwmon0/device/fan1_input
MINTEMP=30
MAXTEMP=60
MINSTART=150
MINSTOP=100
MINPWM=100
MAXPWM=255
Settings for hwmon0/device/pwm3:
Depends on hwmon0/device/temp1_input
Controls hwmon0/device/fan1_input
MINTEMP=35
MAXTEMP=60
MINSTART=30
MINSTOP=28
MINPWM=28
MAXPWM=255
Enabling PWM on fans…
Starting automatic fan control…
Náhodné články

1 komentář
bj 11. 12. 2008 , 21.33
Ještě jsem zapoměl dodat, že je potřeba mít vypnutou automatickou regulaci otáček v BIOSu