Come configuro WakeOnUSB correttamente?


13

Come configuro Wake-On-USB correttamente su Ubuntu 10.04 o 10.10 (2.6.36 e versioni successive, se necessario)? (Wake-on-USB è quando il computer è in modalità di sospensione e, ad esempio, un evento della tastiera USB sveglia la macchina!) Il notebook è un Acer Aspire Timeline X 1830T . Non so in che modo il kernel Linux supporti i controller.

Esistono diversi modi per affrontarlo, ad esempio / proc / acpi / wakeup ... o UDEV ... o qualcosa con HAL?

/proc/acpi/wakeup mostra tutti i dispositivi in ​​S4, ma ho bisogno di 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, che è Suspend-To-Disk afaik ... non sembra funzionare neanche se faccio eco a USB1 nella tabella di riattivazione. Imposta solo un flag S4.
  • posso ottenere le porte USB in S3?

Voglio far svegliare la macchina da Suspend-To-Ram (S3, ACPI standard) nel caso in cui venga premuto un tasto sulla mia tastiera esterna . Si sveglia solo se viene premuto un tasto sulla tastiera interna del laptop ... da Suspend To Ram. Sembra che se collego un mouse USB, la porta USB non è nemmeno alimentata. Non ho alcuna opzione BIOS per modificare questo.

Ulteriori informazioni specifiche relative al 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
[...]

Se questo non funziona devo spiegare bene perché :( - ma penso che sia molto difficile ricercare questo kernel interno. Qualche suggerimento per una buona informazione qui? Spero sia possibile ... Sto solo cercando una soluzione .

modifica: questo, svegliarsi su USB, funziona su Windows!

Grazie mille, Marius


1
Se come dici tu non hai un'opzione BIOS per trasmettere segnali di porte USB esterne e se i dispositivi USB esterni non hanno nemmeno l'alimentazione (ha senso per i notebook alimentati a batteria) - come mai dovrebbe funzionare? Ubuntu non ha magia per farlo.
Takkat,

Funziona su Windws. Quindi suppongo che ci sia un'opzione per passare flag specifici all'HW. ;) Ho questa mentalità per Top Gun quando si tratta di hardware e Linux: tutti possono pilotare un aereo da trasporto ed eseguire Windows. Ma solo poche persone possono pilotare jet da combattimento ed eseguire Linux;)
wishi

Oh sì Top Gun: tutti possono bloccare Windows, ma crash Linux è davvero un duro lavoro ;-). Se wake on LAN funziona con Windows, il tuo dispositivo USB è sicuramente alimentato (forse in modalità di risparmio energetico o giù di lì).
Takkat,

Risposte:


4

Sembra che qualcosa potrebbe non funzionare nella tabella ACPI del sistema poiché nessuno dei dispositivi USB * è collegato a un bus PCI.

Sul mio laptop, quando collego la mia tastiera USB, posso vedere il percorso pci 0000: 00: 1d.0 in dmesgoutput:

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

Da lì riesco a trovare il nome del dispositivo ACPI /proc/acpi/wakeupe riecheggiarlo per abilitarlo:

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

Suppongo che dal momento che la mappatura del bus PCI al dispositivo ACPI non è presente nel tuo sistema, non sarà possibile farlo funzionare. Potrebbe essere necessario iniziare il debug del DSDT per ottenere molto di più. http://acpi.sourceforge.net/dsdt/index.php


1

Ho trovato su Ubuntu Lucid 10.04.3 con 2.6.32-37 che l'uso /proc/acpi/wakeupè inutile. Sembra che /syssia l'unica cosa che conta.

La mia usb-wakeupsceneggiatura collegata qui sotto cammina l' /sysalbero al contrario per abilitare solo i dispositivi usbhid, ovvero la tastiera e il mouse. Inoltre abilita i loro hub e controller genitori. Questo è quello che ci è voluto per farlo funzionare. La regola udev attiva lo script all'avvio e quando viene collegato un dispositivo USBhid.

Lo script udev richiede lo script di essere in /usr/local/sbin, e assicurarsi di rendere lo script eseguibile, chmod 755 /usr/local/sbin/usb-wakeup.


1

Utilizzare lsusb per ottenere l'ID prodotto e fornitore del dispositivo USB:

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

Nel mio caso il suo mouse con ID 0458: 002e, quindi si crea una nuova regola udev:

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

Inserisci questo codice e sostituisci idVendor e idProduct con ID corretti da lsusb

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

Riavvia e prova. Testato su 11.04 e 12.04 (può funzionare anche su versioni inferiori). Ho trovato la risposta in questo post del forum (risposta da ederopaa )


1
Benvenuto in Ask Ubuntu! Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
Eliah Kagan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.