우분투 16.04 (Xenial Xerus)와 동일한 문제가 있었고 해결책을 많이 찾았습니다 ...
컨텍스트 스토리에 관심 이 없다면 해결책은이 답변의 끝에 있습니다. 상황은 쓸모없는 blabla처럼 보일지 모르지만 독자가 내 PC에서 해결 한 문제가 그들의 문제와 동일한 지 확인하는 데 도움이 될 수 있다고 생각합니다.
문맥
필자 는 웹에서 찾은 모든 팁 근처에서 필사적으로 테스트를 성공적으로 수행 하지 못했습니다 .
- '/ etc / default / grub'커널 부트
usbcore.autosuspend=-1
매개 변수
- 노트북 모드의 'runtime-pm.conf'
CONTROL_RUNTIME_AUTOSUSPEND=0
- '/etc/laptop-mode/laptop-mode.conf'파일에서 랩탑 모드 도구를 완전히 비활성화하여 문제가이 커널 기능과 관련이 없음을 확인합니다. laptop_mode 가 더 이상 실행되지 않는 다른 방법을 확인했습니다. (참조 :
man laptop-mode.conf
& man laptop_mode
)
- '/etc/laptop-mode/conf.d/usb-autosuspend.conf'에 대한 몇 가지 요령을 읽었지만이 파일은 laptop-mode-tools v1.68이있는 내 버전의 Ubuntu 16.04에는 없습니다.
- powertop 응용 프로그램 제거. 포럼에서 자동 일시 중지 문제가 발생하는 것으로 의심되는 경우가 많으며, 오늘은 제거해도 문제가 해결되지 않으므로 사실이 아니라는 것을 알고 있습니다.
options usbcore autosuspend=1
'/etc/modprobe.d/usb.conf'에서도 너무 비효율적이었습니다.
- 제공하는 '/etc/udev/rules.d/60-power.rules'스크립트 젠투 공식 위키에서
- Serge Y가 권장하는 '/etc/udev/rules.d/usb-power.rules'에
rules
대한 장치 별 파일 . Stroobandtudev
이 모든 기술적 내용을 읽은 후에는 구성 변경 내용에 관계없이 원인이 2 초 만에 '/ sys / module / usbcore / parameters / autosuspend'값과 관련이 있음을 이해했습니다. 다음 cat
명령으로 확인할 수 있습니다 .
$ cat /sys/module/usbcore/parameters/autosuspend
2
그리고 그렇습니다. 2 초 후에 마우스가 정확히 작동하지 않아서 올바른 방향에 있다는 것을 알았습니다. 물론 autosuspend를 비활성화하기 위해 echo -1
여기 저기에서 본 명령을 테스트 -1
했지만 ...
sudo echo -1 > sys/module/usbcore/parameters/autosuspend
bash: /sys/module/usbcore/parameters/autosuspend: Permission denied
sudo 모드에서도 권한이 거부 된 이유를 이해하지 못했습니다. 나는 그것이 문제가 될 수 있다고 생각하지 않았기 때문에 루트로 시도하지 않았습니다. 여기 실수가있었습니다 :(
Alex Dekker & Bryce 의견 덕분에 마우스에 대해서만 자동 일시 중단 을 비활성화하는 방법을 배웠습니다 . 그러나 물론 첫 번째 시도는 이것으로 실패 bash: Permission denied error
했기 때문에 echo -1
Alex가 제안한 명령이 마침내 작동 하기 전에 내 루트 / 스도 혼란을 이해하기를 기다려야 했습니다.
루트로 로그인하지 않고 루트 사용자 로 명령을 실행하는 더 좋은 방법을 찾았습니다 . 루트 쉘과 루트 명령 사용법의 차이점 은 공식 우분투의 RootSudo 위키 페이지에 잘 설명되어 있습니다. 있습니다. 나는 이런 것들을 배우는 것을 좋아하지만 이봐! 왜 항상 고통스러운 방법을 배워야합니까? 롤
OMG, 그것은 진짜 두통이었고, 제가 보통 "뇌가 없다"고 말하는 것처럼 저와 같은 멍청한 사람들이 이해하는데 많은 시간이 걸렸습니다. 광산에는 더 많은 훈련이 필요합니다.
그래서 나 자신에 대해 이야기하는 것을 멈추고 고치십시오! 아래 계속하십시오 ...
유휴 외장 HDD에 대한 두 번째 솔루션 은 노트북 배터리를 전혀 소모하지 않는 것이 좋습니다 . 그러나 나는 자신의 자유를 사랑하는 사람이 서로의 자유도 사랑해야하기 때문에 두 가지 솔루션을 모두 제공합니다. :)
솔루션 1
모든 USB 장치 / 포트에서 자동 일시 중단을 비활성화하려면
터미널을 열고 다음을 실행하십시오.
sudo sh -c "echo -1 > /sys/module/usbcore/parameters/autosuspend"
이것은 실제로이 명령으로 마우스 또는 키보드 자동 일시 중지 문제가 해결되는지 즉시 테스트 할 수 있는 임시 솔루션입니다.
USB 장치가 제대로 작동하면 '/etc/rc.local'스크립트를 편집하여 시스템을 부팅 할 때마다 해당 명령을 실행하십시오. 이렇게하면 수정 종류를 영구적으로 만들 수 있습니다. 예를 들어 nano를 사용하여 파일을 편집하십시오.
sudo nano /etc/rc.local
echo -1
명령을 '/etc/rc.local'파일의 exit 0
줄 앞에 넣으십시오.
#!/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
컴퓨터를 다시 시작하십시오
( 끝 부분에 있는 중요 사항을 확인하십시오 .)
.
솔루션 2
특정 USB 장치 / 포트에 대해 자동 일시 중단을 비활성화하려면
USB 장치의 전원 옵션은에 /sys/bus/usb/devices/n-n/power
있습니다. n-n
주어진 장치가 무엇 인지 알아 내려면 약간의 조작이 필요하지만 복잡하지는 않습니다. 아래 예는 무선 마우스 수신기의 USB 포트 번호가로 결정된 방법을 보여 3-1
주므로 본인의 상황에 맞게 조정하십시오.
USB 장치를 분리하고 터미널을 열고 sudo dmesg
명령을 실행하십시오.
USB 장치를 다시 연결 한 다음 sudo dmesg
터미널에서 다시 실행 하여 변경 사항을 확인하십시오.
dmesg
마우스를 슬롯에 다시 꽂은 후 명령 출력 의 끝은 다음과 같습니다.
[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
이제 USB 장치가 연결된 포트가로 식별됨을 알 수 있습니다 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 ;)
터미널에서 다음 명령을 실행하여 결과를 3-1
찾은 포트 번호 로 내 포트 번호 를 변경 하십시오 dmesg
.
sudo sh -c "echo -1 > /sys/bus/usb/devices/3-1/power/autosuspend_delay_ms"
참고 autosuspend_delay_ms
(가) 사용되지 않는 대체하고 autosuspend
받는 사람에 따라, 커널 버전 2.6.38 이후 리눅스 공식 문서 .
이것은 실제로 임시 해결책이지만,이 명령으로 마우스 또는 키보드 자동 일시 중지 문제를 해결했는지 쉽게 테스트 할 수 있습니다.
USB 장치가 제대로 작동하면 '/etc/rc.local'스크립트를 편집하여 시스템을 부팅 할 때마다 해당 명령을 실행하십시오. 이렇게하면 수정 종류를 영구적으로 만들 수 있습니다. 예를 들어 nano를 사용하여 파일을 편집하십시오.
sudo nano /etc/rc.local
echo -1
명령 줄에서 '/etc/rc.local'파일에 명령을 넣으십시오. 명령에서 exit 0
포트 번호를 변경하는 것을 잊지 마십시오 n-n
.
#!/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
컴퓨터를 다시 시작하십시오
.
중요 : 당신이 실행해야합니다 잊지 마세요 sudo sh -c
다시 같은 USB 플러그에 꽂으 경우에도, 당신은 분리 / 재 연결 USB 장치 데스크탑 환경이 이미 시작하면서 경우에 다시 수동으로 "일시적으로"명령을. '/etc/rc.local'파일이 시스템 시작시 한 번만 호출되기 때문에 정상입니다.
어쨌든 해결 방법이 가능합니다. 숙련 된 사람들은 더 영리한 방법을 사용할 수 있지만 우분투에서 포트 별 별칭을 구성했습니다. USB 장치를 여기 또는 여기에서 뽑거나 다시 뽑아야 할 경우 단순 usb1
또는 usb2
명령을 선택적으로 사용할 수 있습니다. 너도! 전체 명령을 입력하는 대신 짧은 단어로 재생할 명령 별칭 을 만들 수도 있습니다 . 그것은 2 분 이내에 쉽게 설정할와도 함께 작동 Alt+ F2:)
더 쉬운 아이디어를 더 많이 환영합니다.