Alasan mengapa orang memposting pertanyaan seperti ini adalah karena fitur " EVIL " yang menakutkan - USB Auto-Suspend " feature ".
Penangguhan otomatis menurunkan daya ke perangkat USB "idle" dan kecuali jika driver perangkat mendukung fitur ini dengan benar, perangkat dapat menjadi tidak dapat dihubungi. Jadi menyalakan / mematikan port USB adalah gejala dari masalah, bukan masalah itu sendiri.
Saya akan menunjukkan kepada Anda bagaimana secara GLOBAL menonaktifkan secara penangguhan otomatis, meniadakan kebutuhan untuk mengaktifkan & menonaktifkan port USB secara manual:
Jawaban singkat:
Anda TIDAK perlu mengedit " autosuspend_delay_ms " secara individual: USB autosuspend dapat dinonaktifkan secara global dan PERSISTEN menggunakan perintah berikut:
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/&usbcore.autosuspend=-1 /' /etc/default/grub
update-grub
systemctl reboot
Sebuah Ubuntu 18.04 layar-ambil berikut pada akhir dari "Panjang Jawaban" menggambarkan bagaimana hasil saya dicapai.
Jawaban panjang:
Memang benar bahwa Dokumentasi Kernel Manajemen Daya USB menyatakan autosuspend akan ditinggalkan dan sebagai gantinya " autosuspend_delay_ms " digunakan untuk menonaktifkan autosuspend USB:
"In 2.6.38 the "autosuspend" file will be deprecated
and replaced by the "autosuspend_delay_ms" file."
NAMUN pengujian saya mengungkapkan bahwa pengaturan usbcore.autosuspend=-1
di / etc / default / grub seperti di bawah ini dapat digunakan sebagai toggle GLOBAL untuk fungsi autosuspend USB - Anda TIDAK perlu mengedit satu per satu " autosuspend_delay_ms individual file " .
Dokumen yang sama yang ditautkan di atas menyatakan nilai "0" ENABLED dan nilai negatif DISABLED :
power/autosuspend_delay_ms
<snip> 0 means to autosuspend
as soon as the device becomes idle, and negative
values mean never to autosuspend. You can write a
number to the file to change the autosuspend
idle-delay time.
Di layar-ambil Ubuntu 18.04 beranotasi di bawah ini yang menggambarkan bagaimana hasil saya dicapai (dan dapat direproduksi), tolong katakan bahwa standarnya adalah "0" ( diaktifkan ) di autosuspend_delay_ms .
Kemudian perhatikan bahwa setelah pengaturan ONLYusbcore.autosuspend=-1
di Grub, nilai-nilai ini sekarang negatif ( dinonaktifkan ) setelah reboot. Ini akan menyelamatkan saya dari kesulitan mengedit nilai-nilai individual dan sekarang dapat skrip menonaktifkan autosuspend USB.
Semoga ini membuat penonaktifan penonaktifan USB otomatis lebih mudah dan lebih banyak skrip-
power/level
sudah ditinggalkan sekarang; gunakanpower/control
saja . (power/wakeup
ok.) Selanjutnya, ia hanya menerima "otomatis" dan "menyala", bukan "menangguhkan" lagi. "auto" cukup pintar, dan jika daya tidak dimatikan saat idle, itu kesalahan perangkat. Lagi pula Anda tidak dapat mematikan daya secara manual. Untuk lebih lanjut, lihat jawaban di bawah ini oleh tlwhitec dan doc kernel: kernel.org/doc/Documentation/usb/power-management.txt