일시 중지 및 / 또는 최대 절전 모드에서 즉시 깨우기를 방지하려면 어떻게합니까?


35

며칠 동안 Ubuntu 12.04 데스크톱 컴퓨터가 일시 중단 모드로 전환 된 직후 신비하게 깨어났습니다.

설치 후, Ubuntu 12.10 랩톱 컴퓨터도 일시 중단 및 최대 절전 모드 직후에 다시 시작되었습니다.

그것들을 방지하는 방법?

답변:


35

이 문제는 이상한 USB 신호로 인해 발생했을 수 있습니다. gedit /proc/acpi/wakeupUSB0 및 USB2에 대해 깨우기가 활성화되었습니다.

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

비활성화로 전환 (에 의해 확인 gedit /proc/acpi/wakeup다시 또는 파일보기를 새로 고침) 을 한 후,에서 컴퓨터의 숙박은해야처럼 일시 중지합니다. :-)


이 솔루션은 저에게 효과적이지 않았습니다. PS2K는 활성화되었지만 (키보드 웨이크 업) 변경해도 아무런 차이가 없었습니다.
— Bryce

4
필자의 경우 USB * 장치가 없었으며 USB 허브를 통해 내부적으로 연결된 것처럼 보입니다. EHC1, EHC2 및 XHC를 / proc / acpi / wakeup에 추가하면 도움이되었습니다.
— Vladimir Rutsky

2
제 경우에는 USB 3 용 XHCI 였습니다
— Andy

@Bazon 좀 봐 http://askubuntu.com/questions/852600/ubuntu-16-04-wakes-up-immediately-from-suspend-after-installing-fprint-in-lenovo주시고 알아낼 수 있도록 도와주십시오
— Kasun Siyambalapitiya

나를 IGBE위해 일을 비활성화
— Kasun Siyambalapitiya

22

최근 우분투 15.04의 Asus Zenbook Pro UX501에서 동일한 증상이 나타났습니다. Bazon의 정확한 수정은 효과가 없었지만 Vladimir Rutsky의 변형은 효과가있었습니다. 구체적으로 :

터미널에서 실행 cat /proc/acpi/wakeup하면 다음 줄이 표시됩니다

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

(pci 주소가 다를 수 있음)

다음 명령을 실행하여이 세 가지를 비활성화로 전환하십시오.

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

위의 작업을
— 수행해도

나를 IGBE위해 일하는 것을
— 막기

@ilikerrobots 이것은 영구적으로 수정하지 않습니다, 영구적으로 수정하는 방법
— Kasun Siyambalapitiya

GLAN이 신속하게 다시 활성화됩니다. 왜 그런지 알아?
— Alfred M.

그것을 지속시키기 위해 시간이 초과 된 cron 항목에 넣으십시오 @reboot. 실제로 쉘 스크립트에 테스트를 넣어서 에코가 활성화 된 경우에만 에코를 실행하는 것이 유용하다는 것을 알았습니다 egrep -q '^XHC1\s+S[0-9]\s+\*enabled' /proc/acpi/wakeup && echo XHC1 > /proc/acpi/wakeup(문제는 XHC1-USB 칩셋이었습니다).
— David Schoen

15

PC를 깨우는 장치를 알고 있다면 첫 번째 단계로 이동하여 가이드를 따르십시오. 그렇지 않은 경우 터미널을 열고 다음을 수행하십시오.

cat /var/log/syslog

그리고 PC를 깨우는 장치를 찾으십시오.

그래서 지금:

  1. 터미널에 충돌 :

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

PC를 깨우는 모든 USB 포트를 나열합니다.

sudo su

우리는 이제 뿌리 특권을 가지고 있습니다.

2. 8 개의 USB 포트가 있으며이 예에서는 usb8을 비활성화하고 싶다고 가정 해 보겠습니다.

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

계속해서 테스트하십시오. 이제 USB 포트 8의 특정 장치가 PC를 깨우지 않습니다.

다음 단계는 부팅 할 때마다 변경 사항을 영구적으로 유지하려면

삼.

sudo nano /etc/rc.local

그리고 2 단계의 명령을 붙여 넣습니다 (물론 종료 0 이전).

그게 다야.

옵션 수면 후 /를 USB (8) 장치를 처리 웨이크 경우에만, 내 예에서 되돌리기 다시는에 사용 가능.

  1. udev부팅 할 때마다 명령을 실행하도록 규칙을 작성하십시오 .

터미널을 열고 다음을 수행하십시오.

lsusb

키보드 장치 ID 정보에서 첫 번째 4 자리 숫자는 공급 업체 ID이고 다음 4 자리 숫자는 제품 ID입니다. 스크린 샷

다음은

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

"wakeup"에서 원하는 스크립트 이름을 입력하십시오. 숫자 10은 다른 많은 udev 규칙이있는 경우 우선 순위이며 'rule'이 다른 규칙보다 먼저 실행됩니다.

이를 붙여넣고 공급 업체 ID 및 제품 ID를 자신의 무선 키보드 공급 업체 ID 및 제품 ID로 바꿉니다.

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

* usb8 for my wireless keyboard (스크린 샷 (Bus 008)에서 볼 수 있음)는 자신의 무선 키보드입니다.

Ctrl+ O저장하려면 Ctrl+ , X종료하고 재부팅하십시오.


감사! 이것은 흥미로워 보인다. 여기에 가이드를 추가 하시겠습니까 (이 질문의 특정 문제를 해결하도록 변경)
— geoffrey

감사. 이것은 내가 원하는 것이 아니지만 rc.local 파일을 수정하여 문제를 해결하게했습니다 (제 문제는 USB 포트에만 국한되지 않습니다). 내 솔루션을 게시했지만 현상금을받을 수 있습니다 (내일 전에는 수여 할 수 없음)
— geoffrey

어떤 것을 사용 중지해도 안전합니까? 모두 비활성화하면 문제가 발생합니까? 나를 위해 유일하게 활성화 된 것은 / sys / bus / usb / devices / 1-2 / power / wakeup : enabled
— Alfred M.

syslog는 컴퓨터를 깨우고있는 것을 언급하지도 않습니다
— Ken Sharp

5

수정 사항을 영구적으로 만들려면

(Bazon, Ilikerobots 및 Pavlos Theodorou에서 제공하는 솔루션을 컴파일하고 있습니다.

시스템을 깨우는 USB 포트인지 아니면 다른 장치인지 문제를 영구적으로 해결하려면 다음을 수행하십시오.

  1. 시스템을 깨울 수있는 항목을 찾으십시오.

gedit / proc / acpi / wakeup

다음과 같은 줄을 얻을 수 있습니다.

EHC1 S3 * 사용 가능 pci : 0000 : 00 : xx.x

EHC2 S3 * 사용 가능 pci : 0000 : 00 : xx.x

XHC S3 * 사용 가능 pci : 0000 : 00 : xx.x

그런 다음여십시오 :

sudo gedit /etc/rc.local

및 (위의 결과에 따라, 또는 이와 유사한 것)이 줄을 추가 하기 전에 exit 0

에코 EHC1> / proc / acpi / wakeup

에코 EHC2> / proc / acpi / wakeup

echo XHC> / proc / acpi / wakeup


오, 나는 그것에 대해 생각하지 않았다. 물론 그것은 USB 이외의 다른 포트 일 수 있습니다. 나는 당신이 그것을 해결 기쁘다.
— Pavlos Theodorou
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.