Powernow-k8 és fancontrol HOGYAN, Debian alatt
Aewyn
aewyn@cloneshit.hu
2004.12.08
Ez a leírás arról szól, hogy használjuk ki az Athlon 64-es alaplapok energiatakarékos (Cool’n'Quiet) üzemmódját, és hogyan telepítsünk hőfokfüggő ventillátor-szabályzást. (Közben nem mellesleg tapossuk kicsinyt az ASUS K8V SE Deluxe alaplapját; csak épphogy.)
A leírásban a debian/sid eredeti 2.6.9-1-k7-es kernelére vonatkozik; ha 2.6-os debian kernelt használsz, akkor jó eséllyel passzolni fog a doksi.
Vigyázz! Ha ügyes vagy, tönkreteheted a processzort és/vagy az alaplapot, ami a legritkább esetben tesz jót az önbecsülésednek. Én szóltam.
A HOGYAN legújabb verziója itt érhető el: http://www.cloneshit.hu/index.php?p=1759
txt-ben itt: http://www.cloneshit.hu/aewyn/powernow-k8.txt
Én pedig itt, ne kímélj: aewyn@cloneshit.hu
Licensz: GNU FDL
További infó:
Cool’n'Quiet
Tartalom:
1., Cool’n'Quiet: Powernow-k8
2., HW figyelés
3., Fancontrol
1., Cool’n'Quiet: Powernow-k8
A C’n'Q a terheléstől függően menet közben képes változtatni a processzor órajelét és feszültségét, így a rendszer kevésbé melegszik, kevésbé terheli a tápegységet és így a teljes rendszer csendesebb lehet.
A telepítéshez első lépésben a kernel modulokat kell betölteni:
# modprobe powernow-k8
# modprobe cpufreq-userspace
Ahhoz, hogy ezek újraindítás után betöltődjenek, természetesen ki kell velük egészíteni az /etc/modules állományt.
Majd telepítenünk egy kicsinyke démont:
# apt-get install powernowd
A jó hír az, hogy ezzel elviekben készen vagyunk, a C’n'Q-nak innentől működnie kell. A rossz hír az, hogy az ASUS K8V SE Deluxe és a powernow-k8 nem szereti egymást:
http://lists.debian.org/debian-kernel/2004/11/msg00297.html
in arch/i386/kernel/cpu/cpufreq/powernow-k8.c comment line 639 out:
return -ENODEV;
Ezzel az apró módosítással a kernelmodul működni fog. Fordítottam neked egy javított modult, letöltheted innen:
http://www.cloneshit.hu/aewyn/powernow-k8.ko
Ezzel kell felülírni az
/lib/modules/2.6.9-1-k7/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k8.ko
állományt, majd betölteni végre a modult és újraindítani a démont:
# modprobe powernow-k8
# modprobe cpufreq-userspace
# /etc/init.d/powernowd start
Állítólag a 2.6.10-es kernelmodulban ez már működik varázslat nélkül is, hmmm.
A K8V SE Deluxe lapon NE frissíts BIOS-t a gyári CrashFree rendszerrel, mert elhalálozik a BIOS. Komolyan.
BIOS infórmáció az ASUS oldalán
elhalálozott BIOS
2., HW figyelés
A hőmérséklet/feszültség/fordulatszámok figyelésére telepítsük az lm-sensors-t.
De előtte olvassunk utána, hogy nem nyírja-e ki kedves ThinkPad-ünket. Esetleg.
Szegény ThinkPad
www.linux-thinkpad.org
Lm-sensors README
Lm-sensors helyett használható az ACPI is, bár ez a K8V-n kevés sikerrel kecsegtet.
# apt-get install lm-sensors
A megfelelő modulokat a sensors-detect keresi meg nekünk; K8V-re már megkerestem, csak be kell tölteni őket:
# modprobe i2c-viapro
# modprobe i2c-isa
# modprobe w83627hf
és tesztelni:
# sensors
Ahhoz, hogy a K8V az alacsony fordulatszámokat egyáltalán megmutassa, módosítani kell az /etc/sensors.conf állományt: keressük meg a
chip "w83697hf-*"
szekciót, majd bővítsük a set listát:
set fan1_div 16
set fan2_div 16
A változásokat etessük meg:
# sensors -s
Örül.
3., Fancontrol
A K8V rendelkezik egy csodás Q-fan rendszerrel, amely képes a processzorventi fordulatszámát a hőmérséklettől függően változtatni. Ez a rendszer azonban egyrészt használhatatlan, másrészt a kernelmodulok a betöltődés után adnak az egésznek egy maflást. Cserébe az eredetinél egy sokkal jobb megoldást használhatunk.
A /sys megfelelő részén akár kézzel is módosíthatjuk a ventillátor fordulatszámát:
# echo 255 > /sys/bus/i2c/devices/5-0290/fan2_pwm
Ezzel maximumális fordulatszámra állítottuk be a processor ventijének fordulatszámát. 255-nél kisebb értéket megadva a fordulatszám csökkenni fog, 100 körül a ventillátor megáll, tehát csak ÓVATOSAN.
Na még egyszer: LEÁLLHAT A PROCESSZORVENTILLÁTOR !!!
Ami Athlon 64 és egy tisztességes hűtő esetén nem olyan katasztrófa, akár percekig is elketyeghet így, de azért mégiscsak.
A továbbiakban ezért erősen javasolt a processzor ventillátorát átdugni egy másik tüskére (célszerűen a Chassis Fan helyére, mert ezt monitorozza még a chip), majd a proc. ventillátorának helyére a házventit kötni, és azzal játszadozni. Ha zavar a processzorventillátor zaja, akkor érdemes fordulatszám-szabályzót közbeiktatni. Egy Zalman CU7000-es hűtő minimális fordulatszám mellett gyakorlatilag hangtalan és 35 fokon tartja a processzort.
Az lm-sensors mellé csomagolt fancontrol programmal a szabályzást hőmérsékletfüggővé tehetjük. A fancontrol-nak szüksége van a /etc/fancontrol konfigurációs állományra. Ezt a
# pwmconfig
állítja elő nekünk. Az én állományom a következőket tartalmazza:
INTERVAL=10
FCTEMPS=5-0290/fan2_pwm=5-0290/temp2_input
FCFANS= 5-0290/fan2_pwm=5-0290/fan2_input
MINTEMP=5-0290/fan2_pwm=40
MAXTEMP=5-0290/fan2_pwm=45
MINSTART=5-0290/fan2_pwm=100
MINSTOP=5-0290/fan2_pwm=255
Azaz 40 foknál kapcsol be a ventillátor, és 45 foknál már maximális fordulaton pörög. 10 másodpercenként figyeli a hőmérsékletet, ami itt a processzor hőmérséklete, de ez átállítható a ház hőmérsékletére.
A szabályzás ezzel indul:
# fancontrol
Ettől persze elegánsabb, ha démonként indítjuk. Dean Takemori munkája alapján hegesztettem debian-ra egy initscript-et, letölthető innen:
http://www.cloneshit.hu/aewyn/fancontrol.sh
A működéséhez szükséges a daemon csomag:
# apt-get install daemon
Az initscriptet be kell másolni az /etc/init.d alkönyvtárba, indítani így lehet:
# /etc/init.d/fancontrol.sh start
Leállítani pedig meglepő módon így:
# /etc/init.d/fancontrol.sh stop
Ha szeretnénk, hogy indulás után ez rögvest működjön, akkor készíteni kell egy symlinket:
# ln /etc/init.d/fancontrol.sh /etc/rcS.d/S37fancontrol.sh -s
Az Athlon 64 terhelésre sem forrósodik fel túlságosan, így tényleg érdemesebb ilyenkor a házból eltávolítani a felmelegedett levegőt, többet érünk el vele, mint a processzor nagyobb hűtésével. Különösen igaz ez csendes, fordulatszám-szabályzós tápegységek mellett, ahol nagyobb terhelés esetén mindenképpen érdemes külön ventivel szellőztetni a házat. Erre tökéletesen alkalmas a fancontrol.
További infó:
Q-fan boldogság
Fancontrol a debian levlistán
Leírás a fordulatszám-szabályzásról
No, béke veletek.
Popularity: 3% [?]
