Sleep Hibernate

  • Edit
  • Diskuze
  • Info
  • Attachments

Usínání notebooku

Existují dvě cesty, jak uspat (sleep, hibernate) váš notebook. Buď použijete přímo implementaci ACPI obsaženou v jádru nebo vylepšíte pomocí "hibernate skriptů". Druhá varianta se (alespoň na mém notebooku) jeví jako lepší (zcela funkční).

Podmínky

Tento text je psán pro notebook Lenovo R6O a systém Ubuntu 6.10. Nicméně bude funovat i jinde, jen možná budete muset provést drobné změny nastavení.

Část první - ACPI

Implementace ACPI v distribučním jádru 2.6.17-10-generic není nejlepší, takže i přes maximální snahu nejde vyřešit jeden problém - po probuzení (jen ze suspendu) nefunguje integrovaný WiFi adaptér (wpa_supplicant jej dokola resetuje). Nejprve připravíme ACPI. Otevřete si v textovém editoru soubor /etc/default/acpi-support a upravte následující řádky:

ACPI_SLEEP=true
ACPI_HIBERNATE=true
ACPI_SLEEP_MODE=standby
SAVE_VBE_STATE=true
VBESTATE=/var/lib/acpi-support/vbestate
POST_VIDEO=true
SAVE_VIDEO_PCI_STATE=true
USE_DPMS=true
# Pokud používáte kartu ATI, pak ještě "RADEON_LIGHT=true"
DOUBLE_CONSOLE_SWITCH=true

Zbylé volby nechte ve výchozím stavu.

Dále editujte /etc/X11/xorg.conf a do části "Device" přidejte volbu Option "VBERestore" "yes" POZOR!!! Tato volba způsobí zatuhnutí systému, pokud používáte Separate Heads konfiguraci a VBERestore zapnete v "Device" sekcích, které přísluší Separate Heads. Při takové konfiguraci nelze v Separate Heads módu počítač uspávat.

Nyní editujte ještě /boot/grub/menu.lst a přidejte do příslušné řádky "kernel" tyto parametry:

  1. "resume=/dev/vas_swapovaci_soubor" a zkontrolujte, že váš swap má alespoň dvojnásobek velikosti operační paměti.
  2. Doporučuje se přidat volbu ec_intr=0, ale suspend na některých systémech funguje i bez toho.

Nyní restartujte počítač a zkuste, zda ACPI sleep/hibernate pracuje. POZOR! Gnome-power-manager nemusí nutně volat ACPI! Nejlépe ACPI otestujete, pokud pracují tlačítka sleep/hibernate, a nebo ručním spuštěním příslušného skriptu z /etc/acpi.

Část druhá - hibernate skript

Pokud používáte Ubuntu, stačí pouze stahnout skripty hibernate:

 apt-get install hibernate 

Nyní upravíme hlavní skript /etc/hibernate/common.conf:

SaveClock restore-only
IbmAcpi yes                         # Pokud se jedná o notebook IBM
# Pokud používáte Xorg driver "915" (vysoké rozlišení u IBM notebooků), pak ještě "Runi915resolution yes"
LockGnomeScreenSaver yes
UnloadBlacklistedModules yes        # Budeme potřebovat pro síťovou kartu
LoadModules auto                    # ... a pak zase zpětně načíst.
DownInterfaces eth0 eth1            # Bez toho zas nejede drátová síť
UpInterfaces auto                   # ... a zase nahodit.
PauseAudio yes
EjectCards yes
RestartServices laptop-mode
EnableVbetool yes                   # Jinak se nevrátí obraz :)
RestoreVbeStateFrom /var/lib/vbetool/vbestate
VbetoolPost yes
RestoreVCSAData yes
SwitchToTextMode yes                # Velmi důležité pro rozsvícení obrazovky.
XStatus gnome

Pak ještě zajistíme korektní probuzení síťové karty. Přidejte do /etc/hibernate/blacklisted-modules řádky:

tg3                 # Napište modul své síťové karty (u mne tg3).
speedstep-centrino

Vše ostatní je připraveno. Nyní tedy začneme testovat. Otevřete konzoli a zadejte: sudo /usr/sbin/hibernate -F /etc/hibernate/ram.conf --dry-run  Počítač se neuspí (dry-run volba), ale projeví se případné chyby v konfiguračním souboru. Když vše proběhne v pořádku, spusťte příkaz bez volby --dry-run. Počítač by se měl uspat a následně probudit (pravděpodobně stitkem tlačítka napájení). Hibernaci spustíte příkazem: sudo /usr/sbin/hibernate -F /etc/hibernate/disk.conf  Opět lze pro testování použít --dry-run.

Až bude konfigurace funkční, je potřeba přiřadit skripty k ACPI tlačítkům. Nejjednodušší je editovat soubory /etc/acpi/events/ibm-sleepbtn a ibm-hibernatebtn (pokud máte jiný notebook, hledejte odpovídající soubory). Stačí pouze přepsat řádku action na action=/usr/sbin/hibernate -F /etc/hibernate/ram.conf (disk.conf pro hibernate tlačítko). Po restartu počítače jej lze uspat/hibernovat pomocí ACPI tlačítek. Bohužel stále nemusí fungovat uspání přes gnome-power-manager.

Tento způsob uspání je u mne 100% funkční. Uspání přes gnome-power-manager se budu věnovat později, až vyřeším všechny problémy.


CategoryCategory

ubuntu-cz: JakubKocourek/Sleep/Hibernate (last edited 2008-03-20 13:18:34 by localhost)