WakeOnUSB'yi doğru şekilde nasıl yapılandırırım?


13

10.04 veya 10.10 Ubuntu'da (gerekirse 2.6.36 ve üstü) Wake-On-USB'yi nasıl doğru şekilde yapılandırabilirim ? (Uyandırma USB'si bilgisayar uykudayken ve örneğin bir USB Klavye olayı makineyi uyandırır!) Dizüstü bilgisayar bir Acer Aspire Timeline X 1830T'dir . Linux Çekirdeğinin denetleyicileri hangi şekilde desteklediğini bilmiyorum.

Buna yaklaşmanın farklı yolları vardır, örneğin / proc / acpi / uyandırma ... veya UDEV ... veya HAL ile bir şey?

/proc/acpi/wakeup S4'teki her cihazı gösteriyor ama S3'e ihtiyacım var.

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
  • Suspend-To-Diski afaik olan S4, uyandırma tablosuna USB1'i yankılarsam çalışmaz gibi görünmüyor. Sadece bir S4 bayrağı koyar.
  • USB bağlantı noktalarını S3'te nasıl alabilirim?

Harici klavyemdekiACPI standard bir tuşa basılması durumunda , Askıya Al-Ram (S3, ) ile makineyi uyandırmak istiyorum . Yalnızca dahili Laptop klavyesinde bir tuşa basıldığında uyanır ... Suspend To Ram'dan. Bir USB fare takarsam, USB bağlantı noktasına bile güç verilmemiş gibi görünüyor. Bunu değiştirmek için BIOS seçeneğim yok.

Cihazla ilgili daha spesifik bilgiler:

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
[...]

Bu işe yaramazsa nedenini doğru bir şekilde açıklamalıyım: - - ama bence bu çekirdeğin iç araştırması çok zor.Burada iyi bilgi için herhangi bir ipucu var mı? .

düzenleme: bu, USB uyanma, Windows üzerinde çalışıyor!

Çok teşekkürler, Marius


1
Dediğiniz gibi, harici USB Bağlantı Noktalarının sinyallerini koymak için bir BIOS seçeneğiniz yoksa ve harici USB cihazlarının gücü bile yoksa (pille çalışan dizüstü bilgisayarlar için mantıklıdır) - bu nasıl olur? Ubuntu'nun bunu yapmak için bir sihri yoktur.
Takkat

Windws üzerinde çalışır. Bu yüzden belirli bayrakları HW'ye geçirme seçeneği olduğunu varsayıyorum. ;) Donanım ve Linux söz konusu olduğunda bu Top Gun zihniyeti var: herkes bir nakliye uçağı uçurabilir ve Windows'u çalıştırabilir. Ama sadece birkaç kişi savaş jetleri uçurabilir ve Linux'u çalıştırabilir;)
wishi

Oh evet Top Gun: herkes Windows'u çökertebilir, ancak Linux'u çökertmek gerçekten zor bir iştir ;-). Wake on LAN Windows ile çalışıyorsa, USB cihazınız kesinlikle çalışır (belki enerji tasarrufu modunda).
Takkat

Yanıtlar:


4

USB * aygıtlarının hiçbiri bir PCI veriyoluna bağlı olmadığından sistemin ACPI tablosunda bir sorun olabilir.

Benim USB klavye taktığınızda benim laptop, ben pci yolunu görebilirsiniz 1d.0: 00: 0000 yılında dmesgçıktı:

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

Oradan ACPI cihaz adını bulabilir ve /proc/acpi/wakeupetkinleştirmek için tekrar yazabilirim:

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

Sisteminiz için pci veriyolunun ACPI cihazına eşlenmesi eksik olduğundan, çalışmasını sağlamak mümkün olmayacaktır. Daha fazlasını elde etmek için DSDT'de hata ayıklamaya başlamanız gerekebilir. http://acpi.sourceforge.net/dsdt/index.php


1

Ubuntu Lucid 10.04.3 üzerinde 2.6.32-37 ile kullanmanın /proc/acpi/wakeupdeğersiz olduğunu buldum . /sysÖnemli olan tek şey gibi görünüyor .

Benim usb-wakeupaşağıda bağlantısı komut yürür /syssadece usbhid cihazları, nam klavye ve fare sağlamak için ters içinde ağaç. Ayrıca ana hub'larını ve denetleyicilerini de etkinleştirir. Çalıştırmak benim için gereken buydu. Udev kuralı, önyükleme sırasında ve herhangi bir usbhid cihazı takıldığında komut dosyasını tetikler.

Udev betiği betiğin içinde olmasını gerektirir /usr/local/sbinve betiğin çalıştırılabilir olduğundan emin olun chmod 755 /usr/local/sbin/usb-wakeup.


1

USB cihazınızın ürün ve satıcı kimliğini almak için lsusb kullanın:

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

Benim durumumda faresi ID 0458: 002e ile, yeni udev kuralı oluşturursunuz:

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

Bu kodu ekleyin ve idVendor ve idProduct öğelerini lsusb'den doğru kimliklerle değiştirin

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

Yeniden başlatın ve test edin. 11.04 ve 12.04'te test edilmiştir (daha düşük sürümlerde de çalışabilir). Bu forum gönderisindeki cevabı buldum ( ederopaa'dan cevap )


1
Ubuntu'ya Sor hoş geldiniz! Bu teorik olarak soruyu cevaplayabilirken, cevabın temel kısımlarını buraya dahil etmek ve referans için bağlantı sağlamak tercih edilir.
Eliah Kagan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.