it-swarm.com.de

Wie konfiguriere ich WakeOnUSB richtig?

Wie konfiguriere ich Wake-On-USB ordnungsgemäß auf einem 10.04 oder 10.10 Ubuntu (2.6.36 und höher, falls erforderlich)? (Wake-on-USB ist, wenn der Computer schläft und beispielsweise ein USB-Tastaturereignis die Maschine aufweckt!) Das Notebook ist ein Acer Aspire Timeline X 1830T. Ich weiß nicht, auf welche Weise der Linux-Kernel die Controller unterstützt.

Es gibt verschiedene Möglichkeiten, dies zu erreichen, zum Beispiel/proc/acpi/wakeup ... oder UDEV ... oder etwas mit HAL?

/proc/acpi/wakeup zeigt jedes Gerät in S4, aber ich brauche 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, das ist Suspend-To-Disk afaik ... scheint auch nicht zu funktionieren, wenn ich USB1 in die Aufwecktabelle zurückgebe. Es wird nur ein S4-Flag gesetzt.
  • kann ich die USB-Ports in S3 bekommen?

Ich möchte, dass die Maschine von Suspend-To-Ram (S3, ACPI standard) aufgeweckt wird, falls eine Taste auf meiner externen Tastatur gedrückt wird. Es wird nur aktiviert, wenn eine Taste auf der internen Laptoptastatur gedrückt wird ... von Suspend To Ram. Wenn ich eine USB-Maus anschließe, ist der USB-Anschluss anscheinend nicht einmal mit Strom versorgt. Ich habe keine BIOS-Option, um dies zu ändern.

Weitere spezifische Informationen zum Gerät:

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

[email protected]:/# 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
[...]

Wenn dies nicht funktioniert, muss ich erklären, warum :( - aber ich denke, es ist sehr schwer, diesen internen Kernel zu recherchieren. Ich hoffe, es ist möglich ... Ich bin nur auf der Suche nach einer Lösung .

bearbeiten: Das Aufwachen über USB funktioniert unter Windows!

Vielen Dank, Marius

13
wishi

Es scheint, dass etwas mit der ACPI-Tabelle des Systems nicht stimmt, da keines der USB * -Geräte an einen PCI-Bus gebunden ist.

Wenn ich meine USB-Tastatur an meinen Laptop anschließe, kann ich den PCI-Pfad 0000: 00: 1d.0 in der Ausgabe dmesg sehen :

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

Von dort aus kann ich den ACPI-Gerätenamen in /proc/acpi/wakeup finden und ihn erneut eingeben, um ihn zu aktivieren:

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

Ich würde davon ausgehen, dass die Zuordnung des PCI-Busses zum ACPI-Gerät für Ihr System nicht funktioniert. Möglicherweise müssen Sie mit dem Debuggen des DSDT beginnen, um weiterkommen zu können. http://acpi.sourceforge.net/dsdt/index.php

4
Kees Cook

Ich fand unter Ubuntu Lucid 10.04.3 mit 2.6.32-37, dass die Verwendung von _/proc/acpi/wakeup_ wertlos ist. Es scheint, _/sys_ ist das einzige, was zählt.

Mein _usb-wakeup_ -Skript, das unten verlinkt ist, führt den _/sys_ -Baum in umgekehrter Reihenfolge, um nur usbhid-Geräte, auch bekannt als Tastatur und Maus, zu aktivieren. Es aktiviert auch die übergeordneten Hubs und Controller. Das war es, was ich brauchte, um es zum Laufen zu bringen. Die udev-Regel löst das Skript beim Booten und beim Anschließen eines USBHID-Geräts aus.

Für das udev-Skript muss sich das Skript in _/usr/local/sbin_ befinden, und Sie müssen sicherstellen, dass das Skript _chmod 755 /usr/local/sbin/usb-wakeup_ ausführbar ist.

1
Nathan Grennan

Verwenden Sie lsusb, um die Produkt- und Lieferanten-ID Ihres USB-Geräts abzurufen:

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

In meinem Fall ist die Maus mit der ID 0458: 002e, dann erstellen Sie eine neue udev-Regel:

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

Geben Sie diesen Code ein und ersetzen Sie idVendor und idProduct durch die korrekten IDs von lsusb

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

Rebooten und testen. Getestet am 11.04 und 12.04 (funktioniert möglicherweise auch mit niedrigeren Versionen). Ich habe die Antwort in diesem Forum gefunden Beitrag (Antwort von ederopaa )

1
dafyk