Portál AbcLinuxu, 3. května 2025 08:48

O strašlivé vojně se swsusp

28.10.2007 22:37 | Přečteno: 1265× | linux | poslední úprava: 28.10.2007 22:38

Konečně! Po několika neúspěšných pokusech se mi konečně podařilo zprovoznit swsusp v gentoo. V tomto zápisku se s vámi pokusím podělit o své poznatky...

Dnes jsem si četl pár článků o spotřebě PC, šetření elektřiny apod. To mě trochu inspirovalo a jelikož se mi zrovna nechtělo hrát Enemy Territory, rozhodl jsem se asi po stopáté vytáhnout proti zlobivému Software Suspendu. Tuším, že dnešní počítače jsou na tom o poznání lépe, ale mně se stále nedařilo. Můj křemíkový kamarád se sestává z desky Epox EP-8RDA3i(nForce2 chipset), 1GB RAM, AMD Bartona XP 2600+ a grafiky Nvidia Geforce 6600(ovladače 100.14.19), data to ukládá na dva disky s paralelním rozhraním, nesmím zapomenout na zvukovku -> SB Live 24bit(CA0106, ALSA).

PC1 linux # lspci
00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?) (rev c1)
00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev c1)
00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev c1)
00:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev c1)
00:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev c1)
00:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev c1)
00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a4)
00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2)
00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet Controller (rev a1)
00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI Bridge (rev a3)
00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1)
01:08.0 Multimedia audio controller: Creative Labs SB Audigy LS
01:09.0 Communication controller: Conexant HSF 56k HSFi Modem (rev 01)
01:0a.0 Multimedia audio controller: Fortemedia, Inc Xwave QS3000A [FM801] (rev b2)
01:0a.1 Input device controller: Fortemedia, Inc Xwave QS3000A [FM801 game port] (rev b2)
02:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600] (rev a2)

A teď k věci: zapnul jsem podporu v jádře (2.6.23):

[*] Power Management support                                     
[*]   Legacy Power Management API (DEPRECATED)                   
[ ]   Power Management Debug Support                             
[*] Suspend to RAM and standby                                   
[*] Hibernation (aka 'suspend to disk')                          
(/dev/sdb1) Default resume partition                             
[*] ACPI Support (Advanced Configuration and Power Interface) Sup
< > APM (Advanced Power Management) BIOS support  --->           
    CPU Frequency scaling  --->

zkompiloval a zavedl, potom jsem si v Gentoo nainstaloval sys-power/suspend a sys-power/pm-utils z overlaye Gentopia

emerge layman
layman -a gentopia

a přidal řádek s overlay do /etc/make.conf:

PORTDIR_OVERLAY="/usr/local/portage/overlay /usr/portage/local/layman/gentopia"

a potom nainstaloval:

emerge -av sys-power/suspend sys-power/pm-utils

Ještě bylo potřeba sem tam něco změnit:

V /etc/xorg.conf jsem do sekce Device přidal:

Option      "NvAGP" "1"

prý to s AGP ovladačem z jádra blbne.

a teď to začne: s2ram bych musel spouštět s parametrem f a ještě ručně restartovat alsasound, což se mi nelíbilo, proto jsem vytvořil tyto soubory:

/etc/pm/config.d/00-my.conf:

S2RAM_OPTS="-f"

podle této stránky jsem vytvořil /etc/pm/sleep.d/70myhook:

#!/bin/bash
case $1 in
    hibernate) #před uspáním na disk
        /etc/init.d/alsasound stop //zastaví alsasound
        ;;
    suspend) #před uspáním do RAM
        /etc/init.d/alsasound stop
        ;;
    thaw) #probuzení z disku
        /etc/init.d/alsasound start //spustí alsasound
        sudo -H -u david kicker
        ;;
    resume) #z paměti
        /etc/init.d/alsasound start
        sudo -H -u david kicker //po restartu alsasound mi spadne kicker, vizte níže
        ;;
esac

a ten pasoval na spustitelný:

chmod +x /etc/pm/sleep.d/70myhook

kvůli zlobivému kickeru a mé lenosti hledat chybu jsem exportoval toto:

export XAUTHORITY=/home/david/.Xauthority

v rootovi, a přihodil to do /root/.bashrc, aby našel Xserver při spouštění kickeru

no a nakonec ještě upavil /etc/sudoers:

%wheel ALL=NOPASSWD:/usr/sbin/pm-* ,/usr/sbin/s2*

A je to, teď už mi nic nebrání to uspat i jako uživatel: sudo pm-suspend nebo pm-hibernate.

Netroufám si to nazvat howto, je to vlastně jakýsi neúplný okomentovaný log nastiňující, jak že se to vlastně povedlo. Určitě to mnohým z vás funguje a máte promyšlenější řešení než já, ale třeba to někoho inspiruje.. Máte-li připomínku, určitě se rád poučím v diskusi pod zápiskem...

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

freshmouse avatar 28.10.2007 23:12 freshmouse | skóre: 42 | blog: Bruno Banány
Rozbalit Rozbalit vše Re: O strašlivé vojně se swsusp
Odpovědět | Sbalit | Link | Blokovat | Admin
Jednou takhle jako vždycky, seděli jsme v krčmě. Vyprávěli starý zkazky a ty ještě starší. Náhle dovnitř přiběh posel, že se blíží Turci, chytli jsme se korbelů a poručili další...

Když už jsme u té Strašlivé vojny. :-)
elenril avatar 29.10.2007 07:04 elenril | skóre: 21 | blog: Raziel
Rozbalit Rozbalit vše Re: O strašlivé vojně se swsusp
Odpovědět | Sbalit | Link | Blokovat | Admin
Tyhle problémy jsem naštěstí nikdy moc neměl - s2disk i s2ram na mém FJS Amilo Pi1505 fungovaly bezchybně. Teda až do jednoho dne, kdy z jakéhosi záhadného důvodu s2disk začal mršit swap. A nejvtipnější na tom je, že teď k plné spokojenosti používám prosté echo disk/mem > /sys/power/state :)
29.10.2007 23:02 Ondra
Rozbalit Rozbalit vše Re: O strašlivé vojně se swsusp
Odpovědět | Sbalit | Link | Blokovat | Admin
Jakej ma vlastne smysl zastavovat pred suspendem alsu? Aspon mne to zabije vsechny programy, ktery ji pouzivaji; mixer, amarok...
30.10.2007 02:28 fissie | skóre: 12 | blog: One little blog
Rozbalit Rozbalit vše Re: O strašlivé vojně se swsusp
Smysl to ma ten, ze nektere zvukovky se po resume korektne nezinicializuji a tudiz pak nefunguji. Pokud ale vyhodis moduly pred suspendem a po resume je zase natahnes, vsechno jde jak ma.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.