• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Ruhezustand USB wakeup

frankqn

Member
Hallo,

wie kann ich den Rechner mit meiner USB-Maus aus dem Ruhezustand wecken? Auf meiner Suche nach einer Lösung habe ich das hier gefunden. Leider funktioniert es bei mir nicht. Ich habe keine Ahnung, wo ich ansetzen soll.
 
OP
F

frankqn

Member
Es liegt nicht an den BIOS-Einstellungen, unter Win es klappt mit den selben BIOS-Einstellungen einwandfrei.

Was mir auffällt:
Code:
cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
PCE2      S4    *disabled  pci:0000:00:02.0
PCE3      S4    *disabled
PCE4      S4    *disabled
PCE5      S4    *disabled
PCE6      S4    *disabled  pci:0000:00:06.0
PCE7      S4    *disabled
PCE9      S4    *disabled
PCEA      S4    *disabled
PCEB      S4    *disabled
PCEC      S4    *disabled
SBAZ      S4    *disabled  pci:0000:00:14.2
PS2K      S3    *enabled   pnp:00:07
P0PC      S4    *disabled  pci:0000:00:14.4
UHC1      S4    *enabled   pci:0000:00:12.0
UHC2      S4    *enabled   pci:0000:00:12.1
UHC3      S4    *enabled   pci:0000:00:12.2
USB4      S4    *enabled   pci:0000:00:13.0
UHC5      S4    *enabled   pci:0000:00:13.1
UHC6      S4    *enabled   pci:0000:00:13.2
UHC7      S4    *enabled   pci:0000:00:14.5
PWRB      S3    *enabled
Müsste da bei USB4 nicht S3 stehen wie beim Powerbutton und dem PS/2-Keyboard?
 
Hallo frankqn,

frankqn schrieb:
Leider funktioniert es bei mir nicht. Ich habe keine Ahnung, wo ich ansetzen soll.
Ich kann das hier auch bestätigen, sobald der Rechner im angegebenen Zeitraum in den Ruhezustand versetzt wird, ist und bleibt, die Maus tot.
Bei mir hängt diese am HUB der Tastatur, welche aber erweckt wird.

Lieben Gruß aus Hessen
 
Hallo spoensche,

spoensche schrieb:
An welchem USB Port hängt die Maus?
Code:
lsusb
Code:
herz-von-hessen@openSUSE-Desk:~> lsusb
Bus 002 Device 005: ID 046d:c062 Logitech, Inc. M-UAS144 [LS1 Laser Mouse]

Als ich die Maus dann testweise direkt am Towergehäuse angeschlossen habe konnte ich den Ruhezustand durch klicken aufwachen lassen, aber bereits Sekunden später kam die Meldung vom Bildschirm No Signal, da kam ich auch nicht mehr raus.
Da ich diesen Zustand sowieso nicht verwende ist mir das aber nicht so wichtig.
Übrigens, bei meinem Netbook klappt der Ruhezustand fehlerfrei.
Die Xinput-Ausgabe sieht so aus:
Code:
herz-von-hessen@openSUSE-Desk:~> xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Laser Mouse                  id=8    [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Cherry USB-Keyboard                       id=9    [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                        id=10   [slave  keyboard (3)]

Aber ich will ja nicht mein "Problem" behandeln, es geht ja um den TE.

Lieben Gruß aus Hessen
 
OP
F

frankqn

Member
Code:
lsusb
Bus 002 Device 002: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Bus 003 Device 002: ID 06a3:1589 Saitek PLC P3000 Wireless Pad
Bus 004 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Auch das hier funktioniert nicht.

Edit: mir fällt da was auf:
Code:
cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
PCE2      S4    *disabled  pci:0000:00:02.0
PCE3      S4    *disabled
PCE4      S4    *disabled
PCE5      S4    *disabled
PCE6      S4    *disabled  pci:0000:00:06.0
PCE7      S4    *disabled
PCE9      S4    *disabled
PCEA      S4    *disabled
PCEB      S4    *disabled
PCEC      S4    *disabled
SBAZ      S4    *disabled  pci:0000:00:14.2
PS2K      S3    *enabled   pnp:00:07
P0PC      S4    *disabled  pci:0000:00:14.4
UHC1      S4    *enabled   pci:0000:00:12.0
UHC2      S4    *enabled   pci:0000:00:12.1
UHC3      S4    *enabled   pci:0000:00:12.2
USB4      S4    *enabled   pci:0000:00:13.0
UHC5      S4    *enabled   pci:0000:00:13.1
UHC6      S4    *enabled   pci:0000:00:13.2
UHC7      S4    *enabled   pci:0000:00:14.5
PWRB      S3    *enabled
Für USB4 wird pci:0000:00:13.0 als Sysfs node ausgegeben. Der tatsächliche Pfad ist jedoch /sys/devices/pci0000:00/0000:00:12.1/, denn da ist der Ordner usb4, in dem tatsächlich die Daten der Maus sind. Ich kann mir nicht vorstellen, dass das so richtig ist. Kann oder muss ich das irgendwie komplett neu zuordnen lassen?
 

josef-wien

Ultimate Guru
Ich habe zwar keine Ahnung von dem Thema, aber ich theoretisiere einmal.

Bei
Code:
/usr/sbin/hwinfo --mouse
muß unter anderem eine Zeile wie
Code:
SysFS ID: /devices/pci0000:00/0000:00:1d.1/usb5/5-2/5-2:1.0
herauskommen. Den letzten Teil läßt Du bei folgendem als root mit Deinen Werten auszuführenden Befehl weg (/sys kommt vorne dazu):
Code:
echo enabled >/sys/devices/pci0000:00/0000:00:1d.1/usb5/5-2/power/wakeup
Den formalen Erfolg überprüfst Du mit:
Code:
cat /sys/devices/pci0000:00/0000:00:1d.1/usb5/5-2/power/wakeup
Falls das Aufwecken funktioniert, ist das Ergebnis von
Code:
/sbin/udevadm info -a --path=/devices/pci0000:00/0000:00:1d.1/usb5/5-2
(wieder mit Deinen Werten) hilfreich.

P. S. Beim Überfliegen der von Dir genannten links staune ich wieder einmal, wie umständlich man eine simple udev-Regel mit einem unübersichtlichen Skript umgehen kann.
 
OP
F

frankqn

Member
Das ist schon klar. Das wäre auch ok so, wenn der händische Eintrag das nächste Reboot überleben würde. Und die Links wollen das Ganze durch udev eintragen lassen.

Es klappt nun auch bei mir mit einer udev-Regel, die ich per File in rules.d angelegt habe.
Code:
SUBSYSTEM=="usb", ATTRS{idVendor}=="093a", ATTRS{idProduct}=="2510" RUN+="/bin/sh -c 'echo enabled > /sys$env{DEVPATH}/../power/wakeup'"
Gelöst ist das Problem aber nun trotzdem nicht, wenn ich immer erst eingreifen muss, damit es funktioniert.
 

josef-wien

Ultimate Guru
frankqn schrieb:
Es klappt nun auch bei mir
frankqn schrieb:
Gelöst ist das Problem aber nun trotzdem nicht
Wie erklärst Du diesen Widerspruch?

Code:
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="093a", ATTR{idProduct}=="2510", TEST=="power/wakeup", ATTR{power/wakeup}="enabled"
kommt ohne "RUN" aus. Produktunabhängig kannst Du
Code:
SUBSYSTEM=="input", ACTION=="add", ENV{ID_INPUT_MOUSE}=="?*", TEST=="../../../power/wakeup", ATTR{../../../power/wakeup}="enabled"
versuchen.
 
OP
F

frankqn

Member
Danke, das klappt auch. Nachdem die Lösung nun nicht mehr Hardwareabhängig ist, markiere ich als gelöst.
 
OP
F

frankqn

Member
Hallo,

das Problem ist wieder da. weiß jemand, warum die udev-regel
Code:
SUBSYSTEM=="input", ACTION=="add", ENV{ID_INPUT_MOUSE}=="?*", TEST=="../../../power/wakeup", ATTR{../../../power/wakeup}="enabled"
mit 13.2 nicht mehr funktioniert? Haben sich da irgendwelche Pfade geändert (ich verstehe die Syntax von udev nicht wirklich)?
 

josef-wien

Ultimate Guru
Es liegt am Kernel. Wenn ich die udev-Datenbank recht interpretiere, ist das input subsystem jetzt nicht mehr neben, sondern unterhalb des hidraw subsystem (hidraw = raw interface to USB and Bluetooth Human Interface Device), also eine Ebene tiefer. Ich hoffe,
Code:
SUBSYSTEM=="input", ACTION=="add", ENV{ID_INPUT_MOUSE}=="?*", TEST=="../../../../power/wakeup", ATTR{../../../../power/wakeup}="enabled"
wird Dir helfen.
 

halo44

Hacker
Mit Eurem Einverständnis möchte ich das Thema nochmal aufwärmen.

Ich benutze die von josef-wien vorgeschlagene udev-Regel mit Erfolg in der 13.1. Nach einer Parallel-Installation der 13.2 hatte ich dort auch zunächst das Problem, daß der linke Mausklick seine Aufgabe nicht erfüllte. Der Rechner blieb stumm und mußte per Powerknopf abgeschaltet werden.

Nachdem ich die Regel - wie im Beitrag von josef-wien am 18.Nov 2014 beschrieben - geändert habe, bekommt der Rechner wieder Power und die Fans springen an. Leider aber bleibt der Bildschirm dunkel und keinerlei Tastatur-Aktionen bewirken irgendetwas. Ich habe sogar den Eindruck, daß die Tastatur tot ist, da nicht einmal die Num-Taste die zugehörige LED an- oder ausschaltet.

Das gleiche Verhalten zeigt sich übrigens auch, wenn ich den Rechner nicht mit der Maus, sondern mit dem Powerknopf wiederbeleben will.

Hat jemand eine Idee?

Gruss H.
 

josef-wien

Ultimate Guru
halo44 schrieb:
Mit Eurem Einverständnis möchte ich das Thema nochmal aufwärmen.
Dein Problem hat mit diesem Thema nichts zu tun.

Ich würde einmal die Dateien /var/log/pm-suspend.log (falls es sie noch gibt) und /var/log/Xorg.0.log (aber vor dem nächsten Start(versuch) der grafischen Oberfläche) sowie das systemd-Journal befragen und bei Bedarf ein neues Thema eröffnen.
 
Oben