Pagina 1 di 1

Slackware 12 e sospensione [RISOLTO]

Inviato: dom 8 lug 2007, 11:41
da Burroughs
L'ultimo problema che ho riscontrato dopo l'installazione della Slack 12 (gli altri due li ho segnalati qui e qui), riguarda l'abilitazione della sospensione.
Fino alla 11, utilizzando io initrd per l'avvio del kernel, mi son servito della sospensione tradizionale (e di uno script che avevo realizzato per l'occasione) e tutto funzionava alla perfezione.
Stavolta, con la 12, ho voluto provare il software suspend2.
Allora, ho patchato il kernel, come indicato qui, ricompilandolo successivamente ed indicando poi a Lilo di utilizzare la swap per effettuare la ripresa.
Premetto di non aver smanettato molto sull'hibernate.conf e sugli altri file accessori, comunque, quando ho provato a lanciare, a mo' di test,

Codice: Seleziona tutto

hibernate -n
ho ottenuto il seguente messaggio:

Codice: Seleziona tutto

root@andy:~# hibernate -n
Could not find required program "chvt". Aborting.
Voi vi ritrovate l'eseguibile chvt o è un problema solo mio?

Burroughs.

Inviato: dom 8 lug 2007, 12:06
da JohnnyMnemonic
chvt si trova nel pacchetto kbd, che come vedo nell'altro post hai già installato per il problema della tastiera, ora funziona tutto?

Inviato: dom 8 lug 2007, 12:24
da Burroughs
JohnnyMnemonic ha scritto:chvt si trova nel pacchetto kbd, che come vedo nell'altro post hai già installato per il problema della tastiera, ora funziona tutto?
Sì, Johnny, il problema chvt l'ho risolto, ma la sospensione non va.
Più tardi, dopo la pausa pappatoria, ti/vi descriverò nel dettaglio la situazione. :D

Burroughs.

Inviato: dom 8 lug 2007, 13:57
da Burroughs
Allora, premetto di non saperne tantissimo sul swsuspend2, mi sono limitato a seguire le linee guida contenute sul sito ufficiale del progetto.
Bene, quello che ho fatto è stato patchare il kernel (2.6.21.5) dando un bel

Codice: Seleziona tutto

cd /usr/src/linux
bzcat /path/to/patch | patch -p1
subito dopo me lo son ricompilato, configurando staticamente il supporto a swsuspend2.
Difatti, queste sono le voci che risultano presenti nel mio config:

Codice: Seleziona tutto

root@andy:~# grep -i 'suspend' /boot/config
CONFIG_SOFTWARE_SUSPEND=y
CONFIG_SUSPEND2_CORE=y
CONFIG_SUSPEND2_FILE=y
CONFIG_SUSPEND2_SWAP=y
CONFIG_SUSPEND2_CRYPTO=y
CONFIG_SUSPEND2_USERUI=y
CONFIG_SUSPEND2_KEEP_IMAGE=y
CONFIG_SUSPEND2_REPLACE_SWSUSP=y
CONFIG_SUSPEND2_CHECKSUM=y
CONFIG_SUSPEND2_DEFAULT_WAIT=25
CONFIG_SUSPEND2=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_USB_SUSPEND is not set
Ho anche abilitato la compressione LZF:

Codice: Seleziona tutto

root@andy:~# grep -i 'LZF' /boot/config
CONFIG_CRYPTO_LZF=y
Ho indicato a Lilo dove si trova la swap da cui effettuare la ripresa, con la direttiva

Codice: Seleziona tutto

append="resume2=swap:/dev/hda7"
A questo punto pensavo che tutto andasse bene.
Purtroppo, però, il kernel, già in fase di boot, mi dice:

Codice: Seleziona tutto

Jul  8 12:03:11 andy kernel: Replacing swsusp.
Jul  8 12:03:11 andy kernel: No storage allocator is currently active. Rechecking whether we can use one.
Jul  8 12:03:11 andy kernel: Suspend2: Resume= parameter is empty. Suspending will be disabled.
Jul  8 12:03:11 andy kernel: Compression Driver: Argh! Nothing follows me in the pipeline!
Jul  8 12:03:11 andy kernel: compression didn't initialise okay.
Jul  8 12:03:11 andy kernel: Suspend2: Initialise modules failed!
non solo, ma se provo a mandare in sospensione, mi dice che un dispositivo od una risorsa occupata mi impediscono di effettuare l'operazione.
Ora, premetto di non aver perso molto tempo a configurare l'hibernate.conf e gli altri file accessori, ma il fatto che vi sia un qualche cosa che impedisce di effettuare la sospensione mi lascia basito.
Fra l'altro, il log di hibernate si guarda bene dal darmi indicazioni in proposito.
Eccolo:

Codice: Seleziona tutto

Starting suspend at dom lug 8 12:01:42 CEST 2007
hibernate: [01] Executing CheckLastResume ...
hibernate: [01] Executing CheckRunlevel ...
hibernate: [01] Executing LockFileGet ...
hibernate: [01] Executing NewKernelFileCheck ...
hibernate: [10] Executing EnsureSwsusp2Capable ...
hibernate: [11] Executing XHacksSuspendHook1 ...
hibernate: [59] Executing RemountXFSBootRO ...
hibernate: [89] Executing SaveKernelModprobe ...
hibernate: [91] Executing ModulesUnloadBlacklist ...
hibernate: [95] Executing XHacksSuspendHook2 ...
hibernate: [97] Executing ChangeToSwsuspVT ...
hibernate: [98] Executing CheckRunlevel ...
hibernate: [98] Executing FullSpeedCPUSuspend ...
hibernate: [98] Executing Swsusp2ConfigSet ...
hibernate: [99] Executing DoSwsusp2 ...
hibernate: Activating suspend ...
hibernate: [98] Executing FullSpeedCPUResume ...
hibernate: [97] Executing ChangeFromSwsuspVT ...
hibernate: [90] Executing ModulesLoad ...
hibernate: [89] Executing RestoreKernelModprobe ...
hibernate: [85] Executing XHacksResumeHook2 ...
hibernate: [70] Executing ClockRestore ...
hibernate: [59] Executing RemountXFSBootRW ...
hibernate: [11] Executing XHacksResumeHook1 ...
hibernate: [01] Executing NoteLastResume ...
hibernate: [01] Executing LockFilePut ...
Resumed at dom lug 8 12:01:44 CEST 2007
Se potessi sapere chi o cosa blocca la messa in sospensione sarebbe facile intervenire ma così è un'impresa... :evil:

Burroughs.

Inviato: dom 8 lug 2007, 18:09
da spudhead
avevo letto che se hai un SMP devi abilitare

CONFIG_HOTPLUG_CPU

nel kernel altrimenti il suspend non va!

prova, non si sa mai!

Inviato: lun 9 lug 2007, 1:21
da Meskalamdug
http://web.tiscali.it/meskalamdug/suspend.html

Premessa:il supporto integrato nel kernel(suspend1)
non funge molto bene coi drivers nvidia,molto meglio suspend2 che PURTROPPO
non è integrato nel kernel e necessita di patch esterna
,speriamo che venga integrato presto e messo di default
in slackware.

Inviato: lun 9 lug 2007, 14:03
da Burroughs
Come spesso nella vita, gli errori si celano dietro dettagli banalissimi: in questo caso tutto dipendeva dalla direttiva che passavo a /etc/lilo.conf.
La sintassi corretta, infatti era

Codice: Seleziona tutto

append="resume=swap:/dev/hda7"
invece di

Codice: Seleziona tutto

append="resume2=swap:/dev/hda7"
eppure mi era sembrato di capire che occorresse aggiungere il 2.
Vabbuo', avrò commesso un errore per la troppa fretta.
Una volta sistemato Lilo, sono spariti gli errori al boot, ho anche provato ad avviare la sospensione con X in esecuzione ed è andato tutto bene.
Grazie comunque a tutti per le indicazioni.

Burroughs.

Inviato: mar 10 lug 2007, 1:45
da Meskalamdug
Burroughs ha scritto:Come spesso nella vita, gli errori si celano dietro dettagli banalissimi: in questo caso tutto dipendeva dalla direttiva che passavo a /etc/lilo.conf.
La sintassi corretta, infatti era

Codice: Seleziona tutto

append="resume=swap:/dev/hda7"
invece di

Codice: Seleziona tutto

append="resume2=swap:/dev/hda7"
eppure mi era sembrato di capire che occorresse aggiungere il 2.
Vabbuo', avrò commesso un errore per la troppa fretta.
Una volta sistemato Lilo, sono spariti gli errori al boot, ho anche provato ad avviare la sospensione con X in esecuzione ed è andato tutto bene.
Grazie comunque a tutti per le indicazioni.

Burroughs.
Resume2 è per suspend2
resume per il resume ufficiale
del kernel

Inviato: mar 10 lug 2007, 8:11
da Burroughs
Meskalamdug ha scritto:Resume2 è per suspend2
resume per il resume ufficiale
del kernel
Mmm, cosa vuoi dire, che in realtà mando in sospensione la macchina tramite swsuspend1?

Burroughs.

Inviato: mar 10 lug 2007, 13:28
da Meskalamdug
Burroughs ha scritto:
Meskalamdug ha scritto:Resume2 è per suspend2
resume per il resume ufficiale
del kernel
Mmm, cosa vuoi dire, che in realtà mando in sospensione la macchina tramite swsuspend1?

Burroughs.
Se usi append="resume=/dev/hda7"
si
per resume2 si usa

append="resume2=swap:/dev/hda7"

Inviato: mar 10 lug 2007, 14:55
da Burroughs
Mmm, premetto che la questione mi lascia parecchio perplesso.
Innanzitutto, swsuspend2 è "up and running":

Codice: Seleziona tutto

root@andy:~# dmesg |grep Suspend
Suspend2: SwapAllocator: Signature found.
Suspend2: Resuming enabled.
Suspend2 2.2.10.2, with support for [checksumming], usm, compression, swap storage, file storage, userui.
Suspend2: Checking whether there is an image to restore.
Suspend2: Normal swapspace found.
Suspend2 2.2.10.2, with support for [checksumming], usm, compression, swap storage, file storage, userui.
Suspend2: Userui program not configured.
Suspending console(s)
Suspend2 debugging info:
- Suspend core   : 2.2.10.2
La sospensione viene effettuata tramite swsuspend2; qui il log dell'ultima effettuata in ordine di tempo:

Codice: Seleziona tutto

Starting suspend at mar lug 10 12:07:59 CEST 2007
hibernate: [01] Executing CheckLastResume ...
hibernate: [01] Executing CheckRunlevel ...
hibernate: [01] Executing LockFileGet ...
hibernate: [01] Executing NewKernelFileCheck ...
hibernate: [10] Executing EnsureSwsusp2Capable ...
hibernate: [11] Executing XHacksSuspendHook1 ...
hibernate: [20] Executing MiscLaunchAuxFunc1 ...
Executing echo "Buona notte!"...
Buona notte!
hibernate: [59] Executing RemountXFSBootRO ...
hibernate: [89] Executing SaveKernelModprobe ...
hibernate: [90] Executing ModulesUnload ...
hibernate: [91] Executing LockKDE ...
Locking session .DCOPserver_andy__0
hibernate: [91] Executing ModulesUnloadBlacklist ...
hibernate: [95] Executing XHacksSuspendHook2 ...
hibernate: [97] Executing ChangeToSwsuspVT ...
hibernate: [98] Executing CheckRunlevel ...
hibernate: [98] Executing FullSpeedCPUSuspend ...
hibernate: [98] Executing Swsusp2ConfigSet ...
hibernate: [99] Executing DoSwsusp2 ...
hibernate: Activating suspend ...
Starting suspend at mar lug 10 14:31:30 CEST 2007
hibernate: [01] Executing CheckLastResume ...
hibernate: [01] Executing CheckRunlevel ...
hibernate: [01] Executing LockFileGet ...
hibernate: [01] Executing NewKernelFileCheck ...
hibernate: [10] Executing EnsureSwsusp2Capable ...
hibernate: [11] Executing XHacksSuspendHook1 ...
hibernate: [20] Executing MiscLaunchAuxFunc1 ...
Executing echo "Buona notte!"...
Buona notte!
hibernate: [59] Executing RemountXFSBootRO ...
hibernate: [89] Executing SaveKernelModprobe ...
hibernate: [90] Executing ModulesUnload ...
hibernate: [91] Executing LockKDE ...
Locking session .DCOPserver_andy__0
hibernate: [91] Executing ModulesUnloadBlacklist ...
hibernate: [95] Executing XHacksSuspendHook2 ...
hibernate: [97] Executing ChangeToSwsuspVT ...
hibernate: [98] Executing CheckRunlevel ...
hibernate: [98] Executing FullSpeedCPUSuspend ...
hibernate: [98] Executing Swsusp2ConfigSet ...
hibernate: [99] Executing DoSwsusp2 ...
hibernate: Activating suspend ...
hibernate: [98] Executing FullSpeedCPUResume ...
hibernate: [97] Executing ChangeFromSwsuspVT ...
hibernate: [90] Executing ModulesLoad ...
hibernate: [89] Executing RestoreKernelModprobe ...
hibernate: [85] Executing XHacksResumeHook2 ...
hibernate: [70] Executing ClockRestore ...
hibernate: [59] Executing RemountXFSBootRW ...
hibernate: [20] Executing MiscLaunchAuxFunc4 ...
Executing /home/alutri/.kde/Autostart/sw_w...
hibernate: [20] Executing MiscLaunchAuxFunc3 ...
Executing /home/alutri/.kde/Autostart/hotkeys...
hibernate: [20] Executing MiscLaunchAuxFunc2 ...
Executing echo "Buon giorno!"...
Buon giorno!
hibernate: [11] Executing XHacksResumeHook1 ...
hibernate: [01] Executing NoteLastResume ...
hibernate: [01] Executing LockFilePut ...
Resumed at mar lug 10 14:32:28 CEST 2007
Aiutami a far luce su 'sta questione, Meska; ho utilizzato tre anni il swsuspend1 e ti posso assicurare che la procedura di sospensione e di ripresa era ben diversa da quella che sto sperimentando in questi giorni. :D

Burroughs.

Inviato: mer 11 lug 2007, 2:36
da Meskalamdug
Burroughs ha scritto:Mmm, premetto che la questione mi lascia parecchio perplesso.
Innanzitutto, swsuspend2 è "up and running":

Codice: Seleziona tutto

root@andy:~# dmesg |grep Suspend
Suspend2: SwapAllocator: Signature found.
Suspend2: Resuming enabled.
Suspend2 2.2.10.2, with support for [checksumming], usm, compression, swap storage, file storage, userui.
Suspend2: Checking whether there is an image to restore.
Suspend2: Normal swapspace found.
Suspend2 2.2.10.2, with support for [checksumming], usm, compression, swap storage, file storage, userui.
Suspend2: Userui program not configured.
Suspending console(s)
Suspend2 debugging info:
- Suspend core   : 2.2.10.2
La sospensione viene effettuata tramite swsuspend2; qui il log dell'ultima effettuata in ordine di tempo:

Codice: Seleziona tutto

Starting suspend at mar lug 10 12:07:59 CEST 2007
hibernate: [01] Executing CheckLastResume ...
hibernate: [01] Executing CheckRunlevel ...
hibernate: [01] Executing LockFileGet ...
hibernate: [01] Executing NewKernelFileCheck ...
hibernate: [10] Executing EnsureSwsusp2Capable ...
hibernate: [11] Executing XHacksSuspendHook1 ...
hibernate: [20] Executing MiscLaunchAuxFunc1 ...
Executing echo "Buona notte!"...
Buona notte!
hibernate: [59] Executing RemountXFSBootRO ...
hibernate: [89] Executing SaveKernelModprobe ...
hibernate: [90] Executing ModulesUnload ...
hibernate: [91] Executing LockKDE ...
Locking session .DCOPserver_andy__0
hibernate: [91] Executing ModulesUnloadBlacklist ...
hibernate: [95] Executing XHacksSuspendHook2 ...
hibernate: [97] Executing ChangeToSwsuspVT ...
hibernate: [98] Executing CheckRunlevel ...
hibernate: [98] Executing FullSpeedCPUSuspend ...
hibernate: [98] Executing Swsusp2ConfigSet ...
hibernate: [99] Executing DoSwsusp2 ...
hibernate: Activating suspend ...
Starting suspend at mar lug 10 14:31:30 CEST 2007
hibernate: [01] Executing CheckLastResume ...
hibernate: [01] Executing CheckRunlevel ...
hibernate: [01] Executing LockFileGet ...
hibernate: [01] Executing NewKernelFileCheck ...
hibernate: [10] Executing EnsureSwsusp2Capable ...
hibernate: [11] Executing XHacksSuspendHook1 ...
hibernate: [20] Executing MiscLaunchAuxFunc1 ...
Executing echo "Buona notte!"...
Buona notte!
hibernate: [59] Executing RemountXFSBootRO ...
hibernate: [89] Executing SaveKernelModprobe ...
hibernate: [90] Executing ModulesUnload ...
hibernate: [91] Executing LockKDE ...
Locking session .DCOPserver_andy__0
hibernate: [91] Executing ModulesUnloadBlacklist ...
hibernate: [95] Executing XHacksSuspendHook2 ...
hibernate: [97] Executing ChangeToSwsuspVT ...
hibernate: [98] Executing CheckRunlevel ...
hibernate: [98] Executing FullSpeedCPUSuspend ...
hibernate: [98] Executing Swsusp2ConfigSet ...
hibernate: [99] Executing DoSwsusp2 ...
hibernate: Activating suspend ...
hibernate: [98] Executing FullSpeedCPUResume ...
hibernate: [97] Executing ChangeFromSwsuspVT ...
hibernate: [90] Executing ModulesLoad ...
hibernate: [89] Executing RestoreKernelModprobe ...
hibernate: [85] Executing XHacksResumeHook2 ...
hibernate: [70] Executing ClockRestore ...
hibernate: [59] Executing RemountXFSBootRW ...
hibernate: [20] Executing MiscLaunchAuxFunc4 ...
Executing /home/alutri/.kde/Autostart/sw_w...
hibernate: [20] Executing MiscLaunchAuxFunc3 ...
Executing /home/alutri/.kde/Autostart/hotkeys...
hibernate: [20] Executing MiscLaunchAuxFunc2 ...
Executing echo "Buon giorno!"...
Buon giorno!
hibernate: [11] Executing XHacksResumeHook1 ...
hibernate: [01] Executing NoteLastResume ...
hibernate: [01] Executing LockFilePut ...
Resumed at mar lug 10 14:32:28 CEST 2007
Aiutami a far luce su 'sta questione, Meska; ho utilizzato tre anni il swsuspend1 e ti posso assicurare che la procedura di sospensione e di ripresa era ben diversa da quella che sto sperimentando in questi giorni. :D

Burroughs.
Stai usando suspend2..non vedo dove sia il problema.

Inviato: mer 11 lug 2007, 8:36
da Burroughs
Meskalamdug ha scritto:Stai usando suspend2..non vedo dove sia il problema.
Nessun problema, infatti, solo che tu, qualche post fa, affermavi che, passando io il parametro resume a lilo per indicare la partizione di swap, utilizzavo swsuspend1 invece di swsuspend2. :D
Comunque, non mi formalizzo, la soluzione funziona, che poi possa esserci qualche bug non è da escludere visto che la patch con cui ho "ritoccato" il kernel è una patch "di sviluppo", quindi non stabile.

Burroughs.

Inviato: sab 18 ago 2007, 16:36
da meritil
potete passare il parametro resume direttamente nel config del kernel per avere un default e per evitare di toccare lilo.conf


lo trovate sfruguliando nella sezione suspend2 durante il menuconfig...



Meritil.