====== 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.//