我最近将 Ubuntu 作为双启动系统安装到我的主设备上。我一直遇到启动时间相当慢的问题(相对而言)。大约需要 40 秒。我似乎找到了这个问题,但我真的不知道如何解决它。当我运行
dmesg
我得到以下信息:
[ 2.482055] Switched to clocksource tsc
[ 11.278410] hid-generic 0003:1B1C:1B11.0002: usb_submit_urb(ctrl) failed: -1
[ 11.278446] hid-generic 0003:1B1C:1B11.0002: timeout initializing reports
[ 11.278644] input: Corsair Corsair K95 RGB Gaming Keyboard as /devices/pci0000:00/0000:00:1c.4/0000:03:00.0/usb3/3-2/3-2:1.1/0003:1B1C:1B11.0002/input/input8
[ 11.334075] hid-generic 0003:1B1C:1B11.0002: input,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair K95 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input1
[ 21.334396] hid-generic 0003:1B1C:1B11.0003: timeout initializing reports
[ 21.334535] hid-generic 0003:1B1C:1B11.0003: hiddev0,hidraw5: USB HID v1.11 Device [Corsair Corsair K95 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input2
[ 31.334376] hid-generic 0003:1B1C:1B11.0004: usb_submit_urb(ctrl) failed: -1
[ 31.334411] hid-generic 0003:1B1C:1B11.0004: timeout initializing reports
[ 31.334548] hid-generic 0003:1B1C:1B11.0004: hiddev0,hidraw6: USB HID v1.11 Device [Corsair Corsair K95 RGB Gaming Keyboard ] on usb-0000:03:00.0-2/input3
完整结果请点击这里 http://pastebin.com/7wbT8iW6
我遇到了这款键盘的非官方驱动程序。我已经将内核更新到 4.0.4-040004-generic 以尝试修复问题。结果没有任何变化。安装该驱动程序是否可能解决问题?我是否应该研究其他解决方案?感谢您的帮助。
答案1
免责声明:我是 Linux 新手,我在此处提供的信息取自另一个论坛中的类似问题和解决方案。我也已将这些步骤应用于我自己的机器,并验证了它在我的机器上有效。我不认为这是针对此场景的所有变体的普遍接受的解决方案。这是我提出的“适合我”的解决方案,我意识到它可能也为其他人工作。我一定会熟悉蛴螬然后才能继续。
问题
所述问题与以下 dmesg 行有关:
[ 11.278410] hid-generic 0003:1B1C:1B11.0002: usb_submit_urb(ctrl) failed: -1
...
[ 21.334396] hid-generic 0003:1B1C:1B11.0003: timeout initializing reports
这会增加大约 30 秒的启动时间。它抱怨的设备不是实际的键盘控制器,而是键盘 LED 背光控制器(从技术上讲,它不是键盘),并且不知道如何处理它。如果您的键盘与我的键盘类似(我有 K70),那么它有两根 USB 电缆,一根用于背光,另一根用于键盘。
解决方案 - 为内核添加 USB HID 探测功能
从终端运行以下命令:
lsusb | grep -i '1B1C:1B11'
要验证投诉的设备dmesg
确实是您的Corsair K95 键盘。或者,您可以运行lsusb -v | less
并目视确认该设备没有可用的报告描述符。
将以下标志添加到您的grub2
配置中:
usbhid.quirks=0x1b1c:0x1b11:0x20000000
笔记:0x1b1c:0x1b11
对应于您的背光控制器,已使用 进行验证lsusb
并报告dmesg
。
笔记:0x
前缀很重要,如果没有这个前缀,解析器将失败。
最简单的方法是编辑/etc/default/grub
文件并将其添加到GRUB_CMDLINE_LINUX_DEFAULT
变量中。这是我的Corsair K70 键盘(不要简单地复制/粘贴因为您的可能有所不同!):
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbhid.quirks=0x1b1c:0x1b13:0x20000000"
保存更改并运行:
sudo update-grub
现在重新启动您的机器,您将体验到更快的启动到登录时间。