====== Uspání a hibernace ======
Tento návod je psán pro notebook, ale měl by analogicky fungovat i pro stolní počítače.
|Návod je na smetišti! Znamená to, že je zastaralý, a může být více ke škodě než k užitku. Pokud máte zájem, můžete se ho ujmout a přepsat ho do aktuální platné podoby.|
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í.
:!: Nezapomeňte si všechny důležité upravované soubory zálohovat.
===== Část první - ACPI =====
Implementace ACPI v distribučním jádru 2.6.17-10-generic není nejlepší, nicméně částečně funkční. I přes maximální snahu nejde vyřešit jeden problém - po probuzení (jen ze suspendu) nefunguje integrovaný [[Wi-Fi]] adaptér (wpa_supplicant jej dokola resetuje). Ale to vyřešíme později hibernate skriptem. 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:
- "resume=/dev/vas_swapovaci_soubor" a zkontrolujte, že váš swap má alespoň dvojnásobek velikosti operační paměti.
- 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.//