il laptop non riesce a sospendere o ibernare (si sveglia dopo 2-5 secondi senza l'interazione dell'utente)


22

Tutto è iniziato dopo l'aggiornamento alla 13.10, ora sto eseguendo la 14.04 e ho ancora lo stesso problema.

Quando chiudo il coperchio o lo faccio, sudo pm-suspendil laptop va in sospensione per 2-5 secondi e si sveglia da solo.

Lo stesso succede se provo a fare il letargo.

Ho la sensazione che qualcosa si stia risvegliando / portando la CPU fuori dalla modalità di sospensione, ma non riesco a capire cosa.

Qualche aiuto per risolvere questo fastidioso problema?

Modificare:

Grazie a @Fabian, sono stato in grado di capire che sembra che la scheda ethernet si stia comportando male e anche dopo aver impostato la scheda per non svegliarsi su lan (o facendo acpitool -W 3o echo disabled > /sys/bus/pci/devices/0000:00:19.0/power/wakeupo echo IGBE > /proc/acpi/wakeup, il laptop continua a svegliarsi e mostrarlo quando lo faccioacpitool -w

Device  S-state   Status   Sysfs node
---------------------------------------
1. LID    S3    *enabled 
2. SLPB   S3    *disabled
3. IGBE   S4    *enabled   pci:0000:00:19.0
4. EXP1   S4    *disabled  pci:0000:00:1c.0
5. EXP2   S4    *disabled  pci:0000:00:1c.1
6. EXP3   S4    *disabled
7. EXP4   S4    *disabled
8. EXP5   S4    *disabled  pci:0000:00:1c.4
9. EHC1   S3    *disabled  pci:0000:00:1d.0
10. EHC2      S3    *disabled  pci:0000:00:1a.0
11. HDEF      S4    *disabled  pci:0000:00:1b.0

Qualche idea su come procedere da lì?

Il driver di rete utilizzato da IGBE è e1000e


3
usare dmesgper vedere gli ultimi messaggi dal kernel, qualcosa che potrebbe darti un'idea di cosa sta succedendo.
Roadmr

Hai disabilitato la funzione Wake-On-Lan nel BIOS?
Mitch

Sì, è stata la prima cosa che ho provato.
feniix,

Risposte:


10

Ho il kernel 13.13 e la scheda madre basata su Intel Z77X e il seguente comando funziona per me:

sudo sh -c "echo EHC1 > /proc/acpi/wakeup;echo EHC2 > /proc/acpi/wakeup;echo XHC > /proc/acpi/wakeup"

11

Per me ha funzionato:

cat /proc/acpi/wakeup

Cerca tutti gli elementi con stato abilitato che sembrano non appartenere a questo (per me, tranne LID0). Quindi disabilitali dicendo, ad esempio:

sudo sh -c "echo XHC0 > /proc/acpi/wakeup"

Controlla che le voci corrispondenti siano state effettivamente disabilitate, metti il ​​laptop in sospensione e spera per il meglio :)


Ottimo vantaggio, ora devo scoprire perché la scheda Ethernet integrata continua a svegliarsi anche se ho impostato la modalità di sveglia per disabilitarlo
Feniix,

1
Buona fortuna :)
Fabian

1
Hai provato rmmodil driver prima di sospenderlo? (Solo uno scatto al buio)
Rmano,

Lo stesso fastidioso problema in Ubuntu 16.04.1. Purtroppo questa risposta non ha aiutato.
Dan Dascalescu il

+1 Questa è l'unica soluzione che ha funzionato per me.
Bandi Kishore il

7

Si verifica esattamente lo stesso problema (ThinkPad T530, Ubuntu 14.04, ma anche 13.10 e 13.04, dopo un paio di sospensioni, il computer riprende immediatamente dopo la sospensione).

La disabilitazione di IBGE dal risveglio non ha aiutato affatto.

Come suggerito da Romano, ho provato a rimuovere il modulo e1000e, e voilà sospendere come previsto.

Così:

sudo rmmod e1000e

prima di sospendere risolve il problema.

È interessante notare che il problema riappare immediatamente dopo l'installazione del modulo ( sudo modprobe e1000e) e la sospensione senza la sua rimozione. Quindi, deve essere stato qualcosa legato all'hardware.

Per automatizzarlo, ho creato due semplici script di sospensione / riattivazione (testati sull'hardware sopra menzionato, Ubuntu Trusty 14.04) sudo gedit /etc/pm/sleep.d/99_e1000e_remove:

#!/bin/sh

# Remove e1000e kernel module prior to suspend
rmmod e1000e

e sudo gedit /etc/pm/power.d/99_e1000e_probe:

#!/bin/sh

# Modprobe e1000e kernel module after resume
modprobe e1000e

Gli script dovrebbero essere eseguibili ( sudo chmod +x /etc/pm/sleep.d/99_e1000e_remove /etc/pm/power.d/99_e1000e_probe).

Gli appunti:

  • Suppongo che gli script siano abbastanza sicuri da usare anche quando non risolvono il tuo problema.
  • Non sto usando la riattivazione LAN, quindi non so come si comporta con la correzione.

Il laptop ha lo stesso problema con Windows (ho appena installato Windows 7 per mia moglie nel computer perché ne ho uno nuovo) e fa esattamente lo stesso. Quindi potrebbe essere correlato a hardware / firmware
feniix,

1
Ciao. Sto usando Ubuntu 14.04 LTS con un Thinkpad X201s. Questa soluzione che rimuove e1000e con i piccoli script di supporto ha contribuito a far funzionare di nuovo la sospensione. Grazie mille !
apos

1
Posso confermare che la stessa soluzione funziona su un Thinkpad T540p e Ubuntu 14.04. Qualcosa sembra andare storto all'interno del e1000emodulo. Questo succede solo occasionalmente per cominciare, la maggior parte delle volte la sospensione funziona bene. Se il problema appare, rmmod e1000eio posso sospendere con successo. Tuttavia, se modprobelo ripeto dopo aver ripreso, la sospensione successiva funzionerà anche con il modulo presente. Quindi "resettare" il e1000emodulo sembra fare il trucco per me.
mindriot

1

Questo ha funzionato per me (tratto da un altro thread su askubuntu):

Ubuntu 14.04 si sveglia immediatamente dopo la sospensione

Puoi provare a disabilitarlo con uno script Upstart ogni avvio automaticamente:

Crea un file etc/init/disable-XHC.conf

Soddisfare:

start on started dbus
stop on stopping dbus

script
   sudo -u root sh -c "echo 'XHC' > /proc/acpi/wakeup"
end script

0

La soluzione systemd è creare un'istruzione per systemd-tmpfiles per scrivere qualcosa su un file quando viene invocato.

Creare un file /etc/tmpfiles.d, ad esempio /etc/tmpfiles.d/disable-network-wake.conf, con il seguente contenuto, a seconda del dispositivo per cui si desidera disabilitare la sveglia.

w /proc/acpi/wakeup - - - - XHC

Vedi anche systemd-tmpfiles (8) e tmpfiles.d (5).

Rif: https://wiki.archlinux.org/index.php/Systemd#Temporary_files

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.