FreeBSD laptopon
Előző |  |

# 4. Energiagazdálkodás

Sajnálatos módon ezek a funkciók egyáltalán nem mondhatóak jól támogatottnak FreeBSD alatt. Ha szerencsénk van, akkor egyes funkciók jól működnek, mások pedig egyáltalán nem.

Hogy még bonyolultabb legyen a helyzet, két szabvány is létezik az energiagazdálkodásra: az APM és az ACPI, ahol az utóbbi bővebb és kiterjedtebb szabvány, mint az előbbi, de több problémát is felvet.

Egyes laptopok az APM-et és az ACPI-t is támogatják (adott mértékig), mások pedig csak az egyik szabványt ismerik. Emiatt mind a kettővel kísérletezni kell egy elfogadható energiagazdálkodási séma kialakításához.

> Megjegyzés: Egyszerre nem lehet bekapcsolni az APM-et és az ACPI-t, még akkor sem, ha a laptop mind a kettőt támogatja.

## 4.1. APM

Az APM (Advanced Power Management) BIOS támogatást ad a különféle energiagazdálkodási jellemzőkhöz, mint mondjuk a készenléti állapot, hibernálás, a processzor órajelének csökkentése stb., amelyek el is érhetőek FreeBSD 4.X és FreeBSD 5.X alatt.

Az APM támogatás bekapcsolásához fordíthatunk energiagazdálkodásra felkészített rendszermagot (`device apm0` FreeBSD 4.X esetén és `device apm` FreeBSD 5.X esetén) is, de a FreeBSD 5.X vonal rendszermagjához már létezik külön APM modul is, amelyet az indítás során tudunk betöltetni úgy, hogy `/boot/loader.conf` állományhoz hozzávesszük az `apm_load="YES"` sort.

Ezen felül FreeBSD 5.X esetén még be kell írni a `hint.apm.0.disabled="0"` sort is a `/boot/device.hints` állományba.

Az APM-et minden indítással együtt aktivizálhatjuk, ha megadjuk az `apm_enable="YES"` sort a `/etc/rc.conf` állományban. Ezen kívül még hasznos lehet elindítani a apmd(8) daemont is, méghozzá a `apmd_enable="YES"` sor hozzávételével. Ez a daemon felügyeli a BIOS-nak küldött különböző APM-eseményeket, így készenléti állapotba tudjuk helyezni a laptopunkat gombnyomásra, vagy akár összecsukással is.

A APM-parancsok a apm(8) kézikönyvében szerepelnek. Például, az `apm -b` paranccsal le lehet kérdezni az akkumulátor töltöttségét (vagy 255-öt ad vissza, ha nem támogatott ez funkció), a `apm -Z` energiatakarékos állapotba, ill. a `apm -z` (vagy a `zzz`) parancs készenléti állapotba helyezi a laptopot. A számítógép kikapcsolásához és áramtalanításához a `shutdown -p` parancsot kell használni. Még egyszer megemlítjük, hogy a tárgyalt funkciók közül nem mindegyik működik megfelelően vagy akár egyáltalán nem működik.

Esetenként tapasztalhatjuk, hogy a laptop energiatakarékos vagy készenléti állapotba helyezése ugyan működik konzolon, de X alatt viszont nem (vagyis nem kapjuk vissza a képet). Ha FreeBSD 5.X-et használunk, erre egy megoldás lehet, ha beletesszük a `options SC_NO_SUSPEND_VTYSWITCH` sort a rendszermagunk konfigurációs állományába és újrafordítjuk azt. Másik lehetőség, hogy átváltunk egy virtuális konzolra (a Ctrl+Alt+F1 lenyomásával, vagy ugyanígy egy másik funkcióbillentyűvel), majd elindítjuk az apm(8)-et. Ha apmd(8)-t használunk, automatizálhatjuk is ezt a rendszert a vidcontrol(1) segítségével. Ehhez nem kell mást tennünk, csupán átírni a `/etc/apmd.conf` állományt az alábbiak szerint:

    apm_event SUSPENDREQ {
     exec "vidcontrol -s 1 < /dev/console";
     exec "/etc/rc.suspend";
    }

    apm_event USERSUSPENDREQ {
     exec "vidcontrol -s 1 < /dev/console";
     exec "sync && sync && sync";
     exec "sleep 1";
     exec "apm -z";
    }

    apm_event NORMRESUME, STANDBYRESUME {
     exec "/etc/rc.resume";
     exec "vidcontrol -s 9 < /dev/console";
    }

## 4.2. ACPI

Az ACPI (Advanced Configuration and Power Management Interface) nem csak energiagazdálkodást tesz lehetővé, hanem hardver-felderítést is (ezzel szinte feleslegessé téve a PnP-t és a PCI BIOS-t). Az ACPI támogatása csak FreeBSD 5.X alatt érhető el, és alapértelmezés szerint aktív. Ilyenkor tehát nem kell semmit se csinálni, hogy működésre bírjuk. Az ACPI viselkedését az acpiconf(8)-al tudjuk vezérelni.

Sajnos azonban, a gyártók gyakorta hibás ACPI-implementációval szállítják a laptopokat, aminek következtében az ACPI bekapcsolása több gondot okoz, mint hasznot, egészen annyira, hogy akár a FreeBSD bizonyos gépeken képtelen elindulni aktív ACPI támogatással.

Ha az ACPI használata gondokat okoz, ajánlott érdeklődni a laptopunk gyártójánál, hogy vajon készült-e ACPI-vel kapcsolatos BIOS-frissítés az utóbbi időben. Mivel a FreeBSD ACPI implementációja is még gyerekcipőben jár, ezért érdemes még frissíteni a rendszerünket is, elképzelhető ugyanis, hogy a problémánkat azóta már megoldották.

Az ACPI kikapcsolásához egyszerűen ki kell bővíteni a `/boot/device.hints` állományt a `hint.acpi.0.disabled="1"` sorral. Ha gondunk lenne egy ACPI-t használó gép indításával, ideiglenesen ki tudjuk kapcsolni az ACPI-t az indítás során aktiválható paranccsoron keresztül is, az `unset acpi_load` parancs kiadásával. A FreeBSD 5.1-RELEASE kiadásától kezdve már egy rendszerindító menüben is kiválaszthatjuk, hogyan induljon a rendszer: itt az egyik menüpont az ACPI kikapcsolása. Ekkor tehát az ACPI kikapcsolásához válasszuk a 2. Boot FreeBSD with ACPI disabled (2. A FreeBSD indítása ACPI támogatás nélkül) pontot a menüben.

## 4.3. A monitor energiagazdálkodása

Az X ablakkezelő rendszer (Xorg) is tartalmaz energiagazdálkodást a megjelenítő eszközök számára (ajánlott ezzel kapcsolatosan megnézni a xset(1) man oldalt, rákeresve a “dpms” szóra). Valószínűleg ezt is hasznos lesz megismerni. Azonban vegyük figyelembe, hogy sokszor nem következetesen működik a laptopokon: előfordulhat, hogy kikapcsolja ugyan a megjelenítőt, de nem kapcsolja ki a háttérvilágítást.

Előző | Tartalom |
PCMCIA (PC-kártyás) eszköz |  |

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.