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 alapjá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 szöveges formában pedig itt: http://www.cloneshit.hu/aewyn/powernow-k8.txt Én pediglen itt, ne kímélj: aewyn@cloneshit.hu Cool'n'Quiet: http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_9485_9487^10272,00.html 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 Ezzel az apró módosítással a kernelmodul működni fog. Fordítottam neked egy javított modult, letöltheted innen: 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 újratölteni 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 már ez már működik varázslat nélkül is, hmmm. A K8V SE Deluxe lapon NE frissíts BIOS a gyári CrashFree rendszerrel, mert elhalálozik a BIOS. Komolyan. http://www.asus.com.tw/support/download/item.aspx?ModelName=K8V%20SE%20Deluxe&Type=All http://forums.viaarena.com/messageview.cfm?catid=15&threadid=56616&enterthread=y 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. http://lists.debian.org/debian-user/2002/05/msg01781.html http://www.linux-thinkpad.org/ http://www2.lm-sensors.nu/~lm78/cvs/browse.cgi/lm_sensors2/README.thinkpad 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ályozó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 erre egy initscript-et, letölthető innen: http://www.cloneshit.hu/aewyn/powernow-k8.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ályozó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ó: http://www.cloneshit.hu/index.php?p=1755 http://lists.debian.org/debian-amd64/2004/10/msg00132.html http://www.maxim-ic.com/appnotes.cfm/appnote_number/707 No, béke veletek.