Jump to content
Corsair Community

(Unofficial) Linux / OSX Driver


MSC

Recommended Posts

Can somebody help me plkease with installing on debian MX-15. I get this error after don compling it. with ./quickinstall

 

Finished!

Install ckb system-wide [Y/n]? y

Installed in /usr/bin

 

System service: systemd detected

Run the driver as a startup service [Y/n]? y

Failed to get D-Bus connection: Unknown error -1

 

Press enter to exit.

Link to comment
Share on other sites

  • Replies 824
  • Created
  • Last Reply

Top Posters In This Topic

K70 RGB RapidFire CH-9101014-NA

ckb driver: 0.2.6

Linux (non-systemd)

 

I'd like to change my colors from red to blue. I launch ckb, and got the message "No devices connected" under the version. Then looked at github and saw the following:

 

Problem: ckb says "No devices connected" or Driver inactive"

Solution: Try rebooting the computer and/or reinstalling ckb. Try removing the keyboard and plugging it back in. If the error doesn't go away, try the following:" ... but there is no "following".

 

Anyone have thoughts what might be going on?

Link to comment
Share on other sites

Has anybody been able to get the older non RGB K65 working with CKB. I see it is not listed as being supported but If the K70 is supported then I am hopeful.

 

The K65 is unusable in OSX at the moment unless switched to BIOS mode and even then a few keys dont work including right shift and the apostrophe.

Link to comment
Share on other sites

Hello

 

Thank you MSC and everyone else who made this driver possible.

 

I have 2 feature requests for the CKB driver:

1. Add an option to start the driver minimized cause if you add it to autostart programs it always opens the window when you log in.

2. If possible add an option to download the firmware from the server. I have no idea where to find the firmware manually other than booting windows and using CUE to check for firmware updates.

 

 

I only have M65 RGB mouse CH-9000109-EU, Firmware version is 2.03.

I am running Arch Linux x86_64 currently on kernel 4.7.2

Using xf86-input-libinput

Currently using ckb-git v0.2.6.r1.geb1fe4e from AUR which seems to be quite older than the last commit upstream on the github.

 

Anyways I can set the DPI, change animations, save profiles and all that. So in short everything I tested with the driver works fine.

 

Unfortunately whether I have the driver installed or not I'm getting this error during boot, very early actually. Been having this same error during boot time since I bought the mouse since 20 February 2016 to this day. If I unplug the M65 mouse error disapears and ofcourse doesn't appear with other mice.

 

[bl4de@Q9400 ~]$ journalctl -p 3 -xb
-- Logs begin at Tue 2016-08-23 17:39:32 BST, end at Thu 2016-09-08 05:38:55 BST. --
Sep 08 05:17:47 Q9400 kernel: usbhid 4-1:1.2: couldn't find an input interrupt endpoint

 

About 3-5 months ago I had to enter this to kernel command line to avoid super long boot times usbhid.quirks=0x1B1C:0x1B12:0x20000408

But eventually it wasn't required and system booted up normally without that parameter. Maybe it was the kernel update that fixed it or maybe Corsair firmware, not sure.

Also it doesn't matter if I use xf86-input-libinput or xf86-input-evdev I still get the same error.

 

The result of this is that I'm unable to change mouse parameters from Gnome shell's control panel such as mouse sensitivity. To have the option appear I plug in 2$ mouse then the options immediately appear and I can change sensitivity. I unplug the 2$ mouse and options disappear. It seems like the boot error is somehow connected with xorg mouse recognition or something like that.

 

So my questions are these:

 

1. Is my mouse defective or is everyone experiencing same boot error?

 

2. Corsair released new M65 version which is CH-9300011. Specifications say it's 100 dpi - 12000 dpi. My mouse specifications say 50 dpi - 8200 dpi

So I assume the new version is using a different laser sensor? Maybe these Linux problems have been fixed with the new sensor/firmware for it?

 

3. Is it possible to manually download the firmware from Corsair website or anywhere else? I don't feel like relying on Windows to be able to download mouse firmware because CKB driver only allows to select file. Where do I obtain this firmware file from?

 

 

 

---------------------------------------------------------------------------------------------------------------------------------------

I guess I should blame myself for buying this mouse. I love the physical build quality, and the aluminum frame, mouse feels very comfortable and hefty. But when it comes to software side of things it sucks. I should have done more research before buying this mouse to use with Linux. Don't much care for the RGB lighting and custom DPI settings. The CUE on Windows is buggy. I wish they made this mouse without any drivers or RGB lighting. Just some preset DPI settings and a generic firmware which would work on any system without any problems like you know driverless keyboards.

Edited by BL4DE
Link to comment
Share on other sites

  • 2 weeks later...

I've been trying for some time now to compile ckb-daemon on CentOS/RHEL 6 and 7. I've tried it on multiple systems too - all loaded with the latest greatest libraries required.

 

I've managed to get the ckb tool to compile (and run), but it is useless without the daemon. I even have the animations compiled. I've tried different branches of code.

 

I don't believe I've seen any posts here about installing on a RedHat OS.

 

Does anyone have a compiled daemon for CentOS 6?

 

(Please don't suggest I use a different OS - that's a whole different discussion. CentOS 6 is where I will be using the K70.)

 

Here's the latest compile attempt (truncated for space):

 

/ckb-testing/src/ckb-daemon]$ make

make -f Makefile.Debug

make[1]: Entering directory `/ckb-testing/src/ckb-daemon'

gcc -c -std=gnu99 -Wno-unused-parameter -Werror=all -g -fPIC -DCKB_VERSION_STR=\"`cat /ckb-testing/src/ckb-daemon/../../VERSION`\" -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o debug/device_vtable.o device_vtable.c

device_vtable.c:29: error: unknown field 'hwload' specified in initializer

device_vtable.c:29: warning: initialization from incompatible pointer type

device_vtable.c:30: error: unknown field 'hwsave' specified in initializer

device_vtable.c:30: warning: excess elements in union initializer

device_vtable.c:30: warning: (near initialization for 'vtable_keyboard')

.

.

.

device_vtable.c:162: error: unknown field 'updatedpi' specified in initializer

device_vtable.c:163: warning: excess elements in union initializer

device_vtable.c:163: warning: (near initialization for 'vtable_mouse')

make[1]: *** [debug/device_vtable.o] Error 1

make[1]: Leaving directory `/ckb-testing/src/ckb-daemon'

make: *** [debug] Error 2

Link to comment
Share on other sites

Thanks!

 

I kind of know what you're saying - I'm not a developer by any means, so I rarely ever compile source code.

 

How/where would I check this?

 

I see a command.h in:

 

The local ckb-daemon directory.

 

<and>

 

/usr/src/kernels/2.6.32-431.11.2.el6.x86_64/include/net/sctp/command.h

 

I don't know where to define which location to use. I assume it's using the file in /ckb-testing/src/ckb-daemon/ - where I run "make". Yes?

Edited by Dough-Boy
Link to comment
Share on other sites

You should have a command.h in the same directory as your device_vtable.c file is (<maybe somewhere>/ckb/src/src-daemon/).

That's because in the gcc-statement you gave us, you have two include directories:

-I. what means the directory /ckb-testing/src/ckb-daemon

and -I/usr/lib64/qt5/mkspecs/linux-g++ which is absolute.

 

BTW: Is it correct that you cloned the testing branch into "/" ? You shouldn't do this because of permissions to be granted. Move it to your home directory.

 

What I do not understand is the following: When I do the compilation of device_vtable.c, the sequence of Include-dirs is inverted: First the global g++ directory, and then the local dir:

 

"-I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I."

(don't mention that I have a different system so the g++-dir is different)

 

Can you change it in your makefile to see if it has any effect?

In the Makefile in /ckb-testing/src/ckb-daemon there should be a line beginning with "LIBS" or similar.

Link to comment
Share on other sites

OK. Making it a little further ...

 

I had to use a newer gcc (and gcc-c++). This time, the ckb-daemon compiled, but not the utility ckb. Both versions compile the animations.

 

I assume they will work together, since the other underlying libraries are the same.

 

Now, I can't get ckb to see the keyboard.

 

I added this to my kernel command line (then rebooted):

 

usbhid.quirks=0x1B1C:0x1B09:0x0x20000408

 

Here's what ckb-daemon shows (and never changes):

 

# ./ckb-daemon

ckb: Corsair RGB driver beta-v0.2.6+d01

Root controller ready at /dev/input/ckb0

 

And here's my system log when I connect the keyboard:

 

Sep 27 16:28:03 kernel: usb 3-2: new full speed USB device number 9 using uhci_hcd

Sep 27 16:28:03 kernel: usb 3-2: New USB device found, idVendor=1b1c, idProduct=1b36

Sep 27 16:28:03 kernel: usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3

Sep 27 16:28:03 kernel: usb 3-2: Product: Corsair Gaming K70 LUX Keyboard

Sep 27 16:28:03 kernel: usb 3-2: Manufacturer: Corsair

Sep 27 16:28:03 kernel: usb 3-2: SerialNumber: (removed for posting)

Sep 27 16:28:03 kernel: usb 3-2: configuration #1 chosen from 1 choice

Sep 27 16:28:03 kernel: input: Corsair Corsair Gaming K70 LUX Keyboard as /devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2:1.0/input/input22

Sep 27 16:28:03 kernel: generic-usb 0003:1B1C:1B36.0010: input,hidraw0: USB HID v1.11 Keyboard [Corsair Corsair Gaming K70 LUX Keyboard ] on usb-0000:00:1a.0-2/input0

Sep 27 16:28:13 kernel: drivers/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed

Sep 27 16:28:13 kernel: generic-usb 0003:1B1C:1B36.0011: timeout initializing reports

Sep 27 16:28:13 kernel: input: Corsair Corsair Gaming K70 LUX Keyboard as /devices/pci0000:00/0000:00:1a.0/usb3/3-2/3-2:1.1/input/input23

Sep 27 16:28:13 kernel: generic-usb 0003:1B1C:1B36.0011: input,hiddev96,hidraw1: USB HID v1.11 Keyboard [Corsair Corsair Gaming K70 LUX Keyboard ] on usb-0000:00:1a.0-2/input1

Sep 27 16:28:13 kernel: usbhid 3-2:1.2: couldn't find an input interrupt endpoint

 

I have the K70 LUX (non-RGB), which I believe is supposed to work with the "newdev" source code - I am using that.

 

I feel I'm missing something simple... Maybe a usb driver? Note: I am compiling on a different system, and running on this one. The only packages I've had to add to this one is the qt5 stuff (in order to even run the executable). Maybe there's more?

 

<edit> Based on what the kernel is seeing, I changed the kernel command to: usbhid.quirks=0x1B1C:0x1B36:0x0x20000408

 

Still no luck. Played with the BIOS switch on the keyboard, and unplugged/plugged in the keyboard. Nope.

Edited by Dough-Boy
Link to comment
Share on other sites

Hopefully we can get an update for it to work properly in macOS Sierra 10.12

 

Corsair should have already stepped in and took over this project for Mac and Linux users. It's ridiculous, that company that shaves pubes even took some initiative for their users.

Link to comment
Share on other sites

OK - getting a little further ...

 

Thanks for all pointers so far!!!

 

Found this:

https://github.com/ccMSC/ckb/issues/386

 

So, I changed these two lines in src/ckb-daemon/usb.h

#define P_K70_RFIRE 0x1b36

#define P_K70_RFIRE_STR "1b36"

 

Now I can run ckb-daemon, and launch ckb. I haven't played too much with the utility, but I have limited access now. It doesn't seem fully functional.

 

Also, if I stop ckb-daemon, I lose keyboard access completely until I reboot, or unplug/plug the USB connections.

 

Here's the out from ckb-daemon:

# cat ckb.log

ckb: Corsair RGB driver beta-v0.2.6+d01

Root controller ready at /dev/input/ckb0

Connecting Corsair Gaming K70 LUX Keyboard at /dev/input/ckb1

Starting input thread for /dev/input/ckb1

[E] loadrgb_kb (led_keyboard.c:211): Bad input header

[W] _start_dev (device.c:45): Unable to load hardware profile

Setup finished for /dev/input/ckb1

 

I'm guessing it's because there isn't full support for the K70 LUX (non-RGB) - it's just kind of hacked right now.

 

Thoughts?

Edited by Dough-Boy
Link to comment
Share on other sites

OK, the two error lines are correct for your KB:

The first means, the KB does not give you any information about the colors currently configured: OK, you don't have any colors.

The second message means that the driver isn't able to send a hw-profile configuration to the KB. Because these HW-Profiles are used to change color-modes quickly by pressing a button, there ist no function in the K70 non-RGB for it.

Next: It is correct that you get a problem when your daemon dies (indeed, this is a problem when debugging the daemon, but we have to live with it...). So the daemon should be reactivated by your init-system (normally done by service or servicectl).

Link to comment
Share on other sites

I have a Corsair keyboard which works fine for me, and I now have a corsair M65 mouse, but after installing the driver and software for Linux, I can't actually find any Mouse settings, in fact the software only detects the the keyboard and says only one device connected. What am I missing?
Link to comment
Share on other sites

Hey there - Thank you for this great driver/software; I've been running ckb for a while now. This has really helped bring out the features on my K70 RGB keyboard!

 

I do, however, switch the Left Option key with the Left CMD key. Unfortunately when I do this, ie. binding the Left CMD to the Left Option, and the Left Option to the CMD Key; I'm unable to get any response from the new Left Option binding.

 

Would you be able to help me? It's like the key doesn't register at all with that binding. On any other key, this bind seems to work fine :bigeyes:

 

Kind Regards

Link to comment
Share on other sites

Is Corsair ever going to support macOS officially? They've been benefitting from the kindness of strangers long enough. Look at all these people who bought their keyboards because a friendly developer made it compatible for FREE.

 

Seriously, it would take their dev team a day to come up with something. I paid for this (expensive) keyboard, and now it's collecting dust.

 

If you haven't upgraded to Sierra yet, don't. I'm back to my old flat Apple keyboard, and I'm not happy about it. Countless other weird bugs too.

Link to comment
Share on other sites

Any updates on the many issues with Sierra? There are lots of reported issues on the git hub page without any response from the dev.

 

The dev hasnt been active on github in a while as far as I can see. I think the only solution is to fork the repo and edit it for your needs from here on out. (Sorry if you do not know how to code in C and C++)

Link to comment
Share on other sites

The dev hasnt been active on github in a while as far as I can see. I think the only solution is to fork the repo and edit it for your needs from here on out. (Sorry if you do not know how to code in C and C++)

 

Well, if you fix it, share please. I'm sure a lot of people would donate to the cause.

 

Otherwise, I might just sell my K70 and purchase the next best thing that has true macOS support. Anyone know good alternatives?

Link to comment
Share on other sites

Otherwise, I might just sell my K70 and purchase the next best thing that has true macOS support. Anyone know good alternatives?
Do you asking for alternatives from other manufacturers? That's not allowed here (see number 9 of the forum rules). :roll:

 

If you asking for alternatives from Corsair: I don't think there is any Corsair keyboard with official Mac OS support. ;):

Link to comment
Share on other sites

The dev hasnt been active on github in a while as far as I can see. I think the only solution is to fork the repo and edit it for your needs from here on out. (Sorry if you do not know how to code in C and C++)

 

Yea I noticed his last post was in June. Sadly I do not know C and C++ so I am SOL unless someone else figures out these issues with OS X Sierra. The only issue I have left is not being able to use a modifier key while clicking the mouse.

Link to comment
Share on other sites


×
×
  • Create New...