Tôi gặp vấn đề tương tự với Ubuntu 16.04 (Xenial Xerus) và đã tìm kiếm rất nhiều cho bất kỳ giải pháp nào ...
Giải pháp nằm ở cuối câu trả lời này nếu bạn không quan tâm đến câu chuyện bối cảnh. Bối cảnh có thể trông giống như blabla không đáng tin (có thể là vậy), nhưng tôi nghĩ rằng nó có thể giúp người đọc kiểm tra xem vấn đề tôi đã giải quyết trên PC có giống như của họ không.
BỐI CẢNH
Tôi đã thử nghiệm không thành công gần như mọi mẹo tôi đã tìm thấy trên web, khởi động lại sau mỗi lần thử:
usbcore.autosuspend=-1
Tham số khởi động kernel '/ etc / default / grub'
- chế độ máy tính xách tay 'runtime-pm.conf'
CONTROL_RUNTIME_AUTOSUSPEND=0
- vô hiệu hóa hoàn toàn Công cụ chế độ máy tính xách tay từ tệp '/etc/l mỏi-mode / l mỏi-mode.conf', xác nhận rằng sự cố không liên quan đến tính năng hạt nhân này. Tôi đã kiểm tra các cách khác nhau mà laptop_mode không chạy nữa để chắc chắn. (Tham khảo:
man laptop-mode.conf
& man laptop_mode
)
- Tôi đã đọc một số thủ thuật về '/etc/l mỏi-mode / conf.d / usb-autosuspend.conf', nhưng tệp này không tồn tại trong phiên bản Ubuntu 16.04 của tôi với công cụ chế độ máy tính xách tay v1,68
- gỡ cài đặt ứng dụng powertop . Nó thường bị nghi ngờ trong các diễn đàn gây ra sự cố tự động gửi và hôm nay tôi biết rằng điều đó không đúng trong trường hợp của tôi vì gỡ cài đặt nó không khắc phục được gì.
options usbcore autosuspend=1
trong '/etc/modprobe.d/usb.conf' cũng không hiệu quả
- Kịch bản '/etc/udev/rules.d/60-power.rules' được cung cấp bởi Gentoo Wiki chính thức
rules
tệp dành riêng cho thiết bị cho udev
'/etc/udev/rules.d/usb-power.rules' được đề xuất bởi Serge Y. Stroobandt
Sau khi đọc tất cả những thứ kỹ thuật này, tôi chỉ hiểu rằng nguyên nhân có liên quan đến giá trị '/ sys / module / usbcore / tham số / autosuspend' của tôi bị kẹt ở hai giây, bất kể tôi có thay đổi gì với cấu hình của mình. Bạn có thể kiểm tra nó bằng cat
lệnh:
$ cat /sys/module/usbcore/parameters/autosuspend
2
Và đúng vậy, con chuột của tôi đã bị vô hiệu hóa chính xác sau hai giây, vì vậy tôi biết mình đang đi đúng hướng. Tất nhiên tôi đã thử nghiệm echo -1
lệnh mà tôi đã thấy ở đây và ở đó, -1
có ý định vô hiệu hóa tự động gửi ... nhưng:
sudo echo -1 > sys/module/usbcore/parameters/autosuspend
bash: /sys/module/usbcore/parameters/autosuspend: Permission denied
Tôi không hiểu tại sao sự cho phép bị từ chối ngay cả trong chế độ sudo. Tôi đã không thử với quyền root, vì tôi không nghĩ rằng nó có thể là một vấn đề. Đây là lỗi :(
Nhờ những bình luận của Alex Dekker & Bryce , tôi đã học được cách vô hiệu hóa tính năng tự động chỉ dành cho chuột của mình. Nhưng tất nhiên những lần thử đầu tiên của tôi đã thất bại với điều này bash: Permission denied error
, vì vậy tôi phải chờ sự hiểu biết về sự nhầm lẫn gốc / sudo của mình trước khi echo -1
lệnh được đề xuất bởi Alex cuối cùng cũng hoạt động.
Tôi cũng đã tìm thấy một cách tốt hơn để thực thi một lệnh là người dùng root mà không cần đăng nhập bằng root. Sự khác biệt giữa việc sử dụng lệnh root và root root được giải thích rõ trong trang wiki RootSudo chính thức của Ubuntu . Tôi thích học những thứ này, nhưng này! Tại sao nó phải luôn luôn học theo cách đau đớn? cười lớn
OMG, đó là một cơn đau đầu thực sự, và phải mất rất nhiều thời gian để một người mới như tôi hiểu, vì tôi thường nói "không có não không đạt được". Của tôi rõ ràng cần đào tạo nhiều hơn.
Vì vậy, hãy ngừng nói về bản thân và đi sửa nó! Vui lòng tiếp tục bên dưới ...
Tôi đặc biệt khuyên bạn nên giải pháp thứ hai cho ổ cứng ngoài nhàn rỗi của bạn để không làm hao pin máy tính xách tay của bạn. Nhưng tôi cho bạn cả hai giải pháp, vì ai yêu tự do của riêng mình nên cũng yêu tự do cho nhau :)
GIẢI PHÁP 1
Để tắt tính năng tự động gửi trên mọi thiết bị / cổng USB
Mở Terminal và thực thi:
sudo sh -c "echo -1 > /sys/module/usbcore/parameters/autosuspend"
Đây thực sự là một giải pháp tạm thời cho phép bạn kiểm tra ngay lập tức nếu lệnh này khắc phục sự cố tự động sửa chuột hoặc bàn phím của bạn.
Nếu (các) thiết bị USB của bạn hoạt động tốt, chỉ cần chỉnh sửa tập lệnh '/etc/rc.local' để nó sẽ chạy lệnh đó bất cứ khi nào hệ thống được khởi động. Bằng cách này, bạn sẽ làm cho loại sửa chữa vĩnh viễn . Chỉnh sửa tệp, ví dụ với nano:
sudo nano /etc/rc.local
và đặt echo -1
lệnh trong tệp '/etc/rc.local' của bạn trước exit 0
dòng
#!/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
Khởi động lại máy tính của bạn
(Vui lòng kiểm tra ghi chú quan trọng ở cuối.)
.
GIẢI PHÁP 2
Để tắt tính năng tự động gửi cho một thiết bị / cổng USB cụ thể
Các tùy chọn năng lượng cho một thiết bị USB đang ở /sys/bus/usb/devices/n-n/power
. Những gì n-n
dành cho một thiết bị nhất định đòi hỏi một vài thao tác để tìm hiểu, nhưng nó không phức tạp. Ví dụ dưới đây cho thấy tôi đã xác định số cổng USB của máy thu chuột không dây của mình 3-1
như thế nào, vì vậy vui lòng điều chỉnh điều này với tình huống của riêng bạn:
Rút phích cắm thiết bị USB của bạn, mở Terminal và thực hiện sudo dmesg
lệnh
Kết nối lại thiết bị USB của bạn và sau đó thực hiện sudo dmesg
lại trong Terminal để kiểm tra các thay đổi
Đây là phần cuối của dmesg
đầu ra lệnh của tôi trông như thế nào sau khi cắm lại chuột vào khe:
[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
Bây giờ chúng ta có thể thấy rằng cổng mà thiết bị USB của tôi đã được cắm được xác định là 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 ;)
Thực hiện lệnh sau trong Terminal của bạn, thay đổi số cổng của tôi 3-1
bằng lệnh bạn đã tìm thấy trong dmesg
kết quả của riêng mình :
sudo sh -c "echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms"
Lưu ý rằng autosuspend_delay_ms
đã thay thế autosuspend
từ phiên bản kernel 2.6,38, theo tài liệu chính thức của Linux .
Đây thực sự là một giải pháp tạm thời , nhưng bây giờ bạn có thể dễ dàng kiểm tra nếu lệnh này đã khắc phục sự cố tự động sửa lỗi chuột hoặc bàn phím của bạn.
Nếu thiết bị USB của bạn hoạt động tốt ngay bây giờ, chỉ cần chỉnh sửa tập lệnh '/etc/rc.local' để thiết bị sẽ chạy lệnh đó bất cứ khi nào hệ thống được khởi động. Bằng cách này, bạn sẽ làm cho loại sửa chữa vĩnh viễn . Chỉnh sửa tệp, ví dụ với nano:
sudo nano /etc/rc.local
và đặt echo -1
lệnh trong tệp '/etc/rc.local' của bạn trước exit 0
dòng, một lần nữa đừng quên thay đổi số cổng n-n
trong lệnh:
#!/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
Khởi động lại máy tính của bạn
.
Quan trọng: đừng quên rằng bạn sẽ phải thực hiện lại lệnh sudo sh -c
"tạm thời" theo cách thủ công nếu bạn ngắt kết nối / kết nối lại thiết bị USB của mình trong khi môi trường máy tính để bàn của bạn đã bắt đầu, ngay cả khi bạn cắm lại vào cùng một đầu cắm USB. Bình thường, chỉ vì tệp '/etc/rc.local' chỉ được gọi một lần khi khởi động hệ thống.
Dù sao, cách giải quyết là có thể. Những người có kỹ năng tốt hơn có thể có các phương thức thông minh hơn, nhưng tôi đã cấu hình các bí danh dành riêng cho cổng trong Ubuntu. Nó cho phép tôi sử dụng các lệnh đơn giản usb1
hoặc usb2
các lệnh một cách chọn lọc nếu tôi phải rút / cắm lại thiết bị USB của mình ở đây hoặc ở đó. Bạn cũng vậy! Bạn cũng có thể tạo các bí danh lệnh để chơi với các từ ngắn thay vì nhập lệnh đầy đủ. Thật dễ dàng để đặt trong chưa đầy hai phút và cũng hoạt động với Alt+ F2:)
Nhiều ý tưởng để làm cho nó dễ dàng hơn cũng sẽ rất được hoan nghênh.