Pertanyaan Bagaimana cara mengkonfigurasi WakeOnUSB dengan benar?


Bagaimana cara mengkonfigurasi Wake-On-USB benar pada 10.04 atau 10.10 Ubuntu (2.6.36 dan lebih tinggi jika diperlukan)? (Wake-on-USB adalah ketika komputer tertidur dan misalnya acara USB Keyboard bangun mesin!) Notebook adalah sebuah Acer Aspire Timeline X 1830T. Saya tidak tahu dengan cara apa Kernel Linux mendukung pengontrol.

Ada berbagai cara untuk melakukan pendekatan 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 berhasil jika saya menggemakan USB1 ke dalam tabel bangun. Itu hanya menetapkan bendera S4.
  • Bisakah saya mendapatkan port USB di S3?

Saya ingin membuat mesin bangun dari Suspend-To-Ram (S3, ACPI standard) dalam hal a kunci pada keyboard eksternal saya ditekan. Ini hanya akan aktif jika kunci pada keyboard Laptop internal ditekan ... dari Suspend To Ram. Sepertinya saya menyambungkan mouse USB, bahwa port USB bahkan tidak didukung. 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 benar menjelaskan mengapa :( - tapi saya pikir sangat sulit untuk meneliti internal kernel ini. Ada petunjuk untuk informasi yang baik di sini? Saya harap itu mungkin ... Saya hanya mencari solusi .

edit: ini, bangun di USB, berfungsi di Windows!

Terima kasih banyak, Marius


13
2017-10-26 09:44


asal


Jika seperti yang Anda katakan Anda tidak memiliki opsi BIOS untuk menempatkan sinyal dari USB Port eksternal melalui, dan jika perangkat USB eksternal bahkan tidak memiliki kekuatan (masuk akal untuk notebook yang digerakkan oleh baterai) - bagaimana cara kerja ini? Ubuntu tidak memiliki keajaiban untuk melakukan ini. - Takkat
Ia bekerja pada Windws. Jadi saya berasumsi ada opsi untuk mengirimkan bendera khusus ke HW. ;) Saya memiliki mentalitas Top Gun ini ketika datang ke perangkat keras dan Linux: semua orang dapat menerbangkan pesawat transportasi dan menjalankan Windows. Tetapi hanya beberapa orang yang dapat menerbangkan jet tempur dan menjalankan Linux;) - wishi
Oh ya Top Gun: semua orang bisa crash Windows tetapi crash Linux adalah pekerjaan yang sangat sulit untuk dilakukan ;-). Jika bangun pada LAN bekerja dengan Windows, perangkat USB Anda tentu saja didukung (mungkin dalam mode hemat energi atau lebih). - Takkat


Jawaban:


Tampaknya ada sesuatu yang salah dengan tabel ACPI sistem karena tidak ada perangkat USB * yang terhubung ke bus PCI.

Di laptop saya, ketika saya mencolokkan keyboard USB saya, saya bisa melihat jalur pci 0000: 00: 1d.0 di dmesg keluaran:

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

Dari sana saya dapat menemukan nama perangkat ACPI di /proc/acpi/wakeup, dan gema untuk mengaktifkannya:

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

Saya berasumsi bahwa karena pemetaan bus pci ke perangkat ACPI tidak ada untuk sistem Anda, tidak mungkin untuk membuatnya berfungsi. Anda mungkin perlu memulai debug DSDT untuk mendapatkan lebih jauh. http://acpi.sourceforge.net/dsdt/index.php


4
2017-10-31 18:44





Saya temukan di Ubuntu Lucid 10.04.3 dengan 2.6.32-37 yang menggunakan /proc/acpi/wakeup tidak berharga. Kelihatannya /sys adalah satu-satunya hal yang penting.

Saya usb-wakeup skrip yang ditautkan di bawah ini berjalan /sys pohon secara terbalik untuk mengaktifkan perangkat usbhid saja, alias keyboard dan mouse. Ini juga memungkinkan hub dan pengendali orang tua mereka. Inilah yang dibutuhkan bagi saya untuk membuatnya bekerja. Aturan udev memicu skrip saat boot, dan ketika perangkat usbhid dicolokkan.

Skrip udev mengharuskan skrip untuk masuk /usr/local/sbin, dan pastikan untuk membuat skrip dieksekusi, chmod 755 /usr/local/sbin/usb-wakeup.


1
2017-12-31 20:47





Gunakan lsusb untuk mendapatkan ID produk dan vendor perangkat usb Anda:

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

Dalam kasus saya tetikusnya dengan ID 0458: 002e, maka Anda membuat aturan udev baru:

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

Masukkan kode ini dan ganti idVendor dan idProduct dengan id yang benar dari lsusb

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

Reboot dan uji. Diuji pada 11.04 dan 12.04 (dapat bekerja pada versi yang lebih rendah juga). Saya menemukan jawabannya di forum ini pos (jawab dari ederopaa)


1
2017-08-12 08:13



Selamat datang di Tanya Ubuntu! Sementara ini secara teoritis dapat menjawab pertanyaan itu, itu akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan berikan tautan sebagai referensi. - Eliah Kagan