12 votos

¿Cómo puedo configurar WakeOnUSB correctamente?

¿Cómo puedo configurar Wake-On-USB correctamente en una 10.04 o 10.10 de Ubuntu (2.6.36 y más si es necesario)? (Wake-on-USB es cuando el ordenador se encuentra en reposo y, por ejemplo, un Teclado USB evento se despierta la máquina!) El notebook es un Acer Aspire Timeline X 1830T. No sé la forma en que el Kernel de Linux soporta los controladores.

Hay diferentes maneras de acercarse a este, por ejemplo, /proc/acpi/wake up... o UDEV... o algo con HAL?

/proc/acpi/wakeup muestra todos los dispositivos en el S4, pero necesito 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, que se Suspend-To-Disk afaik... no parece funcionar bien si me echo USB1 en la reactivación de la tabla. Se establece un S4 flag.
  • puedo conseguir los puertos USB en el S3?

Quiero hacer que la máquina de reactivación de la Suspensión A Ram (S3, ACPI standard) en el caso de una tecla de mi teclado externo es presionado. Sólo se despierta si una tecla en el interior del ordenador Portátil del teclado se pulsa... de Suspender A Ram. Parece que si le conecto un mouse USB, que el puerto USB no es alimentado. Yo no tengo ninguna opción de BIOS para cambiar esto.

Más información específica sobre el dispositivo:

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 esto no funciona, tengo que explicar adecuadamente por qué: (pero creo que es muy duro para el estudio de este núcleo interno. Consejos para la buena información aquí? Espero que sea posible... estoy buscando alguna solución.

edit: este, despertar el USB, funciona en Windows!

Muchas gracias, Marius

45voto

Brian Childress Puntos 437

Parece que algo puede estar mal con el sistema de la tabla de ACPI ya que ninguno de los USB* los dispositivos están vinculados a un bus PCI.

En mi laptop, cuando conecto mi teclado USB, puedo ver el pci ruta de acceso 0000:00:1d.0 en dmesg salida de:

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

Desde allí puedo encontrar el ACPI nombre del dispositivo en /proc/acpi/wakeup, y echo a habilitarlo:

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

Quiero suponer que desde la asignación de bus pci para ACPI dispositivo que falta para su sistema, no será posible conseguir trabajo. Usted puede necesitar para iniciar la depuración de la DSDT para llegar mucho más lejos. http://acpi.sourceforge.net/dsdt/index.php

1voto

Nathan Grennan Puntos 11

He encontrado en Ubuntu Lucid 10.04.3 con 2.6.32-37 que el uso de /proc/acpi/wakeup es inútil. Parece /sys es la única cosa que importa.

Mi usb-wakeup script vinculado por debajo de los paseos de la /sys árbol de marcha atrás para permitir sólo usbhid dispositivos, también conocido como el teclado y el ratón. Esto también permite a sus centros de padres y de los controladores. Esto es lo que se tomó para mí para conseguir que funcione. La regla de udev activa el script en el arranque, y cuando alguna de las usbhid dispositivo está enchufado.

La udev de secuencia de comandos requiere que la secuencia de comandos en /usr/local/sbin, y asegúrese de hacer el script ejecutable, chmod 755 /usr/local/sbin/usb-wakeup.

1voto

dafyk Puntos 11

Uso lsusb para obtener el producto y el ID de proveedor de su dispositivo usb:

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

En mi caso su ratón con ID 0458:002e, a continuación, crear nueva regla de udev:

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

Insertar este código y reemplazar idVendor y idProduct con la correcta identificadores de lsusb

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

Reinicia y prueba. Probado en 11.04 y 12.04 (puede trabajar en la reducción de versiones). He encontrado la respuesta en este foro post (respuesta de ederopaa)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: