Bagaimana cara mengkonfigurasi Wake-On-USB dengan benar pada Ubuntu 10,04 atau 10,10 (2,6,36 dan lebih tinggi jika diperlukan)? (Wake-on-USB adalah ketika komputer tertidur dan misalnya acara Keyboard USB membangunkan mesin!) Notebook ini adalah Acer Aspire Timeline X 1830T . Saya tidak tahu bagaimana Kernel Linux mendukung pengontrol.
Ada berbagai cara untuk mendekati ini, misalnya / proc / acpi / wakeup ... atau UDEV ... atau sesuatu dengan HAL?
/proc/acpi/wakeup
menunjukkan setiap perangkat di S4, tapi saya butuh 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, yang merupakan Suspend-To-Disk afaik ... tampaknya tidak berfungsi baik jika saya memasukkan USB1 ke tabel wakeup. Itu hanya menetapkan bendera S4.
- bisakah saya mendapatkan port USB dalam S3?
Saya ingin membuat mesin dinyalakan dari Suspend-To-Ram (S3, ACPI standard
) seandainya tombol pada keyboard eksternal saya ditekan. Itu hanya bangun jika tombol pada keyboard Laptop internal ditekan ... dari Suspend To Ram. Sepertinya saya pasang mouse USB, bahwa port USB bahkan tidak bertenaga. Saya tidak punya opsi BIOS untuk mengubahnya.
Informasi spesifik lebih lanjut mengenai perangkat:
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
[...]
Jika ini tidak berhasil, saya harus menjelaskan mengapa :( - tapi saya pikir sangat sulit untuk meneliti internal kernel ini. Adakah petunjuk untuk informasi yang baik di sini? Saya harap ini mungkin ... Saya hanya mencari solusi apa pun .
edit: ini, bangun di USB, berfungsi di Windows!
Terima kasih banyak, Marius
Jawaban:
Tampaknya ada sesuatu yang salah dengan tabel ACPI sistem karena tidak ada perangkat USB * yang terikat pada bus PCI.
Di laptop saya, ketika saya mencolokkan keyboard USB saya, saya dapat melihat jalur pci 0000: 00: 1d.0 dalam
dmesg
output:Dari sana saya dapat menemukan nama perangkat ACPI
/proc/acpi/wakeup
, dan menggemakannya untuk mengaktifkannya:Saya akan berasumsi bahwa karena pemetaan pci bus ke perangkat ACPI hilang untuk sistem Anda, itu tidak akan mungkin untuk membuatnya berfungsi. Anda mungkin perlu mulai men-debug DSDT untuk melangkah lebih jauh. http://acpi.sourceforge.net/dsdt/index.php
sumber
Saya menemukan di Ubuntu Lucid 10.04.3 dengan 2.6.32-37 bahwa menggunakan
/proc/acpi/wakeup
tidak berharga. Tampaknya/sys
adalah satu-satunya hal yang penting.usb-wakeup
Skrip saya yang ditautkan di bawah berjalan/sys
pohon secara terbalik untuk mengaktifkan perangkat usbhid saja, alias keyboard dan mouse. Ini juga memungkinkan hub dan pengontrol induknya. Inilah yang saya perlukan untuk membuatnya bekerja. Aturan udev memicu skrip saat boot, dan ketika perangkat usbhid apa pun dicolokkan.Skrip udev mengharuskan skrip berada
/usr/local/sbin
, dan pastikan skrip dapat dieksekusichmod 755 /usr/local/sbin/usb-wakeup
,./etc/udev/rules.d/56-wakeupusb.rules
/usr/local/sbin/usb-wakeup
sumber
Gunakan lsusb untuk mendapatkan ID produk dan vendor perangkat usb Anda:
Dalam kasus saya mouse-nya dengan ID 0458: 002e, maka Anda membuat aturan udev baru:
Masukkan kode ini dan ganti idVendor dan idProduct dengan id yang benar dari lsusb
Mulai ulang dan uji. Diuji pada 11.04 dan 12.04 (dapat bekerja pada versi yang lebih rendah juga). Saya menemukan jawabannya di posting forum ini (jawaban dari ederopaa )
sumber