Comment configurer correctement WakeOnUSB?

13

Comment configurer correctement Wake-On-USB sur un Ubuntu 10.04 ou 10.10 (2.6.36 et supérieur si nécessaire)? (Le réveil sur USB se produit lorsque l'ordinateur est en veille et, par exemple, un événement de clavier USB réveille la machine!) L'ordinateur portable est un Acer Aspire Timeline X 1830T . Je ne sais pas de quelle manière le noyau Linux prend en charge les contrôleurs.

Il existe différentes façons d'aborder cela, par exemple / proc / acpi / wakeup ... ou UDEV ... ou quelque chose avec HAL?

/proc/acpi/wakeup montre tous les appareils en S4, mais j'ai besoin de 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, qui est afaik Suspend-To-Disk ... ne semble pas fonctionner non plus si j'écho USB1 dans la table de réveil. Il définit simplement un drapeau S4.
  • puis-je obtenir les ports USB dans S3?

Je souhaite réactiver la machine depuis Suspend-To-Ram (S3, ACPI standard) au cas où une touche de mon clavier externe serait enfoncée. Il ne se réveille que si vous appuyez sur une touche du clavier interne de l'ordinateur portable ... de Suspend To Ram. Il semble que si je branche une souris USB, le port USB n'est même pas alimenté. Je n'ai pas d'option BIOS pour changer cela.

Autres informations spécifiques concernant l'appareil:

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
[...]

Si cela ne fonctionne pas, je dois expliquer correctement pourquoi :( - mais je pense qu'il est très difficile de rechercher ce noyau interne. Des conseils pour de bonnes informations ici? J'espère que c'est possible ... Je cherche juste une solution .

edit: cela, se réveiller sur USB, fonctionne sur Windows!

Merci beaucoup, Marius

wishi
la source
1
Si, comme vous le dites, vous n'avez pas d'option BIOS pour transmettre les signaux des ports USB externes et si les périphériques USB externes n'ont même pas d'alimentation (ce qui est logique pour les ordinateurs portables alimentés par batterie) - comment diable cela devrait-il alors fonctionner? Ubuntu n'a aucune magie pour le faire.
Takkat
Cela fonctionne sur Windws. Je suppose donc qu'il existe une option pour passer des drapeaux spécifiques au HW. ;) J'ai cette mentalité Top Gun en ce qui concerne le matériel et Linux: tout le monde peut piloter un avion de transport et exécuter Windows. Mais seules quelques personnes peuvent piloter des avions de combat et exécuter Linux;)
wishi
Oh oui Top Gun: tout le monde peut planter Windows mais planter Linux est un vrai travail difficile à faire ;-). Si wake on LAN fonctionne avec Windows, votre périphérique USB est certainement alimenté (peut-être en mode d'économie d'énergie ou plus).
Takkat

Réponses:

4

Il semble que quelque chose ne va pas avec la table ACPI du système, car aucun des périphériques USB * n'est lié à un bus PCI.

Sur mon ordinateur portable, lorsque je branche mon clavier USB, je peux voir le chemin pci 0000: 00: 1d.0 en dmesgsortie:

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

De là, je peux trouver le nom du périphérique ACPI dans /proc/acpi/wakeup, et l'écho pour l'activer:

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

Je suppose que, comme le mappage du bus PCI au périphérique ACPI est manquant pour votre système, il ne sera pas possible de le faire fonctionner. Vous devrez peut-être commencer à déboguer le DSDT pour aller beaucoup plus loin. http://acpi.sourceforge.net/dsdt/index.php

Kees Cook
la source
1

J'ai trouvé sur Ubuntu Lucid 10.04.3 avec 2.6.32-37 que l'utilisation ne /proc/acpi/wakeupvaut rien. Il semble que /sysc'est la seule chose qui compte.

Mon usb-wakeupscript lié ci-dessous parcourt l' /sysarbre en sens inverse pour activer uniquement les périphériques usbhid, alias le clavier et la souris. Il active également leurs concentrateurs et contrôleurs parents. C'est ce qu'il m'a fallu pour le faire fonctionner. La règle udev déclenche le script au démarrage et lorsqu'un périphérique usbhid est branché.

Le script udev nécessite le script pour être /usr/local/sbin, et assurez - vous de rendre le script exécutable, chmod 755 /usr/local/sbin/usb-wakeup.

Nathan Grennan
la source
1

Utilisez lsusb pour obtenir l'ID produit et fournisseur de votre périphérique USB:

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

Dans mon cas, sa souris avec l'ID 0458: 002e, alors vous créez une nouvelle règle udev:

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

Insérez ce code et remplacez idVendor et idProduct par les identifiants corrects de lsusb

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

Redémarrez et testez. Testé le 11.04 et 12.04 (peut également fonctionner sur les versions inférieures). J'ai trouvé la réponse dans ce forum post (réponse de ederopaa )

dafyk
la source
1
Bienvenue sur Ask Ubuntu! Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien de référence.
Eliah Kagan