Pertanyaan Bangun dari suspend menggunakan keyboard USB atau mouse nirkabel (untuk semua Linux Distro)


Saya mencari jam, mungkin lebih, untuk solusi dan saya baru saja menemukannya. Saya ingin membaginya dengan semua orang. Dengan cara ini akan lebih mudah googling masalah ini untuk menemukan solusinya lebih cepat. Jadi, seperti yang dikatakan judul, di bawah ini adalah solusinya.


12
2017-11-12 20:07


asal




Jawaban:


tekan di terminal:

grep . /sys/bus/usb/devices/*/power/wakeup

Hasilnya, bagi saya, adalah untuk mengetahui bahwa semua usb dinonaktifkan. Jadi sekarang, ketik:

1

sudo su

sekarang kita memiliki hak akses root.

2. Saya memiliki 8 port usb (Anda melakukannya untuk banyak port usb yang Anda miliki), jadi:

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

Silakan dan ujilah. Sekarang Anda dapat bangun dari keyboard dan mouse usb nirkabel atau kabel apa pun.

Maka, alasan kita harus mengaktifkan semuanya, adalah karena pada langkah berikutnya, kita akan menulis ini di rc.local untuk menjalankan perintah setelah setiap reboot, dan setelah reboot beberapa distro linux (mungkin semua) mengubah port usb. Kami tidak perlu khawatir jika ada yang salah dengan mengaktifkan semuanya, karena linux sedang ditangguhkan atau hibernasi, tidak bisa menggunakan wifi untuk mengunduh apa pun, sehingga tidak akan bangun tanpa kita bangunkan dengan sengaja .

Langkah berikutnya:

3

sudo nano /etc/rc.local

dan kami tempel semuanya dari langkah 2. di sana (sebelum exit 0 tentu saja).

Itu dia. Mulai sekarang kita dapat menggunakan usb dan mouse nirkabel untuk bangun dari suspend.

Saya harap ini berhasil untuk Anda semua. Panduan ini dibuat setelah menguji semua kemungkinan solusi lain di internet.


13
2017-11-12 20:07



Jika Anda ingin mengetahui perangkat yang mana, Anda dapat melihat ke dalam /sys/bus/usb/devices/<device id>/product untuk deskripsi teks. - ntc2
Saya mengaktifkan semua perangkat di "grep . /sys/bus/usb/devices/*/power/wakeup"Tapi tetap tidak berhasil. Mungkin karena keyboard dan mouse terhubung secara tidak langsung - secara nirkabel ke dongle yang berada di layar? Layar terhubung melalui USB ke laptop. - AlikElzin-kilaka
seperti yang dikatakan @ ntc2, gunakan ini untuk melihat deskripsi masing-masing: grep . /sys/bus/usb/devices/*/product membantu saya untuk mencari tahu apa yang saya lihat - Ben Yitzhaki
Jika ini masih tidak berhasil, pastikan perangkat Anda (keyboard / mouse) masih memiliki daya ketika PC dalam mode tidur. Jika tidak ada LED pada perangkat Anda, Anda dapat menggunakan monitor daya USB (dapat menemukannya sekitar $ 10 online) untuk memeriksa daya pada port USB. - J Smith


Selain panduan saya di atas saya ingin menambahkan informasi ini, karena saya baru-baru ini menemukan bahwa beberapa perangkat usb nirkabel setelah bangun dari tidur, mereka kembali untuk menonaktifkan. Saya ulangi, hanya beberapa perangkat usb yang melakukan itu, tidak semua. Itu sebabnya saya tidak menambahkan panduan kecil ini di panduan saya.

Jadi Anda melakukan seperti yang saya perintahkan di atas dan pc Anda berhasil bangun, tetapi kemudian di hari itu tiba-tiba tidak bangun lagi.

Larutan:

Buka terminal dan lakukan:

lsusb

Pada informasi id perangkat keyboard Anda, 4 digit pertama adalah id vendor dan 4 digit berikutnya adalah id produk (lihat gambar layar) enter image description here

Selanjutnya lakukan:

sudo nano /etc/udev/rules.d/10-wakeup.rules

Di mana "bangun" masukkan nama skrip yang Anda inginkan. Nomor 10 adalah prioritas jika Anda memiliki banyak aturan udev lainnya, semakin rendah jumlah 'aturan' yang akan dijalankan sebelum yang lain.

Salin tempel ini dan ganti id vendor dan id produk dengan ID vendor keyboard nirkabel Anda dan id produk.

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo enabled > /sys/bus/usb/devices/usb8/power/wakeup'"

* usb8 bagi saya adalah keyboard nirkabel saya (Anda juga dapat melihat bahwa di screenshot (Bus 008)), ganti dengan Anda sendiri.

Ctrl + HAI untuk menghemat, Ctrl + X untuk keluar dan reboot.


5
2018-01-21 22:15



Lebih baik memasukkan ini ke jawaban pertama Anda. - ntc2
mereka adalah 2 hal yang berbeda. yang pertama adalah jawaban untuk masalah bangun. yang kedua lebih seperti "Cara membuat aturan untuk mengeksekusi boot tidak" dan itu hanya "ekstra" karena tidak semua orang tahu bagaimana melakukan itu dan tidak ada panduan amatir sederhana untuk itu. - Pavlos Theodorou


Jawaban Pavlos Theodorou sangat membantu. Saya ingin menambahkan bahwa Anda dapat menemukan perangkat usb yang terhubung ke mouse / keyboard Anda saat boot-up dengan pemipaan dmesg melalui grep beberapa kali, lalu egrep sekali, dan akhirnya menggunakan ekor untuk memastikan itu adalah entri terbaru.

Dengan menggunakan metode ini, Anda tidak harus mengaktifkan bangun SEMUA port usb.

Saya meletakkan berikut ini di file /etc/rc.local saya dan menemukan receiver logitech saya setiap kali, bahkan jika dipindahkan dari satu port usb ke port usb yang lain. Ganti saja nama anda keyboard atau mouse dari dmesg di tempat "Logitech K270"

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

Ini berfungsi saat boot, tetapi sepertinya tidak berjalan saat suspend, jadi saya harus meletakkan file skrip di / lib / systemd / system-sleep /. Buat itu, atur sebagai dieksekusi secara global dan beri nama yang dimulai dengan angka dua digit antara 00 dan 99. Skrip saya adalah sebagai berikut, lagi-lagi subtit anda keyboard / mouse verbage dari dmesg:

#!/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

Untuk beberapa alasan saya tidak bisa menjelaskan, 'posting' tidur jika Pernyataan hanya bekerja setiap bangun lain ... tetapi tidur 'pra' jika Pernyataan sepertinya bekerja setiap saat.


1
2018-04-21 23:34