Pulpit budzi się z trybu losowego zawieszenia (14.04)

9

Mój pulpit sam się budzi. Czasami zajmuje to tylko minutę lub dwie, innym razem godziny.

Nie wiem od czego zacząć rozwiązywanie problemu. Każda pomoc byłaby bardzo mile widziana.

twex
źródło
1
Czy jest podłączony do kabla Ethernet? Być może wyjmij kabel i sprawdź, czy nadal śpi.
Jos
Zgadzam się z Jos. 2 inne pytania: Czy masz w systemie BIOS funkcję Wake On Lan lub Wake On Keyboard?
Rinzwind
Odpowiedź wydaje się działać również w przypadku innych wersji Ubuntu.
Kaveh

Odpowiedzi:

13

Porady udzielone przez Jos i Rinzwind dały mi początek, ale nie rozwiązały problemu. Nie mam podłączonego kabla Ethernet ani nie mam WOL (tak naprawdę nie istniało jako opcja w BIOS-ie) lub włączonej funkcji Wake On Keyboard.

Próbowałem odłączyć mysz, bezprzewodową Logitech z odbiornikiem USB, zanim zawiesiłem komputer na noc - bez budzenia!

Dlaczego wcześniej o tym nie myślałem? Zawsze wyłączam mysz podczas zawieszania komputera. Nie sądziłem, że spowoduje to więcej problemów.

Jak więc można zapobiec budzeniu się myszy / odbiornika? Najpierw uruchom polecenie cat /proc/acpi/wakeup. Spowoduje to wyświetlenie listy urządzeń, które mogą spowodować przebudzenie.

$ cat /proc/acpi/wakeup 
Device  S-state     Status      Sysfs node
P0P1    S4          *disabled   pci:0000:00:1e.0
USB1    S3          *disabled
USB2    S3          *disabled
USB3    S3          *disabled
USB4    S3          *disabled
USB5    S3          *disabled
USB6    S3          *disabled
USB7    S3          *disabled
RP01    S4          *disabled   pci:0000:00:1c.0
PXSX    S4          *disabled   pci:0000:01:00.0
RP02    S4          *disabled
PXSX    S4          *disabled
RP03    S4          *disabled
PXSX    S4          *disabled
RP04    S4          *disabled
PXSX    S4          *disabled
RP05    S4          *disabled   pci:0000:00:1c.4
PXSX    S4          *enabled    pci:0000:02:00.0
RP06    S4          *disabled
PXSX    S4          *disabled
RP07    S4          *disabled
PXSX    S4          *disabled
RP08    S4          *disabled
PXSX    S4          *disabled
PEG0    S4          *disabled
PEGP    S4          *disabled
PEG1    S4          *disabled
PEG2    S4          *disabled
PEG3    S4          *disabled
GLAN    S4          *disabled
EHC1    S4          *enabled    pci:0000:00:1d.0
EHC2    S4          *enabled    pci:0000:00:1a.0
XHC     S4          *enabled    pci:0000:00:14.0
HDEF    S4          *disabled   pci:0000:00:1b.0
PWRB    S3          *enabled 

W polu Statusmożesz sprawdzić, czy mogą obudzić komputer ( enabled), czy nie ( disabled).

EHC1, EHC2I XHCreprezentują kontrolery USB. Oczywiście USB1 - USB7, ale w moim przypadku wszystkie są wyłączone. Nie mogę wdawać się w szczegóły, ponieważ niewiele wiem na ten temat.

Myślę, że PWRB(ostatnia linia) reprezentuje przycisk zasilania. Dobrym pomysłem byłoby pozostawienie go włączonego, ponieważ prawdopodobnie chcesz obudzić komputer za pomocą przycisku zasilania.

Wydając polecenie sudo sh -c "echo EHC1 > /proc/acpi/wakeup", przełączasz ustawienie dla EHC1. Jeśli uruchomisz polecenie, aby ponownie wyświetlić listę urządzeń, zobaczysz, że ustawienie dla EHC1uległo zmianie.

Próbowałem to z kontrolerami EHC1, EHC2, XHCponieważ nie wiem, co steruje kontroler jakiego urządzenia USB.

Dla mnie opuszczenie EHC1i XHCwłączenie i wyłączenie EHC2daje mi oczekiwany rezultat. Teraz ani klawiatura, ani mysz (nawet jeśli są włączone) nie mogą powodować budzenia. Muszę nacisnąć fizyczny przycisk zasilania na samym komputerze.

Niestety ustawienie zostanie zresetowane po ponownym uruchomieniu. Aby temu przeciwdziałać, możesz umieścić poniższy kod w swoim /etc/rc.local. Musi być edytowany przy użyciu podwyższonych uprawnień: sudo gedit /etc/rc.localna przykład.

for device in EHC2
do
    if grep -q "$device.*enabled" /proc/acpi/wakeup
    then
        echo $device > /proc/acpi/wakeup
    fi
done

Możesz dodać więcej urządzeń, zmieniając pierwszy wiersz w kodzie: for device in EHC1 EHC2 XHC USB1i tak dalej. Znalazłem skrypt napisany przez użytkownika też .

To rozwiązało mój problem.

twex
źródło
Potwierdzam, że nadal tak się dzieje na Ubuntu 16.04. Odłączenie odbiornika USB pomogło! Później sprawdzę programowe rozwiązanie.
onebree
Wyłączenie XHC rozwiązuje problem z moim Ubuntu 16.04
HD189733b