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
Réponses:
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
dmesg
sortie:De là, je peux trouver le nom du périphérique ACPI dans
/proc/acpi/wakeup
, et l'écho pour l'activer: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
la source
J'ai trouvé sur Ubuntu Lucid 10.04.3 avec 2.6.32-37 que l'utilisation ne
/proc/acpi/wakeup
vaut rien. Il semble que/sys
c'est la seule chose qui compte.Mon
usb-wakeup
script lié ci-dessous parcourt l'/sys
arbre 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
./etc/udev/rules.d/56-wakeupusb.rules
/usr/local/sbin/usb-wakeup
la source
Utilisez lsusb pour obtenir l'ID produit et fournisseur de votre périphérique USB:
Dans mon cas, sa souris avec l'ID 0458: 002e, alors vous créez une nouvelle règle udev:
Insérez ce code et remplacez idVendor et idProduct par les identifiants corrects de lsusb
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 )
la source