Saya memiliki masalah yang sama dengan Ubuntu 16.04 (Xenial Xerus) dan mencari banyak solusi ...
Solusinya ada di akhir jawaban ini jika Anda tidak peduli dengan konteksnya. Konteks mungkin terlihat seperti blabla yang tidak berguna (mungkin itu), tapi saya pikir itu bisa membantu pembaca untuk memeriksa apakah masalah yang telah saya pecahkan pada PC saya sama dengan yang mereka miliki.
KONTEKS
Saya putus asa telah berhasil diuji di dekat setiap tips saya telah menemukan di web, reboot setelah setiap dicoba:
usbcore.autosuspend=-1
parameter boot kernel '/ etc / default / grub'
- laptop-mode 'runtime-pm.conf'
CONTROL_RUNTIME_AUTOSUSPEND=0
- sepenuhnya menonaktifkan Laptop Mode Tools dari file '/etc/laptop-mode/laptop-mode.conf', mengkonfirmasi bahwa masalahnya tidak terkait dengan fitur kernel ini. Saya telah memeriksa berbagai cara agar laptop_mode tidak berjalan lagi untuk memastikan. (Ref:
man laptop-mode.conf
& man laptop_mode
)
- Saya sudah membaca beberapa trik tentang '/etc/laptop-mode/conf.d/usb-autosuspend.conf', tetapi file ini tidak ada dalam versi saya Ubuntu 16.04 dengan laptop-mode-tools v1.68
- penghapusan instalasi aplikasi powertop . Ini sering diduga di forum menyebabkan masalah autosuspend, dan hari ini saya tahu bahwa itu tidak benar dalam kasus saya seperti menguninstall itu tidak memperbaiki apa-apa.
options usbcore autosuspend=1
di '/etc/modprobe.d/usb.conf' telah tidak efisien juga
- Script '/etc/udev/rules.d/60-power.rules' yang disediakan oleh Gentoo Wiki resmi
- khusus perangkat
rules
file untuk udev
'/etc/udev/rules.d/usb-power.rules' direkomendasikan oleh Serge Y. Stroobandt
Setelah membaca semua hal-hal teknis ini saya hanya mengerti bahwa penyebabnya terkait dengan '/ sys / modul / usbcore / parameter / autosuspend' nilai saya terjebak di dua detik, tidak peduli apa yang mengubah saya lakukan untuk konfigurasi saya. Anda dapat memeriksanya dengan cat
perintah:
$ cat /sys/module/usbcore/parameters/autosuspend
2
Dan ya, mouse saya dinonaktifkan persis setelah dua detik, jadi aku tahu aku berada di jalan yang benar. Tentu saja saya telah menguji echo -1
perintah yang saya lihat di sana-sini, -1
dimaksudkan untuk menonaktifkan autosuspend ... tetapi:
sudo echo -1 > sys/module/usbcore/parameters/autosuspend
bash: /sys/module/usbcore/parameters/autosuspend: Permission denied
Saya tidak mengerti mengapa izin ditolak bahkan dalam mode sudo. Saya tidak mencoba sebagai root, karena saya tidak berpikir itu bisa menjadi masalah. Berikut adalah kesalahan :(
Berkat Alex Dekker & Bryce komentar , saya telah belajar bagaimana untuk menonaktifkan autosuspend hanya untuk mouse. Tapi tentu saja mencoba pertama saya gagal dengan ini bash: Permission denied error
, jadi saya harus menunggu untuk memahami saya kebingungan root / sudo sebelum echo -1
perintah yang disarankan oleh Alex akhirnya kerja.
Saya juga menemukan cara yang lebih baik untuk mengeksekusi perintah sebagai akar pengguna tanpa login sebagai root. Perbedaan antara shell root dan akar penggunaan perintah juga dijelaskan di Ubuntu resmi halaman RootSudo wiki . Saya suka belajar hal semacam ini, tapi hei! Mengapa harus selalu dipelajari dengan cara yang menyakitkan? LOL
OMG, itu benar-benar sakit kepala, dan butuh banyak waktu untuk dipahami seorang pemula seperti saya, seperti yang biasanya saya katakan "tidak ada otak, tidak ada keuntungan". Tambang secara nyata membutuhkan lebih banyak pelatihan.
Jadi mari kita berhenti bicara tentang diri saya dan perbaiki! Silakan lanjutkan di bawah ...
Saya sangat merekomendasikan solusi kedua untuk HDD eksternal Anda yang menganggur untuk tidak menguras baterai laptop Anda secara gratis. Tapi saya memberikan Anda berdua solusi, karena siapa yang mencintai kebebasannya sendiri harus saling mencintai kebebasan juga :)
SOLUSI 1
Untuk menonaktifkan belanja otomatis pada setiap perangkat / port USB
Buka Terminal dan jalankan:
sudo sh -c "echo -1 > /sys/module/usbcore/parameters/autosuspend"
Ini memang solusi sementara yang memungkinkan Anda untuk langsung menguji apakah perintah ini memperbaiki masalah pengeluaran mouse atau keyboard Anda.
Jika perangkat USB Anda berfungsi dengan baik sekarang, cukup edit skrip '/etc/rc.local' Anda sehingga itu akan menjalankan perintah itu setiap kali sistem di-boot. Dengan cara ini Anda akan melakukan perbaikan jenis permanen . Edit file, misalnya dengan nano:
sudo nano /etc/rc.local
dan letakkan echo -1
perintah di file '/etc/rc.local' sebelum exit 0
baris
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
(...)
# By default this script does nothing.
echo -1 > /sys/module/usbcore/parameters/autosuspend
exit 0
Hidupkan Kembali komputer Anda
(Silakan periksa Penting catatan di akhir.)
.
SOLUSI 2
Untuk autosuspend menonaktifkan untuk spesifik perangkat USB / port
Opsi daya untuk perangkat USB berada di /sys/bus/usb/devices/n-n/power
. Apa n-n
adalah untuk perangkat tertentu membutuhkan manipulasi beberapa untuk mencari tahu, tapi itu tidak rumit. Contoh di bawah ini menunjukkan bagaimana saya telah menentukan bahwa nomor port USB dari penerima mouse nirkabel saya adalah 3-1
, jadi tolong sesuaikan ini dengan situasi Anda sendiri:
Cabut perangkat USB Anda, buka Terminal dan jalankan sudo dmesg
perintah
Hubungkan perangkat USB Anda kembali, dan kemudian jalankan sudo dmesg
lagi di Terminal untuk cek untuk perubahan
Beginilah akhir dari dmesg
output perintah saya setelah mencolokkan mouse saya kembali ke dalam slot:
[40208.575249] usb 3-1: new full-speed USB device number 8 using xhci_hcd
[40208.705233] usb 3-1: New USB device found, idVendor=062a, idProduct=4102
[40208.705240] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[40208.705245] usb 3-1: Product: 2.4G Wireless Mouse
[40208.705248] usb 3-1: Manufacturer: MOSART Semi.
[40208.707679] input: MOSART Semi. 2.4G Wireless Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/0003:062A:4102.0007/input/input24
[40208.763946] hid-generic 0003:062A:4102.0007: input,hiddev0,hidraw0: USB HID v1.10 Mouse [MOSART Semi. 2.4G Wireless Mouse] on usb-0000:00:14.0-1/input0
Sekarang kita dapat melihat bahwa port tempat perangkat USB saya dicolokkan diidentifikasi usb 3-1
.
**Note:** this trick concerns the USB port ID, not a device ID. For example, if I plug my mouse to the next USB port, it becomes identified as `usb 3-2` in the `dmesg` result. But this solution #2 remains very useful if you take the habit to always plug your mice or keyboard to the same port, and it's generally what people use to do unconsciously ;)
Jalankan perintah berikut di Terminal Anda, ubah nomor port saya 3-1
dengan yang Anda temukan di dmesg
hasil Anda sendiri :
sudo sh -c "echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms"
Perhatikan bahwa autosuspend_delay_ms
telah menggantikan usang autosuspend
sejak kernel versi 2.6.38, menurut dokumentasi resmi Linux .
Ini memang solusi sementara , tetapi Anda sekarang dapat dengan mudah menguji apakah perintah ini memperbaiki masalah pengeluaran mouse atau keyboard Anda.
Jika perangkat USB Anda berfungsi dengan baik sekarang, cukup edit skrip '/etc/rc.local' Anda sehingga itu akan menjalankan perintah itu setiap kali sistem di-boot. Dengan cara ini Anda akan membuat semacam perbaikan permanen . Edit file, misalnya dengan nano:
sudo nano /etc/rc.local
dan menempatkan echo -1
perintah dalam Anda '/etc/rc.local' berkas sebelum exit 0
line, sekali lagi jangan lupa untuk jumlah perubahan pelabuhan n-n
di perintah:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
(...)
# By default this script does nothing.
echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms
exit 0
Hidupkan Kembali komputer Anda
.
Penting: jangan lupa bahwa Anda harus menjalankan sudo sh -c
perintah "sementara" lagi secara manual jika Anda putuskan / menyambung kembali perangkat USB Anda saat lingkungan desktop Anda sudah mulai, bahkan jika Anda pasang kembali pada konektor USB yang sama. Normal, hanya karena '/etc/rc.local' file yang disebut hanya sekali pada sistem startup.
Bagaimanapun, penyelesaian mungkin dilakukan. Orang-orang yang lebih terampil mungkin memiliki metode yang lebih pintar, tetapi saya telah mengkonfigurasi alias khusus-port di Ubuntu. Ini memungkinkan saya untuk menggunakan perintah sederhana usb1
atau usb2
selektif jika saya harus mencabut / mencabut perangkat USB saya di sini atau di sana. Kamu juga! Anda juga bisa membuat alias alias bermain dengan kata-kata pendek alih-alih mengetikkan perintah lengkap. Mudah diatur dalam waktu kurang dari dua menit dan juga berfungsi dengan Alt+ F2:)
Lebih banyak ide untuk membuatnya lebih mudah juga akan sangat disambut.