WakeOnUSBを適切に構成するにはどうすればよいですか?


13

10.04または10.10 Ubuntu(必要に応じて2.6.36以降)でWake-On-USBを適切に構成するにはどうすればよいですか?(Wake-on-USBは、コンピューターがスリープ状態で、たとえばUSBキーボードイベントがマシンを起動する場合です!)ノートブックは、Acer Aspire Timeline X 1830Tです。Linux Kernelがどのようにコントローラーをサポートしているのかわかりません。

これにアプローチするさまざまな方法があります。たとえば、/ proc / acpi / wakeup ...またはUDEV ...またはHALを使用したものですか?

/proc/acpi/wakeup S4のすべてのデバイスが表示されますが、S3が必要です。

Device S-state Status Sysfs node
P0P2 S4 *disabled
PEGP S4 *disabled
P0P1 S0 *disabled pci:0000:00:1e.0
EHC1 S4 *disabled pci:0000:00:1d.0
USB1 S4 *enabled
USB2 S4 *disabled
USB3 S4 *disabled
USB4 S4 *disabled
EHC2 S4 *disabled pci:0000:00:1a.0
USB5 S4 *disabled
USB6 S4 *disabled
USB7 S4 *disabled
HDEF S0 *disabled pci:0000:00:1b.0
RP01 S5 *disabled pci:0000:00:1c.0
PXSX S5 *disabled pci:0000:01:00.0
RP02 S0 *disabled pci:0000:00:1c.1
PXSX S5 *disabled pci:0000:02:00.0
RP03 S0 *disabled
PXSX S5 *disabled
RP04 S0 *disabled
PXSX S5 *disabled
RP05 S0 *disabled
PXSX S5 *disabled
RP07 S0 *disabled
PXSX S5 *disabled
RP08 S0 *disabled
PXSX S5 *disabled
GLAN S0 *disabled
PEG3 S4 *disabled
PEG5 S4 *disabled
PEG6 S4 *disabled
SLPB S3 *enabled
  • S4(Suspend-To-Disk afaik)は、USB1をウェイクアップテーブルにエコーした場合にも機能しないようです。S4フラグを設定するだけです。
  • S3でUSBポートを取得できますか?

外部キーボードのキーが押さACPI standardれた場合に備えて、サスペンドトゥラム(S3、)からマシンをウェイクアップさせたい。内部のラップトップキーボードのキーが押された場合にのみ起動します... Suspend To Ramから。USBマウスを差し込むと、USBポートにも電源が入っていないようです。これを変更するBIOSオプションはありません。

デバイスに関するさらに具体的な情報:

usb-devices
T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 13 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=04d9 ProdID=1603 Rev=03.10
S: Manufacturer=
S: Product=USB Keyboard
C: #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid
I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid

root@underwater-laptop:/# lsusb
[...]
Bus 001 Device 013: ID 04d9:1603 Holtek Semiconductor, Inc.
Bus 001 Device 004: ID 0bda:0138 Realtek Semiconductor Corp.
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[...]

これがうまくいかない場合は、理由を適切に説明する必要があります: 。

編集:これは、USBで起動し、Windowsで動作します!

どうもありがとう、マリウス


1
あなたが言うように、外部USBポートの信号を通過させるBIOSオプションがなく、外部USBデバイスに電力さえない場合(バッテリー駆動のノートブックにとって理にかなっています)-一体どのようにこれが機能しますか?Ubuntuにはこれを行う魔法がありません。
Takkat

Windwsで動作します。そのため、特定のフラグをHWに渡すオプションがあると思います。;)ハードウェアとLinuxに関しては、このトップガンの考え方があります。誰でも輸送機を飛ばしてWindowsを実行できます。しかし、戦闘機を飛ばしてLinuxを実行できるのはごく少数の人だけです;)
wishi

そうそうトップガン:誰もがWindowsをクラッシュさせることができますが、Linuxをクラッシュさせるのは本当に難しい仕事です;-)。LANでのスリープ解除がWindowsで機能する場合、USBデバイスの電源は確実にオンになっています(おそらく省エネモードなど)。
Takkat

回答:


4

USB *デバイスはいずれもPCIバスに関連付けられていないため、システムのACPIテーブルに問題があるようです。

ラップトップでUSBキーボードを接続すると、出力にpciパス0000:00:1d.0が表示さdmesgます。

input: ... as /devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2.3/6-2.3:1.0/input/input14

そこからACPIデバイス名を見つけ、/proc/acpi/wakeupそれをエコーし​​て有効にします:

USB0  S3 enabled  pci:000:00:1d.0

お使いのシステムでは、PCIバスからACPIデバイスへのマッピングが欠落しているため、動作させることができないと思います。さらに進むには、DSDTのデバッグを開始する必要がある場合があります。http://acpi.sourceforge.net/dsdt/index.php


1

Ubuntu Lucid 10.04.3の2.6.32-37では、使用する/proc/acpi/wakeup価値がないことがわかりました。/sys重要なのはそれだけだと思われます。

私のusb-wakeup下にリンクされたスクリプトは、歩く/sysだけでUSBHIDデバイス、別名キーボードとマウスを有効にするには、逆に木を。また、親ハブとコントローラーを有効にします。これは私がそれを機能させるのにかかったものです。udevルールは、起動時およびusbhidデバイスがプラグインされたときにスクリプトをトリガーします。

udevスクリプトでは、スクリプトがにある必要があり、スクリプトを/usr/local/sbin必ず実行可能にしてくださいchmod 755 /usr/local/sbin/usb-wakeup


1

lsusbを使用して、USBデバイスの製品IDとベンダーIDを取得します。

Bus 004 Device 002: ID 0458:002e KYE Systems Corp. (Mouse Systems)

私の場合、ID 0458:002eのマウスは、新しいudevルールを作成します:

sudo nano /etc/udev/rules.d/90-keyboardwakeup.rules

このコードを挿入し、idVendorとidProductをlsusbの正しいIDに置き換えます

SUBSYSTEM=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="002e" RUN+="/bin/sh -c 'echo enabled > /sys$env{DEVPATH}/../power/wakeup'"

再起動してテストします。11.04および12.04でテスト済み(下位バージョンでも動作する可能性があります)。このフォーラムの投稿で答えを見つけました(ederopaaからの回答


1
Ask Ubuntuへようこそ!これは理論的には質問に答える可能性がありますが、答えの重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
エリアカガン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.