web-dev-qa-db-ja.com

サスペンドやハイバネーションからの即時のウェイクアップを防ぐにはどうすればよいですか?

数日間、私のUbuntu 12.04デスクトップコンピューターは、サスペンドモードに入った直後に神秘的に目覚めていました。

インストール後、Ubuntu 12.10ラップトップコンピューターもサスペンドおよび休止状態の直後に再開されました。

それらを防ぐ方法は?

35
Bazon

この問題は、おそらく奇妙なUSB信号が原因でした。 gedit /proc/acpi/wakeupは、ウェイクアップがUSB0およびUSB2に対して有効になっていることを示しました。

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

それらを無効に切り替えましたgedit /proc/acpi/wakeupで再度チェックするか、ファイルビューを更新します、その後、コンピューターはサスペンド状態のままになります。 :-)

35
Bazon

最近、Ubuntu 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アドレスは異なる場合があります)

次のコマンドを発行して、これら3つを無効に切り替えます。

Sudo -s
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHC > /proc/acpi/wakeup
22
ilikerobots

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をウェイクアップしません。

次のステップでは、各ブート後に変更を永続的にします。

3。

Sudo nano /etc/rc.local

そして、ステップ2からのコマンドを貼り付けます。そこ(もちろん出口0の前)に。

それでおしまい。

optionalスリープ/ウェイクアップ処理後にUSB 8デバイスが、私の例では、に戻る場合のみ有効。

  1. ブート、スリープ、ウェイクアップのたびにコマンドを実行するudevルールも記述します。

ターミナルを開き、以下を実行します。

lsusb

キーボードデバイスID情報では、最初の4桁がベンダーIDで、次の4桁が製品IDです screenshot

次は:

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

「ウェイクアップ」には、希望するスクリプト名を入力します。番号10は、他の多くのudevルールがある場合の優先順位です。番号が小さいほど、「ルール」は他のルールよりも先に実行されます。

これをコピーして貼り付け、ベンダー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は私のワイヤレスキーボードです(スクリーンショット(Bus 008)でも確認できます)。

Ctrl + O 保存する 、 Ctrl + X 終了して再起動します。

15

修正を永続的にするため

(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

そして、これらの行を追加します(または、上記の結果に応じて同様の)beforeexit 0

エコーEHC1>/proc/acpi/wakeup

エコーEHC2>/proc/acpi/wakeup

エコーXHC>/proc/acpi/wakeup

5
geoffrey