0.環境
- Linux
- Ubuntu 16.04 LTS (16.04.3)
1.現象
サスペンド復帰後にUSBキーボードが効かなくなってしまう。
(USBを挿し直すと復活する・・)
2.対策方法
dmesgコマンドで確認すると、「usb_submit_urb(ctrl) failed: -1」というエラーが発生していて、どうもキーボードの認識に問題がある模様。
ちなみにキーボードは、中華製の「I-600」というキーボード。
$ lsusb
Bus 004 Device 003: ID 05e3:0732 Genesys Logic, Inc. All-in-One Cardreader
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 04d9:a0cd Holtek Semiconductor, Inc.
Bus 001 Device 005: ID 046d:0994 Logitech, Inc. QuickCam Orbit/Sphere AF
Bus 001 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
上記、「Bus 001 Device 002: ID 04d9:a0cd Holtek Semiconductor, Inc. 」が問題のキーボードとなる。
以下を参照して対策を行った。
$ sudo vi /etc/default/grub
11 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
12 GRUB_CMDLINE_LINUX=""
12行目を以下のように変更してセーブする。
11 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
12 GRUB_CMDLINE_LINUX="usbhid.quirks=0x04d9:0xa0cd:0x00000008"
"0x04d9:0xa0cd"の部分が、USBキーボード「Bus 001 Device 002: ID 04d9:a0cd Holtek Semiconductor, Inc. 」のID部分となる。
セーブしたら、リブートする。
$ sudo update-grub
以上、無事解決しました。