Wie konfiguriere ich Wake-On-USB richtig 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 setzt nur ein S4-Flag.
- 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
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
[...]
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
Antworten:
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 auf meinem Laptop meine USB-Tastatur einstecke, sehe ich den PCI-Pfad 0000: 00: 1d.0 in der
dmesg
Ausgabe:Von dort aus kann ich den ACPI-Gerätenamen in
/proc/acpi/wakeup
finden und ihn wiedergeben, um ihn zu aktivieren: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
quelle
Ich fand auf Ubuntu Lucid 10.04.3 mit 2.6.32-37, dass die Verwendung
/proc/acpi/wakeup
wertlos ist. Es scheint/sys
das Einzige zu sein, was zählt.Mein
usb-wakeup
unten verlinktes Skript/sys
bewegt den Baum in umgekehrter Reihenfolge, um nur usbhid-Geräte (Tastatur und Maus) zu aktivieren. Außerdem werden die übergeordneten Hubs und Controller aktiviert. 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 das Skript vorhanden sein.
/usr/local/sbin
Stellen Sie sicher, dass das Skript ausführbar istchmod 755 /usr/local/sbin/usb-wakeup
./etc/udev/rules.d/56-wakeupusb.rules
/usr/local/sbin/usb-wakeup
quelle
Verwenden Sie lsusb, um die Produkt- und Lieferanten-ID Ihres USB-Geräts abzurufen:
In meinem Fall ist die Maus mit der ID 0458: 002e, dann erstellen Sie eine neue udev-Regel:
Geben Sie diesen Code ein und ersetzen Sie idVendor und idProduct durch die korrekten IDs von lsusb
Rebooten und testen. Getestet am 11.04 und 12.04 (funktioniert möglicherweise auch mit niedrigeren Versionen). Ich fand die Antwort in diesem Forum Post (Antwort von ederopaa )
quelle