GNU/Linux >> Linux の 問題 >  >> Ubuntu

/ proc / acpi / wakeup Permanentに変更を加える方法は?

Ubuntu12.04がサスペンドに入った直後にウェイクアップする際に問題が発生しました。この質問で提案されているように、/ proc / acpi / wakeupの設定を変更することで問題を解決しました:即時のウェイクアップが一時停止や休止状態になるのを防ぐにはどうすればよいですか?

設定を変更すると、システムは問題なくサスペンド状態になり、サスペンド状態のままになりますが、ウェイクアップした後、/ proc / acpi/wakeupの設定が設定したものと異なります。

一時停止する前に:

cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
SMB0      S4    *disabled  pci:0000:00:03.2
PBB0      S4    *disabled  pci:0000:00:09.0
HDAC      S4    *disabled  pci:0000:00:08.0
XVR0      S4    *disabled  pci:0000:00:0c.0
XVR1      S4    *disabled  
P0P5      S4    *disabled  
P0P6      S4    *disabled  pci:0000:00:15.0
GLAN      S4    *enabled   pci:0000:03:00.0
P0P7      S4    *disabled  pci:0000:00:16.0
P0P8      S4    *disabled  
P0P9      S4    *disabled  
USB0      S3    *disabled  pci:0000:00:04.0
USB2      S3    *disabled  pci:0000:00:04.1
US15      S3    *disabled  pci:0000:00:06.0
US12      S3    *disabled  pci:0000:00:06.1
PWRB      S4    *enabled   
SLPB      S4    *enabled

システムに一時停止するように指示すると、正常に動作します。しかし、後でそれを起こした後、設定は次のいずれかに変更されます:

USB0      S3    *disabled  pci:0000:00:04.0
USB2      S3    *enabled   pci:0000:00:04.1
US15      S3    *disabled  pci:0000:00:06.0
US12      S3    *enabled   pci:0000:00:06.1

または

USB0      S3    *enabled   pci:0000:00:04.0
USB2      S3    *enabled   pci:0000:00:04.1
US15      S3    *enabled   pci:0000:00:06.0
US12      S3    *enabled   pci:0000:00:06.1

何かアイデアはありますか?

ご返信ありがとうございます。残念ながら、それは私の問題を解決しませんでした。

すべて

/sys/bus/usb/devices/usb1/power/wakeup
/sys/bus/usb/devices/usb2/power/wakeup
/sys/bus/usb/devices/usb3/power/wakeup
/sys/bus/usb/devices/usb4/power/wakeup

だけでなく

/sys/bus/usb/devices/3-1/power/wakeup

は無効に設定されており、ノートブックはスリープ状態になった直後に自動的にウェイクアップします。反応しているように見えるのは、/ proc / acpi / wakeupの設定だけです。これは、ノートブックの電源を切ったり再起動したりするたびに変更(リセット)され続けます。

ベストアンサー

Ubuntu12.10でこの問題が再び発生しました。残念ながら、ユーザーMTSからの提案もうまくいきませんでした。ただし、/proc/acpi/wakeupでusbプロパティを自動的に設定するスクリプトを作成できます。 すべての一時停止の直前。

このソリューションは、サスペンドフックの作成に基づいています(このArchwikiの記事に基づいています)。以下を/usr/lib/pm-utils/sleep.d/45fixusbwakeupとして保存します 、実行可能にするようにしてください(chmod +x /usr/lib/pm-utils/sleep.d/45fixusbwakeup

#!/bin/bash
case $1 in
    hibernate)
            echo "Going to suspend to disk!"
            ;;
    suspend)
            echo "Fixing acpi settings."
            for usb in `cat /proc/acpi/wakeup | grep USB | cut -f1`;
            do
                    state=`cat /proc/acpi/wakeup | grep $usb | cut -f3 | cut -d' ' -f1 | tr -d '*'`
                    echo "device = $usb, state = $state"
                    if [ "$state" == "enabled" ]
                    then
                            echo $usb > /proc/acpi/wakeup
                    fi
            done
            echo "Suspending to RAM."
            ;;
    thaw)
            echo "Suspend to disk is now over!"
            ;;
    resume)
            echo "We are now resuming."
            ;;
    *)
            echo "Somebody is callin me totally wrong."
            ;;
esac

これは、すべてのステータスを変更することです。 現在有効から無効になっているUSBデバイス。特定のUSBデバイスのみを変更する場合は、スクリプトのforループを変更します。たとえば、USB1とUSB3の変更のみを変更するには

for usb in `cat /proc/acpi/wakeup | grep USB | cut -f1`;

for usb in 'USB1' 'USB3';

うまくいけば、これは同じ問題を抱えている他の誰かを助けるでしょう。このアプローチで問題は解決しました。

関連:Ubuntuは本当にすべてのWindowsプログラムを実行できますか?
Ubuntu
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Linux – / proc/mntを/proc/ mountsにリンクしますか?

  3. .config / user-dirs.dirsに永続的な変更を加える方法は?

  1. / etc / motdはどのように更新されますか?

  2. Unix / Linux でプロセスのパスを取得するにはどうすればよいですか

  3. プロセスが実行されているフォルダーを見つける方法は?

  1. Modelineを使用してVimでファイル固有の設定を変更する方法

  2. OpenSUSE 12.2を12.3にアップグレードする方法(デスクトップとサーバー)

  3. Ubuntuで永続的なresolv.confに変更を加える方法[クイックヒント]