Jump to content
Corsair Community

(Unofficial) Linux / OSX Driver


MSC

Recommended Posts

  • Replies 824
  • Created
  • Last Reply

Top Posters In This Topic

ever unix copy command I know does .... COMMAND src dest

except memcpy()

 

Download + Source code:
https://github.com/ccMSC/ckb

 

Supported devices:

K65 RGB

K70 RGB and non-RGB

K95 RGB and non-RGB

M65 RGB mouse

 

Thank You MSC!

 

Just got my K95 RGB. I appreciate the work you've done! If there is anything I can do to help ya out don't hesitate to ask!

 

I would like you to consider adding the following note to the linux install documentation.

>> On Fedora, (verified in Fedora 22) the libudev package must be installed as part of the systemd-devel package.

Edited by jerunh
spelling
Link to comment
Share on other sites

I don't think the K40 is a RGB keyboard. You cannot change the color of the LEDs (except with a soldering iron and new LEDs ;)).

 

Well, the box states that it has RGB "16.8 million color backlighting" with three levels of illumination & can do "per key colors" http://www.corsair.com/en-us/raptor-k40-gaming-keyboard

 

Not up to the $150 or so that the better keyboards are, but not a bad keyboard.....

 

Would just like to be able to use more of what it's got available.

Link to comment
Share on other sites

The descriptors look like those from the non-RGB keyboards, and I was misled by the lack of RGB in the name.

 

From the descriptors, I think it may be harder than just add an ID in ckb to make it work. But since you have access to a Windows machine you could try to sniff the USB traffic with USBPcap.

Edited by Clément
Link to comment
Share on other sites

The descriptors look like those from the non-RGB keyboards, and I was misled by the lack of RGB in the name.

 

From the descriptors, I think it may be harder than just had an ID in ckb to make it work. But since you have access to a Windows machine you could try to sniff the USB traffic with USBPcap.

 

Thank you for the reply & I'll check & post the results back this weekend.

Link to comment
Share on other sites

I just purchased the Cosair K70 RGB, and installed the latest driver 0.2.1, however i noticed when i went to configure the keys for some reason it thinks that the ENTER key is a big ENTER key, however there is actually the "| and \" key above the enter key that doesn't light up under Mac. I'm presuming this is a bug as I plug it into Windows and it works without issues.
Link to comment
Share on other sites

The descriptors look like those from the non-RGB keyboards, and I was misled by the lack of RGB in the name.

 

From the descriptors, I think it may be harder than just add an ID in ckb to make it work. But since you have access to a Windows machine you could try to sniff the USB traffic with USBPcap.

 

OK--I've ran USBPcap & got a traffic run--Don't know how long a run you need--According to USBPcap site--find the device to sniff--start capture & unplug/plug-in device to get descriptors....Done that. If you need something more--just tell me what you need. File is corsairk40--added .txt after so the forums would upload it.

corsairk40.txt

Edited by debianmainused
Link to comment
Share on other sites

OK--I've ran USBPcap & got a traffic run--Don't know how long a run you need--According to USBPcap site--find the device to sniff--start capture & unplug/plug-in device to get descriptors....Done that. If you need something more--just tell me what you need. File is corsairk40--added .txt after so the forums would upload it.

 

Edit: added 2 more files--opened them with wireshark & didn't see anything different that the first one, but thought I'd add them anyway.....

corsairk40-1.txt

corasirk40-2.txt

Link to comment
Share on other sites

You need to make captures while changing settings with Corsair software. Keep your captures short and simple, note everything you did while capturing.

 

There are few vendor specific control transfer in "corsairk40.txt" and "corasirk40-2.txt", the same ones. Two of them may be the same as for the K90: setting playback to software mode (bRequest=2), and backlight brightness to 0 (bRequest=49). Does that make sense?

Edited by Clément
Link to comment
Share on other sites

Hey everyone, sorry I haven't had time for this project in the past week...life's been busy, haven't gotten many chances to work on it. Anyway, I've started up work again, planning to have v0.2.2 released soon with a few new settings and some bug fixes.

 

In case you need more detailed info...

Thanks! I made a new branch to test it: https://github.com/ccMSC/ckb/tree/sabretest

It should treat it as an M65. What I think will happen is that the mouse will work, but only three of the lighting zones will be customizable. Let me know what happens when you run it and we'll go from there.

 

I just purchased the Corsair K70 RGB, and installed the latest driver 0.2.1, however i noticed when i went to configure the keys for some reason it thinks that the ENTER key is a big ENTER key, however there is actually the "| and \" key above the enter key that doesn't light up under Mac. I'm presuming this is a bug as I plug it into Windows and it works without issues.

Check your keyboard layout on the settings screen.

 

Edit: added 2 more files--opened them with wireshark & didn't see anything different that the first one, but thought I'd add them anyway.....

Hard to tell what's going on but the protocol looks completely different from the keyboards I've encountered so far. I can try to add support anyway but it could be very difficult.

 

As clement said, please provide captures for simple actions (i.e. turning on CUE after the keyboard is plugged in, changing the color of one key at a time, etc) with detailed descriptions of what you did. Also, if you could open an issue ticket on the GitHub page, that would probably be a lot easier than trying to go through everything here on the forums.

Link to comment
Share on other sites

You need to make captures while changing settings with Corsair software. Keep your captures short and simple, note everything you did while capturing.

 

There are few vendor specific control transfer in "corsairk40.txt" and "corasirk40-2.txt", the same ones. Two of them may be the same as for the K90: setting playback to software mode (bRequest=2), and backlight brightness to 0 (bRequest=49). Does that make sense?

 

Hey everyone, sorry I haven't had time for this project in the past week...life's been busy, haven't gotten many chances to work on it. Anyway, I've started up work again, planning to have v0.2.2 released soon with a few new settings and some bug fixes. {snip} Check your keyboard layout on the settings screen.

 

Hard to tell what's going on but the protocol looks completely different from the keyboards I've encountered so far. I can try to add support anyway but it could be very difficult.

 

As clement said, please provide captures for simple actions (i.e. turning on CUE after the keyboard is plugged in, changing the color of one key at a time, etc) with detailed descriptions of what you did. Also, if you could open an issue ticket on the GitHub page, that would probably be a lot easier than trying to go through everything here on the forums.

 

Sounds good---I've made the change in the driver file & will read the post about installing/testing it. Will open a ticket on GIT about the K40 & rerun the sniffer run with the tests you want--had a small problem with the Corsair software & the sniffer--needed to reinstall the Corsair software after I ran the 3rd sniffer run--Buggy software from Corsair? :)

Link to comment
Share on other sites

OK-installed the K90 driver & am using it now...seems to be normal so far.

 

lsusb reports: Bus 003 Device 008: ID 1b1c:1b0e Corsair

 

for f in /sys/bus/hid/devices/0003\:1B1C\:*/report_descriptor; do echo $f; xxd -g 1 "$f"; done

/sys/bus/hid/devices/0003:1B1C:1B0E.001B/report_descriptor

00000000: 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 ..........)...%.

00000010: 75 01 95 08 81 02 75 08 95 01 81 01 05 07 19 00 u.....u.........

00000020: 2a ff 00 15 00 26 ff 00 75 08 95 06 81 00 05 08 *....&..u.......

00000030: 19 01 29 03 25 01 75 01 95 03 91 02 95 05 91 01 ..).%.u.........

00000040: c0 .

/sys/bus/hid/devices/0003:1B1C:1B0E.001C/report_descriptor

00000000: 05 0c 09 01 a1 01 05 0c 19 00 2a ff 0f 15 00 26 ..........*....&

00000010: ff 0f 75 10 95 02 81 00 c0 ..u......

/sys/bus/hid/devices/0003:1B1C:1B0E.001D/report_descriptor

00000000: 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 ..........)...%.

00000010: 75 01 95 08 81 02 19 00 29 6f 15 00 25 01 75 01 u.......)o..%.u.

00000020: 95 70 81 02 c0

 

Opened a GIT ticket & will fire up the XP machine to run the captures with better information today.

 

Edit: First "interesting" key usage--Macro1 (M1) key will take me back to first page of thread & change the backlight color at the same time.....M2 & M3 work as per normal--color change only.

 

Looked at the information for usbmon--looks like Wireshark needs usbmon 1.0 or newer--my system (Debian) is using .8--alternatives or do I need to build the newer version for that capture?

Edited by debianmainused
Link to comment
Share on other sites

Please answer the question about the kernel driver, on the kernel driver thread.

 

The LED/macro configuration is best done with ckb (or in another user space program). But remapping buttons is easier in the kernel driver.

 

I will watch the github issue so I will find the informations, there is no need to bother MSC with my kernel driver issues. So, post the captures on MSC's ckb github and post anything concerning the kernel driver on the other thread or the driver github.

Link to comment
Share on other sites

Please answer the question about the kernel driver, on the kernel driver thread.

 

The LED/macro configuration is best done with ckb (or in another user space program). But remapping buttons is easier in the kernel driver.

 

I will watch the github issue so I will find the informations, there is no need to bother MSC with my kernel driver issues. So, post the captures on MSC's ckb github and post anything concerning the kernel driver on the other thread or the driver github.

 

No problem--still sorting out what goes where....

Link to comment
Share on other sites

No problem--still sorting out what goes where....

 

Just tried to upload the software sniffer run to GIThub & nothing I renamed the file to would upload (shrug), so duplicating the entry here.

 

 

First software sniffer run.

In order:

Creat new profile2

Set M1 color

Set M2 Color

Set M3 color

Upload to keyboard

Assign G1 through G6 keys in M3

Upload to keyboard

Change back profile to profile1

close software

software-cap.txt

Link to comment
Share on other sites

I've created a basic test branch which will treat the Strafe like a K70. I don't know how well it will work (actually, I'm not sure it will work at all) but I've opened an issue on the GitHub tracker with info about how to do the captures: https://github.com/ccMSC/ckb/issues/120

 

Hi, i have tested the branch and it's working for my Strafe. But i can't provide the USB capture because i don't have windows VM.

 

Strafe only read the red color setting and ignore the blue and green.

 

Sorry for bad English and thank you for providing this driver

Link to comment
Share on other sites

i was monitoring my cpu utilization in OS X and found that ckb-daemon is resource intensive while idling... tried stopping/killing the daemon and it restarts itself immediately... only way to disable it is by uninstalling ckb completely...
Link to comment
Share on other sites

Hi, i have tested the branch and it's working for my Strafe. But i can't provide the USB capture because i don't have windows VM.

 

Strafe only read the red color setting and ignore the blue and green.

 

Sorry for bad English and thank you for providing this driver

Oh wow, it actually just works? That's great news! Guess I won't need those captures after all then.

 

I'd like to clean a few things up and get it added back into the main branch - I'll post here again when they're finished. Thanks for testing it out.

 

i was monitoring my cpu utilization in OS X and found that ckb-daemon is resource intensive while idling... tried stopping/killing the daemon and it restarts itself immediately... only way to disable it is by uninstalling ckb completely...

 

How bad is it? Anywhere up to 10% or so is normal, just from handling animations. If you're seeing CPU spikes of 50% or more it may be something that I need to look into.

Link to comment
Share on other sites

How bad is it? Anywhere up to 10% or so is normal, just from handling animations. If you're seeing CPU spikes of 50% or more it may be something that I need to look into.

 

i have an intel cpu with speedstep... without the ckb installed the cpu goes up and down dynamically from 800Mhz to 4GHz to fulfill apps needs

 

when ckb is installed, cpu runs always at max speed, wasting power and generating heat.

 

its not that the cpu load is too high..

 

with ckb-daemon running and the ckb app closed, animations dont work, macro keys dont work.. etc... not sure whats ckb-daemon for.

 

the problem i see is that there is no way to have ckb installed at all in osx and keep power saving feature working.. even when not using the app or the keyboard...

 

there should be a way to disable the ckb-daemon or have a low power mode that supports all the features without the animations (this would be the ideal case)

 

in the attached pic you can see what happens as soon as the ckb is installed.

1949031568_ScreenShot2015-10-03at13_03_24.png.6a903186f50cab889e404e9133d9d254.png

Edited by parralix
Link to comment
Share on other sites

i have an intel cpu with speedstep... without the ckb installed the cpu goes up and down dynamically from 800Mhz to 4GHz to fulfill apps needs

 

when ckb is installed, cpu runs always at max speed, wasting power and generating heat.

 

its not that the cpu load is too high..

 

with ckb-daemon running and the ckb app closed, animations dont work, macro keys dont work.. etc... not sure whats ckb-daemon for.

 

the problem i see is that there is no way to have ckb installed at all in osx and keep power saving feature working.. even when not using the app or the keyboard...

 

there should be a way to disable the ckb-daemon or have a low power mode that supports all the features without the animations (this would be the ideal case)

 

in the attached pic you can see what happens as soon as the ckb is installed.

 

This is exactly what I reported a page or two back. I have an i7-4790K and with this installed it stays at multipliers 40-44 which is just the turbo states. It never drops down below 40 like it should.

Link to comment
Share on other sites

This is exactly what I reported a page or two back. I have an i7-4790K and with this installed it stays at multipliers 40-44 which is just the turbo states. It never drops down below 40 like it should.

 

yup.. multipler stays high + daemon run but does nothing when the ckb app is closed

 

AND i saw some weird connections attempts from the ckb daemon to an ads pay per click site....

 

besides the power waste, im now worried to run this software as i dont know why its connecting to this site

Link to comment
Share on other sites

I'm not noticing any power consumption issue on my i5, the frequency scales normally.

However, even compiling the latest testing version, binding a key to an external program still doesn't work correctly (I'm running plasma5, if that matters). It works if I setup a key to run yakuake as it's already running in the background, bu launching a new app doesn't work at all.

Link to comment
Share on other sites

Hi MSC-

 

Your driver is working great as always, but I noticed something in the new beta 0.2 with the m65.

 

I use smooth mouse to disable mouse acceleration, and without ckb running, there is not acceleration. As soon as i start the driver however, mouse acceleration comes back. Can you add functionality to the driver to disable this? IMO mouse acceleration is god awful and terrible for accuracy.

 

Thanks!

Link to comment
Share on other sites


×
×
  • Create New...