Come posso impedire la sospensione e / o il letargo immediato?


35

Per alcuni giorni, il mio computer desktop Ubuntu 12.04 si è misteriosamente svegliato immediatamente dopo essere passato alla modalità di sospensione.

Dall'installazione, anche il mio computer portatile Ubuntu 12.10 ha ripreso subito dopo la sospensione e l'ibernazione.

Come prevenirli?

Risposte:


35

Questo problema è stato probabilmente causato da strani segnali USB. gedit /proc/acpi/wakeupmi ha mostrato che la sveglia era abilitata per USB0 e USB2.

sudo -s
echo USB0 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup

li ha disattivati (controllati di gedit /proc/acpi/wakeupnuovo o aggiornando la visualizzazione del file) e, successivamente, il computer rimane sospeso come dovrebbe. :-)


Questa soluzione non ha funzionato per me. PS2K è stato abilitato (sveglia tastiera) ma cambiarlo non ha fatto differenza.
Bryce,

4
Nel mio caso non c'erano dispositivi USB *, sembra che fossero collegati internamente tramite hub USB: l'aggiunta di EHC1, EHC2 e XHC a / proc / acpi / wakeup mi ha aiutato.
Vladimir Rutsky,

2
Nel mio caso era XHCI per USB 3
Andy

@Bazon puoi per favore dare un'occhiata http://askubuntu.com/questions/852600/ubuntu-16-04-wakes-up-immediately-from-suspend-after-installing-fprint-in-lenovoe aiutarmi a capirlo
Kasun Siyambalapitiya,

Per me la disabilitazione ha IGBEfunzionato
Kasun Siyambalapitiya,

22

Recentemente ho avuto lo stesso sintomo su Asus Zenbook Pro UX501 su Ubuntu 15.04. La correzione esatta di Bazon non ha funzionato ma la variazione di Vladimir Rutsky ha funzionato. In particolare:

Se in esecuzione dal terminale cat /proc/acpi/wakeupmostra le seguenti righe

EHC1      S3    *enabled  pci:0000:00:xx.x
EHC2      S3    *enabled  pci:0000:00:xx.x
XHC       S3    *enabled  pci:0000:00:xx.x

(gli indirizzi pci possono essere diversi)

quindi abilita questi tre a disabilitati emettendo i seguenti comandi:

sudo -s
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHC > /proc/acpi/wakeup

Fare sopra non ha risolto il mio problema :(
Kasun Siyambalapitiya,

Per me la disabilitazione ha IGBEfunzionato, al di sopra delle tre no
Kasun Siyambalapitiya il

@ilikerrobots Questo non lo risolve in modo permanente, come risolverlo in modo permanente
Kasun Siyambalapitiya

GLAN torna rapidamente ad abilitato. Qualche idea sul perché?
Alfred M.,

Per farlo persistere mettilo in una voce cron a tempo @reboot. Ho trovato utile eseguire l'eco solo se era effettivamente abilitato inserendo un test in uno script shell in questo modo egrep -q '^XHC1\s+S[0-9]\s+\*enabled' /proc/acpi/wakeup && echo XHC1 > /proc/acpi/wakeup(il mio dispositivo problematico era XHC1 - un chipset USB).
David Schoen,

15

Se sai quale dispositivo riattivare il PC, vai al primo passaggio per seguire la guida. In caso contrario, apri il terminale e fai:

cat /var/log/syslog

E trova quale dispositivo sta riattivando il tuo PC.

Così ora:

  1. colpito nel terminale:

    grep . /sys/bus/usb/devices/*/power/wakeup
    

Per elencare tutte le porte USB che riattivano il nostro PC.

sudo su

ora abbiamo i privilegi di root.

2.Ho 8 porte USB e in questo esempio diciamo che voglio disabilitare usb8, quindi:

echo disabled > /sys/bus/usb/devices/usb8/power/wakeup

Vai avanti e provalo. Ora quel dispositivo specifico nella porta USB 8 non riattiverà il PC.

Passaggio successivo, per rendere permanente la modifica dopo ogni avvio:

3.

sudo nano /etc/rc.local

E incolliamo il comando dal passaggio 2. Lì dentro (prima dell'uscita 0 ovviamente).

Questo è tutto.

facoltativo Solo se dopo il processo di sospensione / riattivazione il dispositivo USB 8, nel mio esempio, torna su abilitato.

  1. Scrivi anche una udevregola per eseguire il comando dopo ogni avvio, sospensione, sveglia.

Apri un terminale ed esegui:

lsusb

Alle informazioni sull'ID del dispositivo della tastiera, le prime 4 cifre sono l'id del fornitore e le 4 cifre successive sono l'id del prodotto immagine dello schermo

Avanti fare:

sudo nano /etc/udev/rules.d/10-wakeup.rules

Dove "wakeup" inserisci il nome desiderato dello script. Il numero 10 è la priorità nel caso in cui tu abbia molte altre regole udev, più basso è il numero che la 'regola' verrà eseguita prima delle altre.

Copia incolla questo e sostituisci l'id fornitore e l'id prodotto con il tuo ID fornitore tastiera wireless e ID prodotto.

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo disabled > /sys/bus/usb/devices/usb8/power/wakeup'"

* usb8 per me è la mia tastiera wireless (puoi anche vederlo nello screenshot (Bus 008)), sostituirlo con il tuo.

Ctrl+ Oper salvare, Ctrl+ Xper uscire e riavviare.


Grazie! questo sembra interessante. ti dispiacerebbe aggiungere la tua guida qui (cambiandola in modo che risolva il problema specifico di questa domanda)
geoffrey

Grazie. questo non è esattamente quello che volevo, ma mi ha portato a risolvere il problema - modificando il file rc.local (il mio problema non è specifico delle porte USB). Ho pubblicato la mia soluzione, ma otterrai la taglia (non posso assegnarla prima di domani però)
geoffrey,

Quali sono sicuri da disabilitare? Incontrerò un problema se disabilito tutto? L'unico abilitato è per me è / sys / bus / usb / devices / 1-2 / power / wakeup: abilitato
Alfred M.

syslog non menziona nemmeno cosa sta svegliando il computer
Ken Sharp il

5

Per rendere permanente la correzione

(Sto compilando le soluzioni fornite da Bazon, Ilikerobots e Pavlos Theodorou - insieme affrontano il mio problema specifico)

Per risolvere il problema in modo permanente, sia che si tratti di una porta USB che riattiva il sistema o qualcos'altro:

  1. Scopri cosa è autorizzato a riattivare il tuo sistema:

gedit / proc / acpi / wakeup

Potresti ottenere queste o linee simili:

EHC1 S3 * abilitato pci: 0000: 00: xx.x

EHC2 S3 * abilitato pci: 0000: 00: xx.x

XHC S3 * abilitato pci: 0000: 00: xx.x

Quindi apri:

sudo gedit /etc/rc.local

e aggiungere queste righe (o simili, a seconda dei risultati sopra) prima exit 0

echo EHC1> / proc / acpi / wakeup

echo EHC2> / proc / acpi / wakeup

echo XHC> / proc / acpi / wakeup


oh non ci ho pensato. ovviamente potrebbe essere un'altra porta oltre a un usb. sono contento che tu l'abbia risolto.
Pavlos Theodorou,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.