¿Cómo configuro Wake-On-USB correctamente en un Ubuntu 10.04 o 10.10 (2.6.36 y superior si es necesario)? (¡Wake-on-USB es cuando la computadora está dormida y, por ejemplo, un evento de teclado USB activa la máquina!) La computadora portátil es una Acer Aspire Timeline X 1830T . No sé de qué manera el kernel de Linux es compatible con los controladores.
Hay diferentes formas de abordar esto, por ejemplo / proc / acpi / wakeup ... o UDEV ... o algo con HAL?
/proc/acpi/wakeup
muestra todos los dispositivos en 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 es afaik Suspend-To-Disk ... tampoco parece funcionar si hago eco de USB1 en la mesa de activación. Simplemente establece una bandera S4.
- ¿Puedo obtener los puertos USB en S3?
Quiero hacer que la máquina se active desde Suspend-To-Ram (S3, ACPI standard
) en caso de que se presione una tecla en mi teclado externo . Solo se activa si se presiona una tecla en el teclado interno del portátil ... desde Suspender hasta Ram. Parece que si conecto un mouse USB, el puerto USB ni siquiera está alimentado. No tengo la 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 difícil investigar este núcleo interno. ¿Alguna sugerencia para una buena información aquí? Espero que sea posible ... Estoy buscando alguna solución .
editar: esto, despertarse en USB, ¡funciona en Windows!
Muchas gracias marius
Respuestas:
Parece que algo puede estar mal con la tabla ACPI del sistema ya que ninguno de los dispositivos USB * está conectado a un bus PCI.
En mi computadora portátil, cuando conecto mi teclado USB, puedo ver la ruta pci 0000: 00: 1d.0 en la
dmesg
salida:Desde allí puedo encontrar el nombre del dispositivo ACPI
/proc/acpi/wakeup
y hacer eco para habilitarlo:Supongo que dado que la asignación del bus pci al dispositivo ACPI no se encuentra en su sistema, no será posible que funcione. Es posible que deba comenzar a depurar el DSDT para avanzar mucho más. http://acpi.sourceforge.net/dsdt/index.php
fuente
Encontré en Ubuntu Lucid 10.04.3 con 2.6.32-37 que usar no
/proc/acpi/wakeup
tiene valor. Parece que/sys
es lo único que importa.Mi
usb-wakeup
script vinculado a continuación recorre el/sys
árbol en reversa para habilitar solo los dispositivos usbhid, también conocidos como el teclado y el mouse. También habilita sus concentradores y controladores principales. Esto es lo que me tomó para que funcionara. La regla udev activa el script en el arranque y cuando se conecta cualquier dispositivo usbhid.El guión udev requiere el guión para estar en
/usr/local/sbin
, y asegúrese de hacer el script ejecutable,chmod 755 /usr/local/sbin/usb-wakeup
./etc/udev/rules.d/56-wakeupusb.rules
/usr/local/sbin/usb-wakeup
fuente
Use lsusb para obtener la identificación del producto y del proveedor de su dispositivo usb:
En mi caso, su mouse con ID 0458: 002e, entonces crea una nueva regla udev:
Inserte este código y reemplace idVendor e idProduct con identificadores correctos de lsusb
Reiniciar y probar. Probado en 11.04 y 12.04 (también puede funcionar en versiones inferiores). Encontré la respuesta en esta publicación del foro (respuesta de ederopaa )
fuente