usb_submit_urb(ctrl) 失败:-1 Corsair k65 RGB 键盘

Rom*_*ano 5 grub boot arch-linux usb keyboard

我最近购买了 Corsair k65 RGB 键盘。当然,一开始它不起作用,但是使用 ckb-opensource 驱动程序,我可以在我的 Arch 系统上运行所有内容。

一切都很顺利,直到我每次启动系统时都开始出错:

usb_submit_urb(ctrl) 失败:-1

出现在我的屏幕上,系统冻结了 30 秒。之后键盘工作,我可以登录我的系统。但错误是什么意思?

[11.238682]隐藏通用0003:1B1C:1B17.0002:usb_submit_urb(ctrl)失败:-1
[11.239526] hid-generic 0003:1B1C:1B17.0002: 初始化报​​告超时
[ 11.239959] 输入:Corsair Corsair K65 RGB 游戏键盘 /devices/pci0000:00/0000:00:1c.7/0000:07:00.0/usb5/5-1/5-1:1.1/0003:1B71C:1B1B .0002/输入/输入6
[11.291882] hid-generic 0003:1B1C:1B17.0002: input,hidraw4: USB HID v1.11 键盘 [Corsair Corsair K65 RGB 游戏键盘] on usb-0000:07:00.0-1/input1
[21.291319] hid-generic 0003:1B1C:1B17.0003: 初始化报​​告超时
[21.291585] hid-generic 0003:1B1C:1B17.0003: hiddev0,hidraw5: USB HID v1.11 设备 [Corsair Corsair K65 RGB 游戏键盘] on usb-0000:07:00.0-1/input2
[31.290650]隐藏通用0003:1B1C:1B17.0004:初始化报告超时
[31.290905] hid-generic 0003:1B1C:1B17.0004: hiddev0,hidraw6: USB HID v1.11 设备 [Corsair Corsair K65 RGB 游戏键盘] on usb-0000:07:00.0-1/input3

如果我使用lsusb我得到:

总线 005 设备 002:ID 1b1c:1b17 Corsair

我听说“usbhid quirks”是一种可能的解决方法。但是我如何使用它?或者有没有可能的解决方案?

Rom*_*ano 6

适用于所有具有 usbhid 怪癖的海盗船机械键盘的解决方案。

sudo nano /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

或您喜欢使用的任何其他编辑器而不是 nano。
你会看到这一行

GRUB_CMDLINE_LINUX_DEFAULT=""
Run Code Online (Sandbox Code Playgroud)

确保将 usbhid.quircks 放在引号之间并保存。
我而言,我不得不将其更改为此行

GRUB_CMDLINE_LINUX_DEFAULT="usbhid.quirks=0x1B1C:0x1B17:0x20000408"
Run Code Online (Sandbox Code Playgroud)

之后,更新grub

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

*如果未找到该命令,则您可能运行了 grub 2.0。请改用此命令。update-grub 命令只是一个运行 grub-mkconfig 的脚本

sudo grub-mkconfig -o /boot/grub/grub.cfg
Run Code Online (Sandbox Code Playgroud)

完成后,重新启动系统。
现在它应该可以正常工作并且不会出现该消息。

使用键盘的怪癖。您可以将此列表用于 Corsair 键盘。

K65 RGB: usbhid.quirks=0x1B1C:0x1B17:0x20000408
K70: usbhid.quirks=0x1B1C:0x1B09:0x0x20000408
K70 RGB: usbhid.quirks=0x1B1C:0x1B13:0x20000408
K95: usbhid.quirks=0x1B1C:0x1B08:0x20000408
K95 RGB: usbhid.quirks=0x1B1C:0x1B11:0x20000408
Strafe: usbhid.quirks=0x1B1C:0x1B15:0x20000408
Strafe RGB: usbhid.quirks=0x1B1C:0x1B20:0x20000408
M65 RGB: usbhid.quirks=0x1B1C:0x1B12:0x20000408
Sabre RGB Optical: usbhid.quirks=0x1B1C:0x1B14:0x20000408
Sabre RGB Laser: usbhid.quirks=0x1B1C:0x1B19:0x20000408
Scimitar RGB: usbhid.quirks=0x1B1C:0x1B1E:0x20000408
Run Code Online (Sandbox Code Playgroud)

更新 Linux 内核 4.11:HID 修复支持更多 Corsair 鼠标和键盘。K65RGB 和 K70RGB 在 Linux 4.11 中针对这些设备进行了 HID 怪癖修复。

见提交:https : //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=deaba636997557fce46ca7bcb509bff5ea1b0558

您可以在终端中找到您的内核版本以使用此命令 uname -r

总而言之,如果您使用的是 Linux 内核 4.11,则您可能不需要通过此过程来添加 usbhid 怪癖。