Saatlerce, belki daha fazla, bir çözüm arıyordum ve sadece buldum. Bunu herkesle paylaşmak istiyorum. Bu şekilde, çözümü daha hızlı bulmak bu sorunu daha kolay hale getirecektir. Yani, tıpkı başlığın dediği gibi, çözüm aşağıda.
Saatlerce, belki daha fazla, bir çözüm arıyordum ve sadece buldum. Bunu herkesle paylaşmak istiyorum. Bu şekilde, çözümü daha hızlı bulmak bu sorunu daha kolay hale getirecektir. Yani, tıpkı başlığın dediği gibi, çözüm aşağıda.
Yanıtlar:
terminalde vurmak:
grep . /sys/bus/usb/devices/*/power/wakeup
Sonuç, benim için, tüm usb'nin devre dışı olduğunu bulmaktı. Şimdi şunu yazın:
1.
sudo su
şimdi kök ayrıcalıklarımız var.
2. 8 usb portum var ( bunu sahip olduğunuz kadar çok usb portu için yapıyorsunuz ), bu yüzden:
echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
echo enabled > /sys/bus/usb/devices/usb2/power/wakeup
echo enabled > /sys/bus/usb/devices/usb3/power/wakeup
echo enabled > /sys/bus/usb/devices/usb4/power/wakeup
echo enabled > /sys/bus/usb/devices/usb5/power/wakeup
echo enabled > /sys/bus/usb/devices/usb6/power/wakeup
echo enabled > /sys/bus/usb/devices/usb7/power/wakeup
echo enabled > /sys/bus/usb/devices/usb8/power/wakeup
Devam et ve test et. Artık herhangi bir kablosuz veya kablolu usb klavye ve fareden uyanabilirsiniz.
Bu nedenle, hepsini etkinleştirmeliyiz, çünkü bir sonraki adımda, her yeniden başlatmadan sonra komutu yürütmek için rc.local dilinde yazacağız ve bazı linux dağıtımlarını (belki de hepsi) yeniden başlattıktan sonra usb bağlantı noktalarını değiştireceğiz. Hepsini askıya alarak hiçbir şeyin yanlış gitmesi için endişelenmemize gerek yok, çünkü linux askıya alma veya hazırda bekletme modunda olduğundan, hiçbir şeyi indirmek için wifi'yi kullanamaz, bu yüzden bilerek uyandırmadan uyanmaz .
Sonraki adım:
3.
sudo nano /etc/rc.local
ve 2. adımdaki her şeyi oraya yapıştırıyoruz (elbette 0 çıkışından önce).
Bu kadar. Artık kablosuz usb ve faremizi askıya almaktan uyanmak için kullanabiliriz.
Umarım hepiniz için çalışır. Bu kılavuz, internetteki diğer tüm olası çözümleri test ettikten sonra hazırlanmıştır.
grep . /sys/bus/usb/devices/*/power/wakeup
" İçindeki tüm cihazları etkinleştirdim ancak yine de çalışmadı. Belki de klavye ve fare dolaylı olarak bağlı olduğu için - kablosuz olarak ekranda bulunan bir dongle'a? Ekran USB üzerinden dizüstü bilgisayara bağlanır.
grep . /sys/bus/usb/devices/*/product
neye baktığımı
Yukarıdaki rehberime ek olarak, bu bilgileri eklemek istiyorum, çünkü son zamanlarda bazı kablosuz usb cihazlarının uyku modundan çıktıktan sonra keşfettiklerini, devre dışı bırakmak için geri döndüklerini keşfettim. Tekrar ediyorum, sadece bazı usb cihazları bunu yapıyor, hepsi değil. Bu yüzden bu küçük kılavuzu rehberime eklemedim.
Bu yüzden yukarıda talimat verildi ve pc başarıyla uyanır, ancak daha sonra gün aniden tekrar uyanmaz.
Çözüm:
Bir terminal açın ve şunları yapın:
lsusb
Klavye aygıtı kimlik bilgilerinizde ilk 4 basamak satıcı kimliğidir ve sonraki 4 basamak ürün kimliğidir (ekran görüntüsüne bakın)
Sonraki adım:
sudo nano /etc/udev/rules.d/10-wakeup.rules
Burada "uyandırma" komut dosyasının istediğiniz adını girin. Sayı 10, diğer birçok udev kuralınız olması durumunda önceliktir, 'kural'ın sayısı diğerlerinden önce ne kadar düşük çalıştırılırsa.
Bunu kopyalayıp yapıştırın ve satıcı kimliğini ve ürün kimliğini kendi kablosuz klavye satıcı kimliğiniz ve ürün kimliğinizle değiştirin.
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo enabled > /sys/bus/usb/devices/usb8/power/wakeup'"
* Benim için usb8 benim kablosuz klavyemdir (ekran görüntüsünde de (Bus 008) görebilirsiniz), kendi yerine değiştirin.
Ctrl+ Okaydetmek, Ctrl+ Xçıkmak ve yeniden başlatmak için + .
Pavlos Theodorou'nun cevabı çok faydalı. Ben borularla Eğer fare / klavye boot-up at bağlı olduğundan usb aygıtını bulabilmesi eklemek istiyorum dmesg yoluyla grep sonra, birkaç kez egrep kez ve son olarak kullanarak kuyruk emin olmak için en son oldu girişi.
Bu yöntemi kullanarak , TÜM usb bağlantı noktalarında uyanmayı etkinleştirmeniz gerekmez .
Aşağıdakileri /etc/rc.local dosyama koydum ve bir usb bağlantı noktasından diğerine taşınsa bile logitech alıcımı her seferinde bulur. Sadece adını yerine sizin "Logitech K270" yerine dmesg gelen klavye veya fare
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
Bu önyükleme üzerinde çalışır, ancak askıya alma sonrasında wake çalıştırmak gibi görünmüyor, bu yüzden / lib / systemd / system-sleep / içine bir komut dosyası koymak zorunda kaldı. O, o kadar global çalıştırılabilir set oluşturma ve ona 00 ve My komut dosyası aşağıdaki gibi olduğu 99 arasında bir çift haneli sayı ile başlar, yine substite bir isim vermek için dmesg gelen klavye / fare verbage:
#!/bin/sh
# Action script to enable wake after suspend by keyboard or mouse
if [ $1 = post ]
then
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi
if [ $1 = pre ]
then
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi
Açıklayamam Nedense, 'post' uyku durumunda ifadesi yalnızca her uyandırma ... ama 'ön' uyku çalışır eğer deyimi her zaman iş gibi görünüyor.
Yukarıda belirtilen cevapların hiçbiri bana yardımcı olmadı. Bu yüzden buraya kendiminkini gönderiyorum.
Ubuntu 18.04'e dayanan KDE neon 5.16.2'de test edilmiştir, ancak herhangi bir dağıtımda çalışması gerekir.
grep . /sys/bus/usb/devices/*/product
böyle bir şey elde etmelisiniz:
/ sys / bus / usb / aygıtlar / 3-3 / ürün: Kablo Optik Fare /sys/bus/usb/devices/3-4.3/product:802.11n WLAN Adaptörü /sys/bus/usb/devices/3-4.4/product:USB Alıcı /sys/bus/usb/devices/3-4/product:USB2.0 Hub /sys/bus/usb/devices/4-4/product:USB3.0 Hub / sys / bus / usb / aygıtlar / usb1 / ürün: EHCI Ana Bilgisayar Denetleyicisi / sys / bus / usb / aygıtlar / usb2 / ürün: EHCI Ana Bilgisayar Denetleyicisi / sys / bus / usb / aygıtlar / usb3 / ürün: xHCI Ana Bilgisayar Denetleyicisi / sys / bus / usb / aygıtlar / usb4 / ürün: xHCI Ana Bilgisayar Denetleyicisi
grep. / Sys / bus / usb / cihazlar / * / güç / uyandırma
sonuç şu şekilde olmalıdır:
/ Sys / bus / usb / cihazlar / 1-1 / güç / uyanma: devre dışı / Sys / bus / usb / cihazlar / 2-1 / güç / uyanma: devre dışı / Sys / bus / usb / cihazlar / 3-11 / güç / uyanma: devre dışı / Sys / bus / usb / cihazlar / 3-3 / güç / uyanma: etkin /sys/bus/usb/devices/3-4.4/power/wakeup:disabled / Sys / bus / usb / cihazlar / 3-4 / güç / uyanma: devre dışı / Sys / bus / usb / cihazlar / 4-4 / güç / uyanma: devre dışı / Sys / bus / usb / cihazlar / USB1 / güç / uyanma: devre dışı / Sys / bus / usb / cihazlar / USB2 / güç / uyanma: devre dışı / Sys / bus / usb / cihazlar / USB3 / güç / uyanma: devre dışı / Sys / bus / usb / cihazlar / usb4 / güç / uyanma: devre dışı
Benim durumumda uyanma sadece önceki listeye göre "Kordon Optik Fare" olan USB cihazı 3-3 için etkinleştirilir.
Uyandırma işlevini yalnızca kablosuz klavye için askıya almayı etkinleştirmek ve geri kalanı için devre dışı bırakmak istiyorum. Klavye USB alıcısı bir HUB'a bağlı ve bir önceki listede ("USB Alıcı") 3-4.4 değerine karşılık geliyor.
Kök izinlerine sahip olmak için:
sudo su
Daha sonra komut dosyası için dosya oluştururuz (dosya "usbwakeup" olarak adlandırılabilir veya istediğiniz herhangi bir tanımlayıcı olabilir):
nano /etc/init.d/usbwakeup
Dosyanın içeriği. Sadece "SCRIPT EYLEMLERİ" bölümünü değiştirerek ihtiyaçlarınıza göre uyarlayın (bir gün tekrar açtığımda gerçekten ne yaptıklarını bilmek için komut dosyalarına yorum eklemeyi seviyorum):
#! / bin / bash # ####################### # GENEL BİLGİ # ####################### # # - Bu komut dosyası, USB aygıtları için askıya alma # modundan uyanmayı etkinleştirir / devre dışı bırakır. # # - Komut dosyasının yürütme izinlerine ihtiyacı var. # # - Bu komut dosyasının sistem başlatıldığında yürütülmesi için, # /etc/rc3.d/ içinde S01 önceliğiyle sembolik bir bağlantı # (örneğin: /etc/rc3.d/S01usbwakeup) # ########################### # İLGİLİ FAYDALI KOMUTLAR # ########################### # # - USB cihazlarını tanımlayın: # grep. / Sys / bus / usb / cihazlar / * / ürün # # - USB cihazlarının "askıya alınma durumunun" durumunu kontrol edin: # grep. / Sys / bus / usb / cihazlar / * / güç / uyandırma # # ################## # SENARYO EYLEMLERİ # ################## # # Optik fare için uyanmayı askıya almayı devre dışı bırakır yankı devre dışı bırakıldı> / sys / bus / usb / aygıtlar / 3-3 / güç / uyandırma # # Kablosuz klavye için bekleme modundan çıkmayı etkinleştirir 4 numaralı USB bağlantı noktasında bir USB 3.0 HUB'a bağlandığımı yankı etkin> /sys/bus/usb/devices/3-4.4/power/wakeup
chmod +x /etc/init.d/usbwakeup
sudo ln -s /etc/init.d/usbwakeup /etc/rc3.d/S01usbwakeup
Sistemi yeniden başlatarak her şey kodda belirtildiği gibi çalışmalıdır. Değişiklikler her sistem önyüklemesinde yürütüleceğinden kalıcı olacaktır.
Danışılan kaynaklar (bu yazı dışında):
https://ubuntuforums.org/showthread.php?t=2388336
https://www.thomasmonaco.com/prevent-usb-devices-waking-ubuntu-sleep/
/sys/bus/usb/devices/<device id>/product
metin açıklaması arayabilirsiniz .