Suspend e Hibernate

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Suspend e Hibernate

Messaggio da joe »

Vorrei provare a far funzionare queste due funzioni sul mio sistema.
Slackware-13.1 con partizione di swap maggiore della ram installata.
Portatile vecchiotto della asus Z81G, simile al modello A4G. Su windows funge sia il suspend to ram che lo spegnimento con ripristino della sessione al riavvio, ovvero la funzione hibernate.

Il fatto è che non so bene da dove partire... ho letto di patch del kernel e altra roba, ma ho deciso di postare qua per avere una dritta rapida tanto per capire come impostare e come eseguire il suspend e l'ibernazione.

Grazie in anticipo! :D

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Suspend e Hibernate

Messaggio da 414N »

Per il suspend to ram non dovresti impostare proprio nulla.
Per quanto riguarda l'hibernate, assicurati che nel tuo bootloader sia presente in append la voce resume con indicata la partizione di swap da utilizzare.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Suspend e Hibernate

Messaggio da joe »

Grazie intanto.
Si, ma poi come faccio ad atttivare in concreto la sospensione, c'è un comando immagino... giusto?
Farò una googolata, almeno per vedere se riesco ad eseguire il suspend.

Per l'hibernate, allora devo modificare il lilo.conf... perchè attualmente è così come l'ho trovato "out of box".
Guarderò il man di lilo intanto...

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Suspend e Hibernate

Messaggio da 414N »

Se sei in init4, trovi la possibilità di sospendere in ram o su disco direttamente in KDE (se lo usi come riporta il tuo profilo).
Se non sei in init4, allora devi lanciare tu i comandi da root.
Puoi usare pm-suspend e pm-hibernate.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Suspend e Hibernate

Messaggio da joe »

414N ha scritto:Se sei in init4, trovi la possibilità di sospendere in ram o su disco direttamente in KDE (se lo usi come riporta il tuo profilo).
Se non sei in init4, allora devi lanciare tu i comandi da root.
Puoi usare pm-suspend e pm-hibernate.
Acc... no, il mio profilo è "mendace", non l'ho aggiornato...
Sto usando fluxbox, e sono in init3. Cioè avvio startx all'avvio per andare in grafica.

Quindi devo lavorare da root... non è un problema per il momento. Infatti adesso sto cercando di capire come funziona.
Ho letto in una pagina del wiki, riferita all'aspire one:
http://www.slacky.eu/wikislack/index.ph ... e_One_150L

che basta dare il comando:

Codice: Seleziona tutto

echo mem > /sys/power/state
per finire in suspend mode e mettere il portatile in standby.

Ho provato e in standby ci va, anche la lucetta sul tasto power lampeggia lentamente.

Poi se tocco qualcosa per riesumare il sistema, ecco che si sente qualche rumore hardware simile a quelli che si hanno all'accensione, ma poi lo schermo resta nero e non so cosa fare. L'unio modo per sbloccare la situazione è sembrato quello di tenere premuto il power e riavviare. Quindi c'è qualcosa che non và.
Provo a sospendere tramite il comando pm-suspend faccio sapere come và.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Suspend e Hibernate

Messaggio da joe »

Nope...
Anche con pm-suspend, va giustamente in suspend mode. Ma quando poi premo un tasto per riportare il sisema allo stato normale... Niente... si pianta il sistema, lo schermo resta nero e non c'è verso di farlo ripartire. Ho dovuto anchesta volta staccare la corrente al portatile e avviare da zero.
Non ho idea di dove possa stare il problema.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Suspend e Hibernate

Messaggio da joe »

Ho fatto una prova con l'hibernate....
Stranamente invece questa ha funzionato.
Ho modificato il lilo.conf come consigliato aggiungendo agli append resume=/dev/sda5 che è la mia partizione di swap.
Lanciando il comando pm-hibernate, il sistema s'è spento dopo aver copiato i dati in memoria sullo swap immagino.
Accendendo il portatile il sistema ha avviato la sessione di lavoro precedente: sto scrivendo dalla stessa finestre di firefox che avevo davanti al naso prima di ibernare.

Una nota sul mio hardware.
Ho attaccato al portatile un HD esterno WD: Bus 001 Device 006: ID 1058:1001 Western Digital Technologies, Inc. External Hard Disk [Elements]
Questo arnese autoalimentato sembra dare qualche problema all'avvio del computer: infatti se accendo il portatile con inserito il disco via usb, si blocca, non arriva neanche al caricamento di GAG (il gestore di partizioni che avevo installato nel MBR del disco interno). In pratica resta lì con la scritta ASUS sullo schermo e la ventola che prende sempre più giri.
Il disco è autoalimentato.
Ultimamente ho aggiunto anche un hub autoalimentato. Anche quello se non ricordo male, da lo stesso problema: se è attaccato all'accensione il portatile non parte.
Perchè?
Chi lo sa. Non l'ho ancora capito. Sicuramente c'è di mezzo qualche problema di tensione potenza elettrica ecc.

Questo fatto però incide sull'ibernazione perche se il disco esterno è attaccato e montato quando si iberna, si dovrebbe lasciare attaccato anche al resume del sistema, altrimenti quello che c'è nello swap non sarà più coerente con la nuova situazione.
Poco fa nella prova avevo proprio l'hd esterno attaccato con una partizione montata. Dopo aver ibernato, all'accensione ho lasciato che venisse caricato GAG, Lilo e infine che partisse il boot di linux.
A quel punto ho attaccato l'HD esterno il più velocemente possibile. in modo che al ripristino il sistema trovasse il disco pronto. E così è stato. Ma cosa sarebbe successo se il sistema non avesse più ritrovato il disco presente? Probabilmente nulla perchè se ne sarebbe accorto e avrebbe adattato la situazione... quindi tutto questo è solo una considerazione.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Suspend e Hibernate

Messaggio da rik70 »

Io per sospendere il sistema utilizzo questo comando (su slack 13.1), che per comodità si può inserire anche all'interno di uno script bash:

Codice: Seleziona tutto

dbus-send --system --print-reply --dest=org.freedesktop.Hal \
 /org/freedesktop/Hal/devices/computer \
 org.freedesktop.Hal.Device.SystemPowerManagement.Suspend \
 int32:1
I demoni hal e dbus devono essere - credo - in esecuzione, e funziona anche da utente non privilegiato purché appartenga al gruppo power. Lo uso con openbox, ma funziona anche da console senza sessione grafica (es. da init 3).

Per l'ibernazione è leggermente diverso:

Codice: Seleziona tutto

dbus-send --system --print-reply --dest=org.freedesktop.Hal \
 /org/freedesktop/Hal/devices/computer \
 org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate
Spero che il tag code del forum formatti correttamente il codice.

Una nota per il suspend.
Nel mio caso da bios devo attivare una voce che si trova in Power management o qualcosa del genere:
Re-Call VGA BIOS at S3 Resuming: ENABLED
Diversamente al risveglio della macchina il monitor su init 3 rimane nero e non c'è verso di farlo ripartire. Su X invece nessun problema anche con quella voce disattivata.

Occhio che però il mio è un PC Desktop.

Ciao

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Suspend e Hibernate

Messaggio da rik70 »

P.s.

Per quanto riguarda l'ibernazione, siccome utilizzo un il kernel generico e non lo huge, procedo creando un initrd in cui è specificata la partizione di swap (512MB su un 1G di RAM) per l'inbernazione. In questo modo non è necessario passare il parametro 'resume' al kernel.

Bye

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Suspend e Hibernate

Messaggio da joe »

Ho provato il suspend con lo script :

Codice: Seleziona tutto

dbus-send --system --print-reply --dest=org.freedesktop.Hal \
 /org/freedesktop/Hal/devices/computer \
 org.freedesktop.Hal.Device.SystemPowerManagement.Suspend \
 int32:1
Ma il risultato non cambia:
- il sistema va in sospensione correttamente
- ma non si riavvia più, schermo nero ecc.

Ho letto un po' in giro di volata, quindi non ho capito di preciso quale possa essere la causa, però potrebbe esserci di mezzo la scheda video una ati mobility radeon 9700, ommeglio i driver open che sto usando per gestirla.
Proverò a fare una prova senza X avviato... ma penso che il problema persista, infatti anche senza X è il driver radeon a gestire la scheda video.
Ripeto sono tutte supposizioni e ripeto, la funzione hibernate, al contrario, funziona regolarmente.
Non so se ci sono dei log da qualche parte per vedere dove s'inceppa il meccanismo... cercherò...
Se avete altri consigli dite pure! :D.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Suspend e Hibernate

Messaggio da rik70 »

Radeon 9700?

Io ho una radeon 9800 e funziona senza problemi coi driver open - che dovrebbero essere gli stessi che pilotano la 9700.

Dove possa essere l'intoppo non saprei.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: Suspend e Hibernate

Messaggio da 414N »

Dubito che il problema sia il driver radeon, ma puoi avere un'idea della causa controllando il log di pm-suspend in /var/log, e vedere a che punto si è inchiodato quando l'hai usato in precedenza.
Un'occhiata anche a syslog non guasta, probabilmente.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Suspend e Hibernate

Messaggio da joe »

il log si ferma al suspend e non dice nulla del resume, almeno così mi pare, comunque lo posto così potete vedere direttamente, lo metto in allegato
Allegati
pm-suspend.log.TXT
(4.47 KiB) Scaricato 95 volte

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3788
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 15.0
Kernel: 5.15.38
Desktop: dwm

Re: Suspend e Hibernate

Messaggio da joe »

Ho controllato anche il file /var/log/syslog ma non c'è niente di utile mi pare, tra l'altro il log si ferma ben prima rispetto all'istante in cui ho eseguito il suspend, infatti ho lanciato pm-suspend alle 17.44 di ieri come testimonia il pm-suspend.log:

Codice: Seleziona tutto

Tue Mar  6 17:44:20 CET 2012: Running hooks for suspend.
Ma nel syslog non vi sono report successivi alle 16.53... come si può vedere nelle seguenti righe:

Codice: Seleziona tutto

Mar  6 16:53:31 darkstar kernel: l2cap_recv_acldata: Unexpected start frame (len 411)
Mar  7 07:55:47 darkstar kernel: ACPI: RSDP 000f7520 00014 (v00 ACPIAM)
La prima riga infatti è l'ultima di ieri (dopo la sospensione non andata a buon fine ho infatti spento il portatile togliendo corrente e l'ho riacceso solo stamattina). Quindi non riporta nulla della sospensione che ho lanciato circa un venti minuti più tardi.

Leggendo il man di pm-suspend vedo che:
[quote='man pm-suspend']Om most hardware putting the video card in the suspend state and
recovering from it needs some hacks. With the --quirk-* options of the
pm-suspend and pm-suspend-hybrid commands you can select which should
be used.[/quote]

Ieri ho provato appunto a sospendere aggiungendo l'opzione "--quirk-dpms-on" (che non so a cosa serva di preciso...) ma non ha sortito alcun effetto... cioè il portatile non ne vuole sapere di risvegliarsi dalla sospensione.
Cosa ne pensate? Forse provendo con qualche altra opzione "quirk-*"? E dove cercare eventuali altri log che mostrino cosa succede al resume del sistema?

PS.
Ricordo che la funzione pm-hibernate funziona regolarmente, a dare problemi è solo pm-suspend.

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Suspend e Hibernate

Messaggio da rik70 »

Non m'è chiara una cosa:

il sistema non si risveglia per niente o è solo lo schermo che rimane spento?

Rispondi