usb_submit_urb(ctrl) failed: -1 Corsair k65 RGB keyboard
Solution 1
Solution for all Corsair mechanical keyboards with usbhid quirks.
sudo nano /etc/default/grub
or any other editor you like to use instead of nano.
you will see this line
GRUB_CMDLINE_LINUX_DEFAULT=""
make sure to put the usbhid.quircks between the quotes and save that.
In my case I had to change it to this line
GRUB_CMDLINE_LINUX_DEFAULT="usbhid.quirks=0x1B1C:0x1B17:0x20000408"
after that, update grub
sudo update-grub
*If that command is not found, you probably run grub 2.0. Use this command instead. update-grub command is just a script which runs the grub-mkconfig
sudo grub-mkconfig -o /boot/grub/grub.cfg
after that is done, reboot the system.
Now it should work normal and the message won't appear.
Use the quirks for your keyboards. You can use this list below for Corsair keyboards.
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
Update Linux kernel 4.11: HID fixes are support for some more Corsair mice and keyboards. K65RGB and K70RGB have their HID quirk fixes in Linux 4.11 for these devices.
You can find out your kernel version to use this command in the terminal
uname -r
to sum up, if you have Linux kernel 4.11 there's a chance you don't need to go through this process for adding usbhid quirks.
Solution 2
Just wanted to add that I had to use a different code to get my recently purchased K70 Lux working properly on Linux Mint 18 (4.4.0-21 kernel).
K70 Lux: usbhid.quirks=0x1B1C:0x1B36:0x0x20000408
The code is based on the output of lsusb
. In my case, I had
Bus 003 Device 002: ID 1b1c:1b36 Corsair
Comparing this to the codes in the previous answer tipped me off that I needed to change the USB identifier to match my device.
Solution 3
This answer is entirely based on @rsking84 and @romano's answer but uses a different approach to allow you to
- Getting this working without restarting your computer
- Debug without restarting your computer
Referring to this post, romano's approach works by setting a kernel command line argument which in turn gets used to set a module parameter for the usbhid module when it gets loaded. Sometimes usbhid will be compiled into the kernel in which case this appears to be the only way to set this parameter.
Module parameters can also be set when the module is loaded (or reloaded). This means one case test paramters at runtime using:
/usr/bin/sudo rmmod usbhid
/usr/bin/sudo modprobe usbhid.quirks=0x1B1C:0x1B17:0x200004
cat /sys/module/usbhid/parameters/quirks
(If this goes wrong and the keyboard stops working you may be able to fix this by unplugging and replugging the keyboard)
Once you have got this working using (possibly changing the product and vendor id's as in @rsking84's answer), you can add options to /etc/modprobe.d/ushbid.conf
like so:
options usbhid quirks=0x1B1C:0x1B17:0x200004
This can be tested by running rmmod usbhid
once more and replugging the keyboard.
Romano
Updated on September 18, 2022Comments
-
Romano almost 2 years
I recently purchased a Corsair k65 RGB keyboard. Of course it didn't work at first, but with an ckb-opensource driver I got everything working on my arch system.
Everything went so well until I started to get errors whenever I boot my system:
usb_submit_urb(ctrl) failed: -1
appears on my screen and the system freezes for 30sec. After that the keyboard works and I can login on my system. But what does the error mean?
[ 11.238682] hid-generic 0003:1B1C:1B17.0002: usb_submit_urb(ctrl) failed: -1 [ 11.239526] hid-generic 0003:1B1C:1B17.0002: timeout initializing reports [ 11.239959] input: Corsair Corsair K65 RGB Gaming Keyboard as /devices/pci0000:00/0000:00:1c.7/0000:07:00.0/usb5/5-1/5-1:1.1/0003:1B1C:1B17.0002/input/input6 [ 11.291882] hid-generic 0003:1B1C:1B17.0002: input,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair K65 RGB Gaming Keyboard] on usb-0000:07:00.0-1/input1 [ 21.291319] hid-generic 0003:1B1C:1B17.0003: timeout initializing reports [ 21.291585] hid-generic 0003:1B1C:1B17.0003: hiddev0,hidraw5: USB HID v1.11 Device [Corsair Corsair K65 RGB Gaming Keyboard] on usb-0000:07:00.0-1/input2 [ 31.290650] hid-generic 0003:1B1C:1B17.0004: timeout initializing reports [ 31.290905] hid-generic 0003:1B1C:1B17.0004: hiddev0,hidraw6: USB HID v1.11 Device [Corsair Corsair K65 RGB Gaming Keyboard] on usb-0000:07:00.0-1/input3
If I use
lsusb
I get:Bus 005 Device 002: ID 1b1c:1b17 Corsair
I have heard about "usbhid quirks" is a possible workaround. But how do I use this ? Or is there any possible solution for this ?
-
Erik van de Ven about 8 yearsIt seems like this person had a similar issue: bbs.archlinux.org/viewtopic.php?id=192969 Check out Staubsauger's solution, maybe editing the
/etc/default/grub
file works for you as well. -
Romano about 8 yearsShould I also use usbhid.quirks=0x1B1C:0x1B12:0x20000000" ? And resume=UUID= ... should probably also different? If they both have to be different, how do I know what to use?
-
Erik van de Ven about 8 yearsWell, as far as I can tell it needs to be
<VID>:<PID>:<Quirks>
, but I don't know where you can get that information, maybe this link helps you a bit: forums.opensuse.org/showthread.php/… -
Romano about 8 yearsI solved it. I will write the solution up.
-
Att Righ about 7 yearsI get the same or a similar issue when I use an easterntech mechanical keyboard (a cheap make of mechanical keyboard marketed under a few different brands). This mostly effects me when I plug the keyboard in again after boot. The delay is 10 seconds for me rather than 30... although 10 seconds feels like an awfully long time.
-
-
nightcod3r over 7 yearsThis fixed a problem with a keyboard that was not responding after resuming (askubuntu.com/questions/811162/…). I have a similar problem with two USB speakers: have to unplug and plug again after resuming. What would be the parameters for this device?