Bug 241316

Summary: usb: Corsair Gaming Strafe Keyboard works at loader, but not install
Product: Base System Reporter: kingstewie
Component: usbAssignee: freebsd-usb (Nobody) <usb>
Status: Closed FIXED    
Severity: Affects Some People CC: hselasky
Priority: --- Keywords: needs-qa
Version: 12.0-RELEASE   
Hardware: amd64   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233884
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224592
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193279

Description kingstewie 2019-10-17 19:32:25 UTC
Been having issues with usb keyboard on FreeBSD 12.0-RELEASE installer. I can boot directly to the install menu but FreeBSD wont recognize ANY key input. I do know that it recognizes my keyboard on startup, for instance it will tell me that it detects my keyboard(Corsair Gaming Strafe Keyboard) but as soon as I get to the menu for installing my keyboard's error light blinks and I am unable to use the keyboard. I have tried Single user mode, I have tried remaking the usb using different programs, etc and still the same issue. I have also tried using the FreeBSD 11.3-RELEASE, and FreeBSD 13.0-CURRENT iso's and have the same issue.

P.S.: The Logitech G403 mouse works just fine on all of those iso's as well. 

Would greatly appreciate help with this. 

Thank You

My system Specs are:

Ryzen 7 2700X CPU
16GB G.Skill 3000mhz RAM
Asus Crosshair VI Hero Motherboard
Nvidia GTX 1080Ti GPU
Samsung 860 EVO SSD
Thermaltake Toughpower Grand 850W PSU
Logitech G403 Gaming Mouse
Corsair Gaming Strafe Keyboard
Comment 1 Hans Petter Selasky freebsd_committer freebsd_triage 2019-10-17 20:19:02 UTC
Is this a gamer's keyboard? If yes, do you have a non-gamer's keyboard to try?

If you know the VID AND PID values of your device you can try entering something like this in the loader prompt:

set hw.usb.quirk.0="0xXXXX 0xYYYY 0 0xffff UQ_KBD_BOOTPROTO"
boot

XXXX is VID (USB vendor ID)
YYYY is PID (USB product ID)

--HPS
Comment 2 kingstewie 2019-10-18 01:49:50 UTC
(In reply to Hans Petter Selasky from comment #1)
Hi thank you so much for answering. I forgot one major detail about the keyboard is that it works when at the FreeBSD bootloader/menu prompt for instance when entering the commands you told me. As far as other keyboards go I have nothing but gaming keyboards. However my all of my other gaming keyboards are indeed working(one of the other ones being the redragon k552 gaming keyboard.

Thank You
Comment 3 kingstewie 2019-10-18 01:53:18 UTC
(In reply to louise9841 from comment #2)
Also to add, I did input the commands you told me to and it still does not work unfortunately.
Comment 4 Hans Petter Selasky freebsd_committer freebsd_triage 2019-10-18 08:18:31 UTC
Currently FreeBSD doesn't support gamer keyboards that well.

This is on the TODO list.

--HPS
Comment 5 kingstewie 2019-11-02 06:18:54 UTC
Hello, I have a question about how I would know if/and/or when the bug gets fixed and what version it gets fixed in(11.3-stable, 12.0-stable, or 13.0-current)? Also is there any debug info specifically on my machine that would be needed for devs to help fix this?

Thank You
Comment 6 Hans Petter Selasky freebsd_committer freebsd_triage 2019-11-02 15:49:10 UTC
You might want to check the revision history of sys/dev/usb/quirk/usb_quirk.c .

Usually patches are MFC to 11 and 12. Sometimes 10.

--HPS
Comment 7 Kubilay Kocak freebsd_committer freebsd_triage 2019-12-20 09:31:39 UTC
(In reply to kingstewie from comment #5)

It would be handy to get more detailed information about your device:

- pciconf -lv
- usbconfig output for the device (See: https://wiki.freebsd.org/USB#Debugging_USB)

If necessary, have a second keyboard attached to get past the installer, or use something like NomadBSD [1] to live boot off a USB key.

Regarding how you know what versions get fixes, when bugzilla issues are resolved by commit, the commits are made to particular branches of the repositories, which indicates what FreeBSD versions the change was applied to.

There's additional reports regarding this and other Corsair keyboards, see also:

https://forums.freebsd.org/threads/corsair-keyboard-rgb-doesnt-work-during-install.68950/

In particular if your keyboard has a "legacy mode" switch, people have reported that that gets them their keyboard working (but with flashy lights)

[1] https://nomadbsd.org/
Comment 8 Kubilay Kocak freebsd_committer freebsd_triage 2019-12-20 09:35:56 UTC
There is a UQ_KBD_BOOTPROTO quirk that one can attempt to try, see bug 233884 and bug 224592. You'll need your devices vendor/device ID's
Comment 9 Hans Petter Selasky freebsd_committer freebsd_triage 2020-02-21 09:09:46 UTC
Please re-open if this issue is not fixed in latest 11- and 12-stable.

https://svnweb.freebsd.org/changeset/base/358211

--HPS