Ubuntu 16.04 (Xenial Xerus)에서 키보드 작동이 중지됨


17

명백한 이유없이 키보드가 작동을 멈 춥니 다.

2.5 년 동안 Windows 호스트 ( VirtualBox ) 에서 가상 머신으로 Ubuntu를 사용한 후 마침내 급락하여 하드 디스크를 다시 포맷하고 어제 Ubuntu로 시스템을 구축했습니다. 오늘 아침에 키보드가 작동을 멈췄습니다.

우분투와 USB 키보드 또는 마우스가 무작위로 작동하지 않는 것에 대한 많은 게시물이 있습니다. 전원을 절약하기 위해 USB 장치의 전원을 자동으로 일시 중지하고 있음을 나타내며 일부 USB 장치가 호환되지 않으면 USB가 '깨어나지'않습니다.

USB Autosuspend 수정에 게시 된 제안을 시도했습니다 .

그러나 운이 없다. 또한 키보드없이 부팅 한 다음 우분투가 시작되면 연결하라는 또 다른 제안을 시도했습니다.

세부 사항은 다음과 같습니다.

  • 지난 2 년간 Ubuntu와 동일한 Kinesis 키보드를 가상 머신으로 사용했는데 아무런 문제가 없었습니다.
  • Kinesis에는 매크로가 있으며 매크로를 트리거하면 문제가 100 % 발생합니다. 그러나 매크로를 입력하지 않아도됩니다.
  • 지금은 랩톱에서 Kinesis를 사용해 보았습니다. 이것은 2 주 전에 Ubuntu 16.04를 설치 한 1 년 된 기계입니다. Kinesis 키보드 매크로를 사용해도 문제가 재현 되지 않았습니다 .

문제 기계

  • Dell XPS, 6 세, 데스크탑
  • 어제 Ubuntu 16.04 설치
  • Kinesis Advantage USB 키보드 사용
  • 키보드 분리 / 다시 연결이 10 회 중 9 회 작동했습니다.
  • 재부팅도 작동합니다
  • 키보드의 LED가 계속 켜져 있고 다른 USB 장치가 계속 작동하기 때문에 USB 전원 문제라고 생각하지 않습니다.
  • 기기에 USB와 블루투스 마우스가 모두 연결되어 있습니다. Kinesis가 중지 된 경우에도 둘 다 계속 작동합니다.
  • 일반적으로 내 컴퓨터를 사용해야하는 키네 시스 이외의 사람들을 위해 두 번째 일반 Dell 브랜드 키보드가 연결되어 있습니다. 오늘 초이 키보드는 Kinesis가 작동을 멈출 때마다 작동을 멈췄습니다. 그러나 이제 매크로 관련 문제가 발생하면 Dell 키보드가 계속 작동합니다.

8 년 동안 키네 시스 (Kinesis)는 키보드를 계속 사용할 수있게 해주었습니다. 이 문제를 해결할 수 없으면 Windows로 돌아가서 실제 문제가 발생할 수 있습니다.

시도 할 사항이나 이것을 디버깅하는 방법에 대한 제안은 크게 감사하겠습니다.

USB 드라이버를 파고 들었습니다 .Linux에서는 전혀 알지 못합니다. 그러나 랩톱에는 USB 2.0 및 3.0 포트가 모두 있습니다. 데스크탑 (문제가있는)은 USB 2.0 전용입니다. 아직도 파고 ...


지난 2 년간 Ubuntu와 동일한 Kinesis 키보드를 가상 머신으로 사용했는데 아무런 문제가 없었습니다. 실제로 키보드를 가상 머신으로 넘겼습니까? 그렇지 않으면 호스트 OS 및 VirtualBox의 드라이버를 거치는 것입니다.
Melebius

3 년 동안 나는 Ubuntu를 Windows 호스트가있는 VM으로 사용했으며 키보드에는 아무런 문제가 없었습니다. 이제 호스트는 Ubuntu GNOME이고 게스트도 Ubuntu GNOME이므로이 문제가 있습니다.
klequis

그런 다음 게스트 OS에서 실제 키보드를 사용하지 않았습니다. Virtualbox는 기본적으로 게스트 OS에 가상 키보드를 제공합니다. (따라서 동일한 물리적 키보드 를 사용했는지 여부는 중요하지 않습니다. )
karatedog

이 비슷한 질문을 참조하십시오. askubuntu.com/questions/688445/laptop-keyboard-stopped-workingxserver-xorg-input-all 업그레이드 할 때 패키지 설치 가 저에게 Ubuntu 17.04
효과적이었습니다

답변:


7

우분투 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 -1Alex가 제안한 명령이 마침내 작동 하기 전에 내 루트 / 스도 혼란을 이해하기를 기다려야 했습니다.

루트로 로그인하지 않고 루트 사용자 로 명령을 실행하는 더 좋은 방법을 찾았습니다 . 루트 쉘과 루트 명령 사용법의 차이점 은 공식 우분투의 RootSudo 위키 페이지에 잘 설명되어 있습니다. 있습니다. 나는 이런 것들을 배우는 것을 좋아하지만 이봐! 왜 항상 고통스러운 방법을 배워야합니까? 롤

OMG, 그것은 진짜 두통이었고, 제가 보통 "뇌가 없다"고 말하는 것처럼 저와 같은 멍청한 사람들이 이해하는데 많은 시간이 걸렸습니다. 광산에는 더 많은 훈련이 필요합니다.

그래서 나 자신에 대해 이야기하는 것을 멈추고 고치십시오! 아래 계속하십시오 ...


유휴 외장 HDD에 대한 두 번째 솔루션 은 노트북 배터리를 전혀 소모하지 않는 것이 좋습니다 . 그러나 나는 자신의 자유를 사랑하는 사람이 서로의 자유도 사랑해야하기 때문에 두 가지 솔루션을 모두 제공합니다. :)

솔루션 1

모든 USB 장치 / 포트에서 자동 일시 중단을 비활성화하려면

  1. 터미널을 열고 다음을 실행하십시오.

    sudo sh -c "echo -1 > /sys/module/usbcore/parameters/autosuspend"
    
  2. 이것은 실제로이 명령으로 마우스 또는 키보드 자동 일시 중지 문제가 해결되는지 즉시 테스트 할 수 있는 임시 솔루션입니다.

  3. USB 장치가 제대로 작동하면 '/etc/rc.local'스크립트를 편집하여 시스템을 부팅 할 때마다 해당 명령을 실행하십시오. 이렇게하면 수정 종류를 영구적으로 만들 수 있습니다. 예를 들어 nano를 사용하여 파일을 편집하십시오.

    sudo nano /etc/rc.local
    
  4. 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
    
  5. 컴퓨터를 다시 시작하십시오

( 끝 부분에 있는 중요 사항을 확인하십시오 .)

.

솔루션 2

특정 USB 장치 / 포트에 대해 자동 일시 중단을 비활성화하려면

  1. 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 ;)
    
  2. 터미널에서 다음 명령을 실행하여 결과를 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 이후 리눅스 공식 문서 .

  3. 이것은 실제로 임시 해결책이지만,이 명령으로 마우스 또는 키보드 자동 일시 중지 문제를 해결했는지 쉽게 테스트 할 수 있습니다.

  4. USB 장치가 제대로 작동하면 '/etc/rc.local'스크립트를 편집하여 시스템을 부팅 할 때마다 해당 명령을 실행하십시오. 이렇게하면 수정 종류를 영구적으로 만들 수 있습니다. 예를 들어 nano를 사용하여 파일을 편집하십시오.

    sudo nano /etc/rc.local
    
  5. 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
    
  6. 컴퓨터를 다시 시작하십시오

.

중요 : 당신이 실행해야합니다 잊지 마세요 sudo sh -c다시 같은 USB 플러그에 꽂으 경우에도, 당신은 분리 / 재 연결 USB 장치 데스크탑 환경이 이미 시작하면서 경우에 다시 수동으로 "일시적으로"명령을. '/etc/rc.local'파일이 시스템 시작시 한 번만 호출되기 때문에 정상입니다.

어쨌든 해결 방법이 가능합니다. 숙련 된 사람들은 더 영리한 방법을 사용할 수 있지만 우분투에서 포트 별 별칭을 구성했습니다. USB 장치를 여기 또는 여기에서 뽑거나 다시 뽑아야 할 경우 단순 usb1또는 usb2명령을 선택적으로 사용할 수 있습니다. 너도! 전체 명령을 입력하는 대신 짧은 단어로 재생할 명령 별칭 을 만들 수도 있습니다 . 그것은 2 분 이내에 쉽게 설정할와도 함께 작동 Alt+ F2:)

더 쉬운 아이디어를 더 많이 환영합니다.


이 답변에 감사드립니다. 불행히도 이것이 답변인지 확인하기 위해 테스트 할 수는 없습니다. 따라서 답변으로 표시 해야하는지 확실하지 않습니다.
klequis

나는 노력했지만 우분투 16.0.4.2 VirtualBox 5.1.26
Pavlo

1

나는 똑같은 문제가 있었다 (Kinesis 키보드, 재부팅 후 작동이 중지되었다).

결국 커널 업그레이드와 관련이 있다고 생각했습니다.

  • 재부팅하기 전에 버전 4.4.0-31-generic에있었습니다.
  • 재부팅 후 4.4.0-38-generic

이전 4.4.0-31 커널을 사용하여 부팅하면 문제가 해결되었습니다.

이 게시물 에는 이전 커널을 사용하여 부팅하는 방법에 대한 지침 포함되어 있습니다 (이전 커널이 트릭을 수행하는지 확인할 수 있음).


새로 구축 한 시스템에 내가 사용중인 가상 시스템보다 최신 커널이있을 가능성이 큽니다. 그러나 내 문제는 재부팅 후 키보드가 작동을 멈추지 않았다는 것입니다. 매크로를 실행할 때까지 정상적으로 작동했습니다. 매크로를 사용하는 대부분은 일반적인 프로그래밍 키를위한 것입니다. 나는 이제 Atom 편집기를 사용하고 바로 가기 / 자동 유형 (그것이 무엇이든간에)이 필요한 것을 대부분 수행하므로 그와 함께 행복한 땅에 있습니다.
klequis

0

있다면 다음 laptop-mode-tools을 변경하여 usb auto-suspend를 완전히 비활성화 할 수 있습니다.

AUTOSUSPEND_TIMEOUT=2

/etc/laptop-mode/conf.d/runtime-pm.conf

AUTOSUSPEND_TIMEOUT=-1

이 파일에는 주석 처리 된 옵션이 있습니다.

untime-pm.conf:# Example: AUTOSUSPEND_DEVID_BLACKLIST="usbhid usb-storage"

전원 관리 설정을 미세 조정하려는 경우이 옵션으로 둘러 볼 수 있습니다.

노트:

  • usbcore는 커널로 컴파일됩니다.
  • 체계적 사용
  • 우분투 16.10
  • 리눅스 커널 4.8.0-41- 일반 # 44- 우분투

또한 다음과 같이 언급했습니다.
Antonio Medina

랩탑이 아니고 나는없이 사는 법을 배웠지 만 제안 해 주셔서 감사합니다.
klequis

랩톱 모드 도구의 실행 여부는 시스템이 랩톱인지 여부와 관련이 없습니다. 내 벽면 A / C 서버에 항상 연결되어 있었고 /etc/laptop-mode/conf.d/runtime-pm.conf 파일에서 AUTOSUSPEND_TIMEOUT =-1을 설정하면 어려움을 겪고 나서 마침내 수정되었습니다. 14.04에서 16.04로 업데이트 한 이래로.
Rezty Felty

0

나는이 같은 문제가 있었다. 나에게 해결책은 간단했지만 실제 이유는 알 수 없었습니다.

어제 PC에 두 번째 마우스를 연결했습니다. 모든 것이 잘 작동했습니다. 오늘 부팅 할 때 로그인 화면이나 데스크탑에서 키보드가 작동하지 않았습니다. 부팅하는 동안 작동했습니다. 예를 들어 BIOS에 들어갔습니다.

새 마우스를 뽑고 모든 USB 와이어를 다시 꽂은 후 키보드가 작동하기 시작했습니다.


총 USB 장치 수 (최대 2 개) 일 수 있습니다. 나는 그런 시스템을 가지고 있습니다. USB 포트 유형, USB 2 대 USB 3과 관련이있을 수도 있고 아닐 수도 있습니다. 불행히도 BIOS에는 해결하기 위해 많은 옵션이 없습니다.
피터 Mortensen


0

지난 1 년 동안이 보고서와 다른 보고서를 계속해서 읽었으며 결국 문제를 일으킨 키보드를 사용하지 않고 무선 키보드로 전환했습니다.

새 PC를 만들 때쯤에 문제가 시작되었다는 사실에 놀랐을 때까지는 전원 문제 일 수 있습니다. 그래서 키보드를 연결하기 위해 전원이 공급되는 USB 허브를 구입했습니다 . 문제가 해결되었습니다! 결국 소프트웨어 문제는 아니지만 내 새 컴퓨터의 USB 출력이 부족한 것 같습니다 (또는 키보드가 생각하는 것 같습니다).

위에서 설명한대로 간헐적 인 키보드 중단으로 어려움을 겪고 소프트웨어 측에서 아무것도 작동하지 않는 경우 시도해 볼 가치가 있습니다. 전원이 공급되는 USB 허브는 비쌀 필요가 없습니다.


아니면 USB 포트에 전류 제한이 적용 되었습니까? 예 100mA .
피터 Mortensen

0

이것은 내가 찾고있는 대답이 아니지만 ...이 문제를 해결하기 위해 이틀과 많은 시간을 보냈습니다. 나는 그것이 효과가 있는지 확인하기 위해 PCIe USB 3.0 허브를 구입했습니다.

내 결론은이 문제를 해결할 가치가 없으며 같은 목적으로 더 나은 방법이 있다는 것입니다.

내 솔루션 / 해결 방법은 텍스트 편집기의 스 니펫 기능에 의존하는 것입니다. 그것은 특정 편집기에 투자하고 더 많이 의존한다는 것을 의미 하지만 ( 아톰 일 가능성이 높음 ) 키보드 매크로보다 스 니펫을 유지 관리하기가 더 쉬워 키보드 매크로보다 더 좋습니다.

USB 하위 시스템 재설정에서 USB 에 대해 많은 것을 배웠습니다. .


약 3 개월 전에 Kinesis Advantage2를 구입했습니다. 그냥 10 년만에 입었 어 잘 작동합니다. 이 문제에서 논의 된 문제가 없습니다.
klequis 2016 년

스 니펫 (텍스트 템플릿)은 매우 유용하지만 키 조합을 제어 할 수 없으며 순수 텍스트 (?) 만 제어 할 수 있습니다. 예를 Shift + Ctrl + Tab 코드 조각에 넣을 수 없습니다 (파이어 폭스에서 왼쪽으로 다음 탭으로 이동)
피터 모텐슨
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.