Athlon energiatakarékosság HOGYAN

Daniel Nofftz

daniel@nofftz.net.NOSPAM

2003.08.29

Verziótörténet
Verzió: 1.022003.08.29Átdolgozta: dn
Új honlap, új e-mail cím -> frissített hivatkozások!
Verzió: 1.012003.07.09Átdolgozta: dn
Hibajavítás! Az AMD-lapkakészlet parancssoros hackelés rossz volt!
Verzió: 1.02003.06.20Átdolgozta: tm
Első kiadás, az LDP átnézte.
Verzió: 0.122003.06.13Átdolgozta: dn
Kissebb mértékű xml forráskód átdolgozás, végső tervezet az ldp kiadáshoz.

Tartalom
1. Bevezetés
1.1. Az Athlon processzor energiatakarékos üzemmódjának alapjai
1.2. Szerzői jog és licenc
1.3. A felelősség teljes elhárítása
1.4. Visszajelzés
1.5. A dokumentum új verziói
1.6. Magyar fordítás
2. Különféle módszerek
2.1. Hackelés parancssorból
2.2. Az athcool program
2.3. BIOS frissítések
2.4. A saját rendszermagfoltom
2.5. Az LVCool programot használó megoldás
3. Mi van még?
3.1. Ismert hibák és problémák
3.2. További teendők
3.3. Fordítások

1. Bevezetés


1.6. Magyar fordítás

A magyar fordítást Mócza Zsolt készítette (2003.10.20). A lektorálást Daczi László végezte el (2003.10.21). A dokumentum legfrissebb változata megtalálható a Magyar Linux Dokumentációs Projekt honlapján.


2. Különféle módszerek

Ebben a részben különféle módszereket mutatok be egyetlen cél elérése érdekében: ez pedig az energiatakarékosság Athlon-alapú rendszerünkön. Jelen pillanatban az én javaslatom az, hogy a "parancssoros hackelést" használjuk, mert a rendszermagfolt elavult és már nem fejlesztik tovább, az LVCool folt pedig csak egy lapkakészlet családot támogat. Az athcool program ígéretes, de én még nem teszteltem.

Ezen módszerek mindegyike beállítja a lapkakészlet északi hídjának "Lekapcsolódás engedélyezve STPGNT esetén" bitjét. Se többet se kevesebbet nem tesznek. Minden más feladatot a rendszermag ACPI alrendszere végez, mely elküldi az STPGNT szignált a processzornak, amikor acpi-c2 tétlen módba lép. (Egyedül az LVCool csinálja más módon...)

Ha jelenlegi rendszermagunk nem tartalmaz ACPI támogatást, engedélyezzük azt, és fordítsuk újra a rendszermagot. Az ACPI-beállításokat a General Setup+Power Management Setup->ACPI menüpontban találjuk. A következő beállításokat mindenképpen engedélyeznünk kell: ACPI Bus Manager, System és Processor.


2.1. Hackelés parancssorból

A parancssoros hackelés használatához a rendszermagban engedélyezni kell az ACPI támogatást. Ennek módja a A saját rendszermagfoltom fejezetben kerül bemutatásra. Ha rendszermagunk már tartalmazza az ACPI-processzor támogatást, az energiatakarékos üzemmódot közvetlenül parancssorból, újraindítás nélkül ki- és bekapcsolhatjuk.

KT133/133A, KX133, KL/KLE133, KM/KN133, ... esetén:

bekapcsolás: setpci -v -H1 -s 0:0.0 52=$(printf %x $((0x$(setpci -H1 -s 0:0.0 52) | 0x80)))

kikapcsolás: setpci -v -H1 -s 0:0.0 52=$(printf %x $((0x$(setpci -H1 -s 0:0.0 52) & 0x7f)))

KT266/266A/333, KM266/333, ... esetén:

bekapcsolás:

setpci -v -H1 -s 0:0.0 92=$(printf %x $((0x$(setpci -H1 -s 0:0.0 92) | 0x80)))

setpci -v -H1 -s 0:0.0 95=$(printf %x $((0x$(setpci -H1 -s 0:0.0 95) | 0x02)))

kikapcsolás:

setpci -v -H1 -s 0:0.0 92=$(printf %x $((0x$(setpci -H1 -s 0:0.0 92) & 0x7f)))

setpci -v -H1 -s 0:0.0 95=$(printf %x $((0x$(setpci -H1 -s 0:0.0 95) & 0xfd)))

KT400 esetén: (kísérleti jellegű! Kérlek írd meg, hogy működik-e.)

bekapcsolás:

setpci -v -H1 -s 0:0.0 D2=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D2) | 0x80)))

setpci -v -H1 -s 0:0.0 D5=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D5) | 0x02)))

kikapcsolás:

setpci -v -H1 -s 0:0.0 D2=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D2) & 0x7f)))

setpci -v -H1 -s 0:0.0 D5=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D5) & 0xfd)))

SIS730/733 esetén: (kísérleti jellegű! Kérlek írd meg, hogy működik-e.)

bekapcsolás: setpci -v -H1 -s 0:0.0 6B=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6B) | 0x01)))

kikapcsolás: setpci -v -H1 -s 0:0.0 6B=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6B) & 0xfe)))

SIS735/740/745/746/755 esetén:

bekapcsolás: setpci -v -H1 -s 0:0.0 6A=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6A) | 0x0001)))

kikapcsolás: setpci -v -H1 -s 0:0.0 6A=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6A) & 0xfffe)))

Nforce esetén:

bekapcsolás:

setpci -v -H1 -s 0:0.0 E7=$(printf %x $((0x$(setpci -H1 -s 0:0.0 E7) | 0x06)))

setpci -v -H1 -s 0:0.0 6D=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6D) | 0x80)))

kikapcsolás:

setpci -v -H1 -s 0:0.0 E4=$(printf %x $((0x$(setpci -H1 -s 0:0.0 E7) & 0xf9)))

Nforce2 esetén:

bekapcsolás: setpci -v -H1 -s 0:0.0 6F=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6F) | 0x10)))

kikapcsolás: setpci -v -H1 -s 0:0.0 6F=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6F) & 0xef)))

AMD751 és AMD760/761 esetén:(ACPI nélkül működik)

bekapcsolás: setpci -v -s 0:0.0 0x62=$(printf %x $((0x$(setpci -H1 -s 0:0.0 62) | 0x06)))

kikapcsolás: setpci -v -s 0:0.0 0x62=$(printf %x $((0x$(setpci -H1 -s 0:0.0 62) & 0xf9)))


2.4. A saját rendszermagfoltom

A saját rendszermagfoltom egy, a Newsnet-en talált másik folton alapul, mely Jan Niehusmann-tól származik. Módosítottam a foltot, hogy a KT266/266A lapkakészleteket is támogassa. Egyébként a saját foltom ugyanazt csinálja, mint a parancssoros hackelés, csak a rendszermagból. Ezért javaslom a hackelést parancssorból, hiszen azt nagyon egyszerű használni.

Ok... most nézzük lépésenként, hogyan használjuk a foltot:

  1. Először le kell töltenünk a foltot: Rendszermagfolt 2.4.17-es rendszermaghoz

  2. Jelentkezzünk be root felhasználóként

  3. cd /usr/src

  4. Rakjuk fel a foltot: cat $path-to-patch/amd_cool.diff | patch -p0

  5. cd linux

  6. Fordítsuk le az új rendszermagot

  7. Indítsuk újra a számítógépet, majd a boot-prompthoz írjuk be a amd_disconnect=yes sort. Erre azért van szükség, mert az Athlon processzor ismert hibái több alaplap esetén problémákat okozhatnak. Így először kipróbáljuk a foltot, és ha működik, a amd_disconnect=yes sort beírhatjuk az /etc/lilo.conf fájlba.


2.5. Az LVCool programot használó megoldás

Az LVCool a Windowsos VCool program Linuxos változata. Csak a KT133/133A és a KX133 lapkakészletet támogatja, de nem tudok ezzel kapcsolatban segítséget nyújtani. Letölthető innen. Ez az egyetlen olyan megoldás, mely nem a Linux rendszermag ACPI rendszerét használja.


3. Mi van még?

3.1. Ismert hibák és problémák

Két hibáról tudunk az Athlon/Duron processzorokban. Ezek 11-es és 14-es sorszámmal szerepelnek AMD Athlon Processor Revision Guide-ban. Úgy tűnik, az Athlon XP processzort jóval ritkábban érintik ezek a hibák. Így ha Athlon XP-vel rendelkezünk, szerencsénk van (mint nekem).

A következő problémák léphetnek fel (melyeket a processzor hibái okoznak):

Néha a BIOS frissítés segíthet ezen (a 11-es hiba kikerülésére létezik egy megoldás, mely a BIOS-t használja). De tudomásom szerint csak kevés alaplap BIOS-ban található meg ez a megoldás.

Az Asus A7V133-C alaplap esetén ismeretes, hogy a PCI master read caching BIOS beállítás engedélyezése a legtöbb problémát megoldja. Nézzük meg, hogy van-e ilyen funkciója az alaplapunkon lévő BIOS-nak.

Azt is tudjuk, hogy néhány alaplap esetén a Delayed Transaction BIOS beállítás a problémák egy részét kiküszöböli. Ezt az opciót is érdemes lehet kipróbálni.

FIGYELEM: A KT133A lapkakészlettel ellátott alaplapok esetén ez előhozhatja a híres VIA-Southbridge hibát!

Egy Newsnet levelezésből, az Asus A7V-vel kapcsolatban:

  • delayed transaction nélkül: ugrások hanglejátszás és TV-nézés közben

  • delayed transaction bekapcsolva: nincsenek ugrások hanglejátszás közben és csak kisebb problémák TV-nézéskor

  • mind a delayed transcation mind a master read caching bekapcsolva: szinte semmilyen probléma TV-nézéskor és egyáltalán nem jelentkeznek ugrások hanglejátszás közben

Más okai is lehetnek a problémáknak:

  • a tápegység nem elég erős ahhoz, hogy a processzor/alaplap energia felvételének ingadozását kezelni tudja

  • néhány alaplapi feszültség-szabályozónak ugyanaz a hibája, mint a tápegységnek ;)

  • az alaplapunk típusa K7S5A (tudomásom szerint ez az alaplap nagyon furcsán tud viselkedni, amikor az energiatakarékos üzemmód be van kapcsolva)

Ha rendszerünket energiatakarékos üzemmódban használva csak kisebb problémák adódnak, és ennek ellenére szeretnénk használni azt használni, alapértelmezésként engedélyezhetjük. Ha zenét akarunk lejátszani vagy TV-t akarunk nézni akkor pedig kikapcsoljuk ...


3.3. Fordítások

Fordítások is készültek különféle nyelvekre. A legtöbbjük ezen dokumentum XML előtti verziójának fordítása.

A spanyol fordítást Carlos Mayo készítette.

A francia fordítást Mathieu Pillard készítette.

Az olasz fordítást Maurizio Fantino készítette.

A német fordítást Fabian Mohren készítette (csak részletek).