Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CKB - New Device Support #2

Closed
mattanger opened this issue Nov 20, 2016 · 43 comments
Closed

CKB - New Device Support #2

mattanger opened this issue Nov 20, 2016 · 43 comments

Comments

@mattanger
Copy link
Owner

mattanger commented Nov 20, 2016

If a Corsair device isn't supported, leave a comment with the device details, and it may get added eventually. Good places to start with are the outputs of lsub, dmesg, etc for the Corsair device.

@cpixl
Copy link

cpixl commented Dec 6, 2016

Corsair MM800 RGB Polaris... which device details are needed?

@mattanger
Copy link
Owner Author

Device IDs are a good place to start. Relevant output from lsub, any relevant kernel messages. That kind of thing, and a willingness to test hardware that I don't have!

@fleischie
Copy link
Collaborator

I suggest we write a (platform-independent) script, that outputs the necessary information, that we need to update the device-driver (as long as it has the current structure).

This should enable users without technical background to help us find the correct information.

@tatokis
Copy link
Collaborator

tatokis commented Dec 11, 2016

@cpixl
Copy link

cpixl commented Dec 11, 2016

I'm available to test the hardware, but probably only on weekends. Here's my output of ckb-dev-detect (uncompressed):

ckb-dev-detect - Sun Dec 11 12:44:27 BRST 2016

Kernel: Linux green 4.8.12-3-ARCH #1 SMP PREEMPT Thu Dec 8 16:10:23 CET 2016 x86_64 GNU/Linux

OS Version:
LSB Version:	1.4
Distributor ID:	Arch
Description:	Arch Linux
Release:	rolling
Codename:	n/a

USB Devices:
Bus 001 Device 008: ID 1b1c:1b33 Corsair 
Bus 001 Device 006: ID 1b1c:1b2e Corsair 
Bus 001 Device 007: ID 1b1c:1b3b Corsair 
Bus 001 Device 004: ID 1b1c:1b2c Corsair 

Dmesg:
[    8.520992] input: Corsair Corsair Gaming M65 Pro RGB Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.0/0003:1B1C:1B2E.0001/input/input13
[    8.521087] hid-generic 0003:1B1C:1B2E.0001: input,hidraw0: USB HID v1.11 Mouse [Corsair Corsair Gaming M65 Pro RGB Mouse] on usb-0000:00:14.0-2.2/input0
[   11.121384] input: ckb2: Corsair Gaming K70 LUX RGB Keyboar as /devices/virtual/input/input21
[   11.174676] input: ckb2: Corsair Gaming K70 LUX RGB Keyboar as /devices/virtual/input/input22
[   18.625340] hid-generic 0003:1B1C:1B2E.0002: usb_submit_urb(ctrl) failed: -1
[   18.625362] hid-generic 0003:1B1C:1B2E.0002: timeout initializing reports
[   18.625598] input: Corsair Corsair Gaming M65 Pro RGB Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.1/0003:1B1C:1B2E.0002/input/input23
[   18.681122] hid-generic 0003:1B1C:1B2E.0002: input,hiddev0,hidraw0: USB HID v1.11 Mouse [Corsair Corsair Gaming M65 Pro RGB Mouse] on usb-0000:00:14.0-2.2/input1
[   18.681960] hid-generic 0003:1B1C:1B3B.0003: hiddev0,hidraw2: USB HID v1.11 Device [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:14.0-2.1.1/input0
[   18.682209] input: Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.1/1-2.1.1/1-2.1.1:1.1/0003:1B1C:1B3B.0004/input/input24
[   18.737298] hid-generic 0003:1B1C:1B3B.0004: input,hidraw3: USB HID v1.11 Keyboard [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:14.0-2.1.1/input1
[   18.838016] input: ckb1: Corsair Gaming M65 Pro RGB Mouse as /devices/virtual/input/input25
[   18.839732] input: ckb1: Corsair Gaming M65 Pro RGB Mouse as /devices/virtual/input/input26

@tatokis
Copy link
Collaborator

tatokis commented Dec 11, 2016

I've modified the script slightly to give more detailed info under USB devices on Linux.

@dan-santana Yours is an interesting case, as it isn't really a keyboard, nor a mouse.

From what I can see so far, it is a mousepad with LEDs on it.
What you could do for now, is try adding its dev ID (1B3B) in src/ckb-daemon/usb.h , under different device classes, and see if you can make it do anything at all.

If not, we'll have to figure out how CUE talks to it.

Also, quick suggestion after looking at your dmesg,

[   18.625362] hid-generic 0003:1B1C:1B2E.0002: timeout initializing reports

you should probably add the appropriate USB quirk for your mouse.
usbhid.quirks=0x1B1C:1B2E:0x20000408 at the end of your kernel cmdline
and if you also want it to take effect without rebooting,
sudo modprobe -r usbhid && sudo modprobe usbhid quirks=0x1B1C:1B2E:0x20000408
It'll reduce your boot time and the mouse will be recognised instantly if you unplug it and plug it back in.

@cpixl
Copy link

cpixl commented Dec 19, 2016

Indeed, adding the quirks for the mouse (and keyboard too) reduced the boot time a lot! Thank you :)

Yeah, it's a RGB mousepad, but with an USB passthrough port too (like K70 Lux). I tried the dev id in all device classes, ckb always showed the right name of the device on the tab, but none of the settings had any effect on the device.

The new script gave me some errors (running with sudo):

This script will collect information about the Corsair devices in your system.
Please make sure they are plugged in and press Enter.

can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Done! Please send the following report to the developers.
Location: /home/dan/ckb-dev-detect-report.gz

Here's the output (uncompressed):

ckb-dev-detect - Sun Dec 18 22:55:33 BRST 2016

Kernel: Linux green 4.8.13-1-ARCH #1 SMP PREEMPT Fri Dec 9 07:24:34 CET 2016 x86_64 GNU/Linux

OS Version:
LSB Version:	1.4
Distributor ID:	Arch
Description:	Arch Linux
Release:	rolling
Codename:	n/a

USB Devices:

Bus 001 Device 009: ID 1b1c:1b3b Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b3b 
  bcdDevice            1.02
  iManufacturer           1 Corsair Components, Inc.
  iProduct                2 Corsair Gaming MM800 RGB POLARIS
  iSerial                 3 1B4002146904B8AE3C05A355401900F5
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           66
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              2 Corsair Gaming MM800 RGB POLARIS
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      33
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               8
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              2 Corsair Gaming MM800 RGB POLARIS
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      24
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
Device Status:     0x0000
  (Bus Powered)

Bus 001 Device 008: ID 1b1c:1b2c Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 
  bDeviceProtocol         2 TT per port
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b2c 
  bcdDevice           32.98
  iManufacturer          10 Corsair Components, Inc.
  iProduct               11 Gaming USB2.0 Smart Port
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 
      bInterfaceProtocol      1 Single TT
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 
      bInterfaceProtocol      2 TT per port
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             2
  wHubCharacteristic 0x00ed
    Per-port power switching
    Compound device
    Per-port overcurrent protection
    TT think time 32 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x02
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0103 power enable connect
   Port 2: 0000.0100 power
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 001 Device 006: ID 1b1c:1b33 Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b33 
  bcdDevice            2.05
  iManufacturer           1 Corsair
  iProduct                2 Corsair Gaming K70 LUX RGB Keyboard 
  iSerial                 3 07018034AEBD1840562BAAACF5001940
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      67
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     112
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      25
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

Bus 001 Device 004: ID 1b1c:1b2e Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b2e 
  bcdDevice            2.06
  iManufacturer           1 Corsair
  iProduct                2 Corsair Gaming M65 Pro RGB Mouse
  iSerial                 3 0E03B037AEBA044155DE2FC6F5001941
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              300mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      58
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     145
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      25
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

Dmesg:
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=189a3bd6-8024-4778-97d0-32b00c31b295 rw quiet usbhid.quirks=0x1B1C:0x1B33:0x20000408,0x1B1C:0x1B2E:0x20000408
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=189a3bd6-8024-4778-97d0-32b00c31b295 rw quiet usbhid.quirks=0x1B1C:0x1B33:0x20000408,0x1B1C:0x1B2E:0x20000408
[    2.486204] input: Corsair Corsair Gaming M65 Pro RGB Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.1/1-2.1:1.0/0003:1B1C:1B2E.0001/input/input2
[    2.486244] hid-generic 0003:1B1C:1B2E.0001: input,hidraw0: USB HID v1.11 Mouse [Corsair Corsair Gaming M65 Pro RGB Mouse] on usb-0000:00:14.0-2.1/input0
[    2.486362] input: Corsair Corsair Gaming M65 Pro RGB Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.1/1-2.1:1.1/0003:1B1C:1B2E.0002/input/input3
[    2.486481] hid-generic 0003:1B1C:1B2E.0002: input,hiddev0,hidraw1: USB HID v1.11 Mouse [Corsair Corsair Gaming M65 Pro RGB Mouse] on usb-0000:00:14.0-2.1/input1
[    2.983296] input: Corsair Corsair Gaming K70 LUX RGB Keyboard  as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.0/0003:1B1C:1B33.0003/input/input4
[    2.983580] hid-generic 0003:1B1C:1B33.0003: input,hidraw2: USB HID v1.11 Keyboard [Corsair Corsair Gaming K70 LUX RGB Keyboard ] on usb-0000:00:14.0-2.2/input0
[    2.985812] input: Corsair Corsair Gaming K70 LUX RGB Keyboard  as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.1/0003:1B1C:1B33.0004/input/input5
[    2.986151] hid-generic 0003:1B1C:1B33.0004: input,hiddev0,hidraw3: USB HID v1.11 Keyboard [Corsair Corsair Gaming K70 LUX RGB Keyboard ] on usb-0000:00:14.0-2.2/input1
[    3.943609] hid-generic 0003:1B1C:1B3B.0005: hiddev0,hidraw4: USB HID v1.11 Device [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:14.0-2.4.1.1/input0
[    3.944945] input: Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.4/1-2.4.1/1-2.4.1.1/1-2.4.1.1:1.1/0003:1B1C:1B3B.0006/input/input6
[    3.998994] hid-generic 0003:1B1C:1B3B.0006: input,hidraw5: USB HID v1.11 Keyboard [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:14.0-2.4.1.1/input1
[    8.196143] input: ckb1: Corsair Gaming M65 Pro RGB Mouse as /devices/virtual/input/input25
[    8.255829] input: ckb2: Corsair Gaming K70 LUX RGB Keyboar as /devices/virtual/input/input26
[    8.255935] input: ckb1: Corsair Gaming M65 Pro RGB Mouse as /devices/virtual/input/input27
[    8.256265] input: ckb2: Corsair Gaming K70 LUX RGB Keyboar as /devices/virtual/input/input28

@mmolad
Copy link

mmolad commented Jan 6, 2017

K65 Non-RGB


OS Version:
ProductName:	Mac OS X
ProductVersion:	10.12.2
BuildVersion:	16C67

USB Devices:
        Corsair K65 Gaming Keyboard:

          Product ID: 0x1b07
          Vendor ID: 0x1b1c  (CORSAIR MEMORY INC.)
          Version: 1.01
          Speed: Up to 12 Mb/sec
          Manufacturer: Corsair
          Location ID: 0x14200000 / 27
          Current Available (mA): 500
          Current Required (mA): 100
          Extra Operating Current (mA): 0

        Gaming Mouse G502:

@tatokis
Copy link
Collaborator

tatokis commented Jan 6, 2017

@mmolad Please download ckb-next from https://github.com/mattanger/ckb-next/archive/master.zip and run "ckb-dev-detect"

@mmolad
Copy link

mmolad commented Jan 6, 2017

@tatokis updated comment with log.

@cmawhinney
Copy link

Vengeance® K65 Compact Mechanical Gaming Keyboard

screen shot 2017-01-13 at 3 01 56 pm

@mmolad
Copy link

mmolad commented Jan 16, 2017

@tatokis as a short term solution, couldn't the K65 Non-RGB just be treated as a K70 Non-RGB? Would this be a quick fix?

@tatokis
Copy link
Collaborator

tatokis commented Jan 16, 2017 via email

@mmolad
Copy link

mmolad commented Jan 16, 2017 via email

@dtrang
Copy link

dtrang commented Jan 17, 2017

Is there a plan to support K70 RGB Rapidfire?

@tatokis
Copy link
Collaborator

tatokis commented Jan 17, 2017

@mmolad @cmawhinney on the testing branch, 86118b3

@dtrang it's already supported.

@mmolad
Copy link

mmolad commented Jan 17, 2017 via email

ghost referenced this issue Jan 17, 2017
Quickinstall macOS specific and general improvements
@mmolad
Copy link

mmolad commented Jan 17, 2017 via email

@tatokis
Copy link
Collaborator

tatokis commented Jan 17, 2017 via email

@ghost
Copy link

ghost commented Jan 19, 2017

Hello, I would like to have support for the VOID USB Headset. Feel free to ask me for testing.

ckb-dev-detect-report.txt

@Camoleopard
Copy link

Corsair Harpoon Gaming Mouse: (Uncompressed)

ckb-dev-detect - Fri Jan 27 12:17:42 AWST 2017

Kernel: Darwin 181095-SCT11938.local 15.5.0 Darwin Kernel Version 15.5.0: Tue Apr 19 18:36:36 PDT 2016; root:xnu-3248.50.21~8/RELEASE_X86_64 x86_64

OS Version:
ProductName: Mac OS X
ProductVersion: 10.11.5
BuildVersion: 15F34

USB Devices:
Corsair Gaming HARPOON RGB Mouse:

      Product ID: 0x1b3c
      Vendor ID: 0x1b1c  (CORSAIR MEMORY INC.)
      Version: 0.13
      Serial Number: 19024017AEC78440568182BBF5001940
      Speed: Up to 12 Mb/sec
      Manufacturer: Corsair
      Location ID: 0x14200000 / 17
      Current Available (mA): 1000
      Current Required (mA): 300
      Extra Operating Current (mA): 0

@tatokis
Copy link
Collaborator

tatokis commented Jan 30, 2017

@Camoleopard Could you please try 84e195c (testing branch) ?

@Camoleopard
Copy link

@tatokis Is it possible I can get a compiled version? I don't have QT and it's too big to install.

@Camoleopard
Copy link

Camoleopard commented Jan 31, 2017

@tatokis I tested this branch and it did not detect the device at all.

EDIT: I restarted my laptop with my mouse connected, and CBK detected the mouse as a different mouse (I understand that) but I couldnt move my mouse, clicking worked but not movement, then I opened System Preferences, went to the mouse settings, unplugged the mouse and plugged it back in and my mouse worked again, but CBK couldn't detect it anymore.

@tatokis
Copy link
Collaborator

tatokis commented Jan 31, 2017

@Camoleopard please open a new issue and I'll see what can be done.

@coffeeneer
Copy link

Hi all, last week I purchased the K95 Platinum with brown switches. It works a treat on windows, very happy with the keyboard. However it comes as no real surprise that it doesn't get detected by ckb-next. I'm interested in looking into it in some spare time.

The lsusb -v output:

Bus 003 Device 014: ID 1b1c:1b2d Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b2d 
  bcdDevice            1.07
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      67
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     172
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      25
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1

The ckb-dev-detect script is not much of a help for this keyboard, as it won't detect the keyboard both as regular or super user. I'm happy to help with the development for this new device, really like the work that has been done so far!

@tatokis
Copy link
Collaborator

tatokis commented Jan 31, 2017

@dodedodo33 I don't see why the dev detect script wouldn't detect it. It just runs lsusb and filters out only devices with the corsair vendor id.
https://github.com/mattanger/ckb-next/blob/master/ckb-dev-detect#L33

I've added your device ID in the testing branch, please test if it works, and if it doesn't, open a new issue with more details.
https://github.com/mattanger/ckb-next/tree/testing

@coffeeneer
Copy link

coffeeneer commented Feb 1, 2017

@tatokis Thanks for the quick reply, I probably have something misconfigured with permissions or groups or something. I have tried the testing branch and opened a new issue with my findings.

@ghost ghost mentioned this issue Mar 6, 2017
@ghost ghost mentioned this issue May 3, 2017
ghost pushed a commit that referenced this issue May 5, 2017
This reverts commit 84e195c.
Harpoon is not working when treated as Sabre, therefore removed
until a proper support is added.

See also: #54,
#2 (comment)
@ryanadean
Copy link

ryanadean commented Jun 7, 2017

Hello! Just got the corsair glaive rgb mouse. The following is the report from the ckb-dev-detect:

ckb-dev-detect - Wed Jun  7 09:47:05 PDT 2017

Kernel: Linux lappy-tappy 4.10.0-21-generic #23-Ubuntu SMP Fri Apr 28 16:14:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

OS Version:
Distributor ID:	Ubuntu
Description:	Ubuntu 17.04
Release:	17.04
Codename:	zesty

USB Devices:
Couldn't open device, some information will be missing

Bus 001 Device 004: ID 1b1c:1b34 Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b34 
  bcdDevice            1.03
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              300mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      58
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     172
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      25
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1

Dmesg:
[18254.088871] usb 1-1: New USB device found, idVendor=1b1c, idProduct=1b34
[18254.088882] usb 1-1: Product: Corsair Gaming GLAIVE RGB Mouse
[18254.088886] usb 1-1: Manufacturer: Corsair
[18254.133783] input: Corsair Corsair Gaming GLAIVE RGB Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:1B1C:1B34.0004/input/input18
[18254.190929] hid-generic 0003:1B1C:1B34.0004: input,hidraw2: USB HID v1.11 Mouse [Corsair Corsair Gaming GLAIVE RGB Mouse] on usb-0000:00:14.0-1/input0
[18254.191185] hid-generic 0003:1B1C:1B34.0005: item 0 1 0 8 parsing failed
[18254.191205] hid-generic: probe of 0003:1B1C:1B34.0005 failed with error -22

@jasonlin07
Copy link

Is there a plan to support Glauber RGB?

@reefland
Copy link

Corsair MM800 RGB Polaris (RGB Game Pad).. Arch Linux. The default demo rainbow mode on the Polaris is driving me crazy. Be glad to help test support for this.

BTW - I also have a CORSAIR - Strafe RGB MX Silent Gaming Keyboard, ckb-next worked nearly flawless, updated firmware, programmed key colors, saved to hardware. Wasn't able to set color of the upper right lock key, everything else perfect.

ckb-dev-detect - Thu Jul 13 00:03:11 EDT 2017

Kernel: Linux dldsk01 4.11.9-1-ARCH #1 SMP PREEMPT Wed Jul 5 18:23:08 CEST 2017 x86_64 GNU/Linux

OS Version:

USB Devices:
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable

Bus 001 Device 006: ID 1b1c:1b3b Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b3b 
  bcdDevice            1.01
  iManufacturer           1 Corsair Components, Inc.
  iProduct                2 Corsair Gaming MM800 RGB POLARIS
  iSerial                 3 3BF002172184C5AECE995756411900F5
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           66
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              2 Corsair Gaming MM800 RGB POLARIS
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      33
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               8
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              2 Corsair Gaming MM800 RGB POLARIS
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      24
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
Device Status:     0x0000
  (Bus Powered)

Bus 003 Device 003: ID 1b1c:1b20 Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b20 
  bcdDevice            2.05
  iManufacturer           1 Corsair
  iProduct                2 Corsair STRAFE RGB Gaming Keyboard
  iSerial                 3 07008024AEBA044255E6CF58F5001940
  bNumConfigurations      1
  Configuration Descriptor:
 can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
   bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      67
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     112
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      25
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

Dmesg on current boot:
Jul 12 22:30:49.269842 dldsk01 kernel: input: Corsair Corsair STRAFE RGB Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/0003:1B1C:1B20.0001/input/input0
Jul 12 22:30:49.269956 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0001: input,hidraw0: USB HID v1.11 Keyboard [Corsair Corsair STRAFE RGB Gaming Keyboard] on usb-0000:00:14.0-3/input0
Jul 12 22:30:49.271204 dldsk01 kernel: hid-generic 0003:1B1C:1B3B.0004: hiddev0,hidraw2: USB HID v1.11 Device [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:1a.0-1.6.1/input0
Jul 12 22:30:49.271224 dldsk01 kernel: input: Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.1/1-1.6.1:1.1/0003:1B1C:1B3B.0005/input/input2
Jul 12 22:30:49.271332 dldsk01 kernel: hid-generic 0003:1B1C:1B3B.0005: input,hidraw3: USB HID v1.11 Keyboard [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:1a.0-1.6.1/input1
Jul 12 22:30:49.272596 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0002: usb_submit_urb(ctrl) failed: -1
Jul 12 22:30:49.272698 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0002: timeout initializing reports
Jul 12 22:30:49.272720 dldsk01 kernel: input: Corsair Corsair STRAFE RGB Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1/0003:1B1C:1B20.0002/input/input3
Jul 12 22:30:49.272817 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0002: input,hiddev0,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair STRAFE RGB Gaming Keyboard] on usb-0000:00:14.0-3/input1
Jul 12 23:29:36.640412 dldsk01 kernel: input: ckb1: Corsair STRAFE RGB Gaming Keyboard as /devices/virtual/input/input16
Jul 12 23:29:36.640493 dldsk01 kernel: input: ckb1: Corsair STRAFE RGB Gaming Keyboard as /devices/virtual/input/input17
Jul 12 23:29:42.707074 dldsk01 kernel: usb 3-3: usbfs: USBDEVFS_CONTROL failed cmd ckb-daemon rqt 161 rq 1 len 64 ret -110
Jul 12 23:30:26.013760 dldsk01 kernel: input: Corsair Corsair STRAFE RGB Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/0003:1B1C:1B20.0006/input/input18
Jul 12 23:30:26.070436 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0006: input,hidraw0: USB HID v1.11 Keyboard [Corsair Corsair STRAFE RGB Gaming Keyboard] on usb-0000:00:14.0-3/input0
Jul 12 23:30:36.253735 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0007: usb_submit_urb(ctrl) failed: -1
Jul 12 23:30:36.258527 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0007: timeout initializing reports
Jul 12 23:30:36.258741 dldsk01 kernel: input: Corsair Corsair STRAFE RGB Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1/0003:1B1C:1B20.0007/input/input19
Jul 12 23:30:36.310410 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0007: input,hiddev0,hidraw4: USB HID v1.11 Keyboard [Corsair Corsair STRAFE RGB Gaming Keyboard] on usb-0000:00:14.0-3/input1
Jul 12 23:30:36.577076 dldsk01 kernel: input: ckb1: Corsair STRAFE RGB Gaming Keyboard as /devices/virtual/input/input20
Jul 12 23:30:36.577139 dldsk01 kernel: input: ckb1: Corsair STRAFE RGB Gaming Keyboard as /devices/virtual/input/input21

Dmesg on last boot:
Jul 12 17:02:04.439602 dldsk01 kernel: input: Corsair Corsair STRAFE RGB Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0/0003:1B1C:1B20.0001/input/input0
Jul 12 17:02:04.439796 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0001: input,hidraw0: USB HID v1.11 Keyboard [Corsair Corsair STRAFE RGB Gaming Keyboard] on usb-0000:00:14.0-3/input0
Jul 12 17:02:04.440952 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0002: usb_submit_urb(ctrl) failed: -1
Jul 12 17:02:04.441025 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0002: timeout initializing reports
Jul 12 17:02:04.441040 dldsk01 kernel: input: Corsair Corsair STRAFE RGB Gaming Keyboard as /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.1/0003:1B1C:1B20.0002/input/input2
Jul 12 17:02:04.441103 dldsk01 kernel: hid-generic 0003:1B1C:1B20.0002: input,hiddev0,hidraw2: USB HID v1.11 Keyboard [Corsair Corsair STRAFE RGB Gaming Keyboard] on usb-0000:00:14.0-3/input1
Jul 12 19:27:30.086506 dldsk01 kernel: hid-generic 0003:1B1C:1B3B.0004: hiddev0,hidraw3: USB HID v1.11 Device [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:1a.0-1.6.1/input0
Jul 12 19:27:30.086727 dldsk01 kernel: input: Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.1/1-1.6.1:1.1/0003:1B1C:1B3B.0005/input/input15
Jul 12 19:27:30.143270 dldsk01 kernel: hid-generic 0003:1B1C:1B3B.0005: input,hidraw4: USB HID v1.11 Keyboard [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:1a.0-1.6.1/input1
Jul 12 19:58:48.119649 dldsk01 kernel: hid-generic 0003:1B1C:1B3B.0006: hiddev0,hidraw3: USB HID v1.11 Device [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:1a.0-1.6.1/input0
Jul 12 19:58:48.119840 dldsk01 kernel: input: Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6.1/1-1.6.1:1.1/0003:1B1C:1B3B.0007/input/input16
Jul 12 19:58:48.176347 dldsk01 kernel: hid-generic 0003:1B1C:1B3B.0007: input,hidraw4: USB HID v1.11 Keyboard [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:1a.0-1.6.1/input1

Daemon on current boot:
-- Logs begin at Fri 2017-05-12 23:01:19 EDT, end at Thu 2017-07-13 00:03:10 EDT. --
Jul 12 23:29:36.374113 dldsk01 systemd[1]: Started Corsair Keyboard Daemon.
Jul 12 23:29:36.376891 dldsk01 ckb-daemon[6424]:     ckb: Corsair RGB driver beta-v0.2.8
Jul 12 23:29:36.377191 dldsk01 ckb-daemon[6424]: [I] Root controller ready at /dev/input/ckb0
Jul 12 23:29:36.387912 dldsk01 ckb-daemon[6424]: [I] >>>vendor = 0x1b1c, product = 0x1b20, path = /dev/bus/usb/003/002, syspath = /sys/devices/pci0000:00/0000:00:14.0/usb3/3-3
Jul 12 23:29:36.488243 dldsk01 ckb-daemon[6424]: [I] Connecting Corsair STRAFE RGB Gaming Keyboard at /dev/input/ckb1
Jul 12 23:29:36.488243 dldsk01 ckb-daemon[6424]: [I] claiming interfaces. name=Corsair STRAFE RGB Gaming Keyboard, firmware=0204; Got >> 3<< as ep_str
Jul 12 23:29:36.488243 dldsk01 ckb-daemon[6424]: [I] claiming 3 endpoints
Jul 12 23:29:36.638880 dldsk01 ckb-daemon[6424]: [I] Starting input thread for /dev/input/ckb1
Jul 12 23:29:37.542882 dldsk01 ckb-daemon[6424]: [E] loadrgb_kb (led_keyboard.c:234): Bad input header
Jul 12 23:29:37.542882 dldsk01 ckb-daemon[6424]: [E] loadrgb_kb (led_keyboard.c:237): color = 0, i = 1, mode = 0
Jul 12 23:29:37.542882 dldsk01 ckb-daemon[6424]: Output (Request): ff 01 3c 00
Jul 12 23:29:37.542882 dldsk01 ckb-daemon[6424]: Input(Reply): 0e ff 01 3c 00 00 00 00
Jul 12 23:29:42.703879 dldsk01 ckb-daemon[6424]: [E] os_usbrecv (via led_keyboard.c:242): Connection timed out
Jul 12 23:29:42.703879 dldsk01 ckb-daemon[6424]: [W] _start_dev (device.c:67): Unable to load hardware profile
Jul 12 23:29:42.704334 dldsk01 ckb-daemon[6424]: [I] Setup finished for /dev/input/ckb1
Jul 12 23:30:06.158150 dldsk01 ckb-daemon[6424]: [I] Loading firmware version 0205 from /tmp/ckb-6586-fwblob.bin
Jul 12 23:30:19.707517 dldsk01 ckb-daemon[6424]: [I] Firmware update complete
Jul 12 23:30:19.714496 dldsk01 ckb-daemon[6424]: [I] Stopping input thread for /dev/input/ckb1
Jul 12 23:30:19.717951 dldsk01 ckb-daemon[6424]: [E] os_usbsend (via led_keyboard.c:119): No such device
Jul 12 23:30:19.717951 dldsk01 ckb-daemon[6424]: [I] Attempting reset...
Jul 12 23:30:19.818069 dldsk01 ckb-daemon[6424]: [E] os_resetusb (via usb.c:472): resetusb failed: No such device
Jul 12 23:30:19.818069 dldsk01 ckb-daemon[6424]: [E] usb_tryreset (usb.c:480): Reset failed. Disconnecting.
Jul 12 23:30:19.818069 dldsk01 ckb-daemon[6424]: [I] Disconnecting /dev/input/ckb1
Jul 12 23:30:20.014090 dldsk01 ckb-daemon[6424]: [I] Removed device path /dev/input/ckb1
Jul 12 23:30:36.323448 dldsk01 ckb-daemon[6424]: [I] >>>vendor = 0x1b1c, product = 0x1b20, path = /dev/bus/usb/003/003, syspath = /sys/devices/pci0000:00/0000:00:14.0/usb3/3-3
Jul 12 23:30:36.423707 dldsk01 ckb-daemon[6424]: [I] Connecting Corsair STRAFE RGB Gaming Keyboard at /dev/input/ckb1
Jul 12 23:30:36.423707 dldsk01 ckb-daemon[6424]: [I] claiming interfaces. name=Corsair STRAFE RGB Gaming Keyboard, firmware=0205; Got >> 3<< as ep_str
Jul 12 23:30:36.423707 dldsk01 ckb-daemon[6424]: [I] claiming 3 endpoints
Jul 12 23:30:36.574823 dldsk01 ckb-daemon[6424]: [I] Starting input thread for /dev/input/ckb1
Jul 12 23:30:38.685613 dldsk01 ckb-daemon[6424]: [I] Setup finished for /dev/input/ckb1

Daemon on last boot:
-- No entries --


@SethBarberee
Copy link

After glancing at the Corsair website:
K55 RGB works with 3 distinct "zones" so that's the major hurdle that I see in implementing support. Another hurdle seems to be the macro record button since we don't have macros fully implemented yet.

Media keys and g-keys seem to borrow off the K95 Platinum after initial inspection so coding wise is a copy and paste.

Is this the only keyboard that does this kind of zoning? @frickler24 @light2yellow

@francoism90
Copy link

@SethBarberee Thanks for trying to add support for the K55. :)
Unfortunately I have returned the keyboard because the quality wasn't good and I've switched to a mechanical keyboard.

@Pract1cal
Copy link

Hi! Yesterday, I purchased an M65 Pro RGB mouse from Best Buy and downloaded CKB after seeing the CUE files open not in a program, but in a folder full of readme's and .exe's. Seeing as I have an iMac, I didn't see it fit to try and open those files as I have done this before and gotten many lines of code in a text document. After downloading CKB (using my new mouse to navigate around Google and GitHub), I opened the program and immediately noticed at the top of the page that my mouse was not being detected. I have a really ugly RGB default setup right now and I would love, love, love to change it, but the program doesn't seem to detect my mouse even after countless plugins. I checked the download page to see if my mouse is supported and, surprisingly, it is! However, it's been 1 night and my mouse is still not being seen by the program. Should I just keep the colors the way they are and just use the otherwise fully functional mouse?

@akkbng
Copy link

akkbng commented Aug 31, 2017

Hi! Just got the corsair K70 Rapidfire non-rgb. The following is the report from the ckb-dev-detect:

Kernel: Darwin Bengisus-MacBook-Pro.local 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar 3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64

OS Version:
ProductName: Mac OS X
ProductVersion: 10.12.4
BuildVersion: 16E195

USB Devices:
Corsair Gaming K70 RAPIDFIRE Keyboard :

      Product ID: 0x1b3a
      Vendor ID: 0x1b1c  (CORSAIR MEMORY INC.)
      Version: 2.05
      Serial Number: 0301F020AEB8942955B0B4AFF5001946
      Speed: Up to 12 Mb/sec
      Manufacturer: Corsair
      Location ID: 0x14200000 / 2
      Current Available (mA): 500
      Current Required (mA): 500
      Extra Operating Current (mA): 0

@ghost
Copy link

ghost commented Sep 1, 2017

@akkbng it is already supported:

#define P_K70_RFIRE_NRGB 0x1b3a

@azacock
Copy link

azacock commented Sep 10, 2017

Third-ing a request for support for the MM800 mouse pad.

@sylvaindeloux
Copy link

Hi, I've a Corsair Gaming MM800 RGB POLARIS. Here is the related ckb-dev-detect-report :

ckb-dev-detect - Sat Oct 14 19:03:38 CEST 2017

Kernel: Linux pc-mint 4.4.0-97-generic #120-Ubuntu SMP Tue Sep 19 17:28:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

OS Version:
Distributor ID:	LinuxMint
Description:	Linux Mint 18.1 Serena
Release:	18.1
Codename:	serena

USB Devices:
Couldn't open device, some information will be missing
Couldn't open device, some information will be missing

Bus 001 Device 005: ID 1b1c:0c0a Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x0c0a 
  bcdDevice            1.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower               50mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0

Bus 001 Device 007: ID 1b1c:1b2f Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b2f 
  bcdDevice            2.04
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              300mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      58
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtoCouldn't open device, some information will be missing
col      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     145
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      25
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1

Bus 001 Device 006: ID 1b1c:1b3b Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b3b 
  bcdDevice            1.02
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           66
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              2 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      33
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               8
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     Couldn't open device, some information will be missing
0x0040  1x 64 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              2 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      24
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8

Bus 001 Device 003: ID 1b1c:1b2c Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         2 TT per port
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b2c 
  bcdDevice           32.98
  iManufacturer          10 
  iProduct               11 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      1 Single TT
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 TT per port
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12

Dmesg on current boot:
Oct 14 18:57:55.031304 pc-mint kernel: usb 1-10: New USB device found, idVendor=1b1c, idProduct=1b2c
Oct 14 18:57:55.031428 pc-mint kernel: usb 1-10: Manufacturer: Corsair Components, Inc.
Oct 14 18:57:55.032111 pc-mint kernel: usb 1-13: New USB device found, idVendor=1b1c, idProduct=0c0a
Oct 14 18:57:55.032229 pc-mint kernel: usb 1-13: Manufacturer: Corsair Components, Inc.
Oct 14 18:57:55.032483 pc-mint kernel: usb 1-10.1: New USB device found, idVendor=1b1c, idProduct=1b3b
Oct 14 18:57:55.032572 pc-mint kernel: usb 1-10.1: Product: Corsair Gaming MM800 RGB POLARIS
Oct 14 18:57:55.032616 pc-mint kernel: usb 1-10.1: Manufacturer: Corsair Components, Inc.
Oct 14 18:57:55.032700 pc-mint kernel: hid-generic 0003:1B1C:1B3B.0003: hiddev0,hidraw2: USB HID v1.11 Device [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:14.0-10.1/input0
Oct 14 18:57:55.032707 pc-mint kernel: input: Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.1/1-10.1:1.1/0003:1B1C:1B3B.0004/input/input6
Oct 14 18:57:55.032747 pc-mint kernel: hid-generic 0003:1B1C:1B3B.0004: input,hidraw3: USB HID v1.11 Keyboard [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:14.0-10.1/input1
Oct 14 18:57:55.032843 pc-mint kernel: usb 1-10.2: New USB device found, idVendor=1b1c, idProduct=1b2f
Oct 14 18:57:55.032927 pc-mint kernel: usb 1-10.2: Product: Corsair Gaming SABRE RGB Mouse
Oct 14 18:57:55.032971 pc-mint kernel: usb 1-10.2: Manufacturer: Corsair
Oct 14 18:57:55.033044 pc-mint kernel: input: Corsair Corsair Gaming SABRE RGB Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.2/1-10.2:1.0/0003:1B1C:1B2F.0005/input/input7
Oct 14 18:57:55.033086 pc-mint kernel: hid-generic 0003:1B1C:1B2F.0005: input,hidraw4: USB HID v1.11 Mouse [Corsair Corsair Gaming SABRE RGB Mouse] on usb-0000:00:14.0-10.2/input0
Oct 14 18:57:55.033126 pc-mint kernel: hid-generic 0003:1B1C:1B2F.0006: usb_submit_urb(ctrl) failed: -1
Oct 14 18:57:55.033160 pc-mint kernel: hid-generic 0003:1B1C:1B2F.0006: timeout initializing reports
Oct 14 18:57:55.033166 pc-mint kernel: input: Corsair Corsair Gaming SABRE RGB Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.2/1-10.2:1.1/0003:1B1C:1B2F.0006/input/input8
Oct 14 18:57:55.033198 pc-mint kernel: hid-generic 0003:1B1C:1B2F.0006: input,hiddev0,hidraw5: USB HID v1.11 Mouse [Corsair Corsair Gaming SABRE RGB Mouse] on usb-0000:00:14.0-10.2/input1
Oct 14 18:57:56.807281 pc-mint kernel: input: ckb1: Corsair Gaming SABRE RGB Mouse as /devices/virtual/input/input21
Oct 14 18:57:56.807293 pc-mint kernel: input: ckb1: Corsair Gaming SABRE RGB Mouse as /devices/virtual/input/input22

Dmesg on last boot:


Daemon on current boot:
-- Logs begin at Sat 2017-10-14 18:57:55 CEST, end at Sat 2017-10-14 18:58:55 CEST. --
Oct 14 18:57:56.497567 pc-mint systemd[1]: Started Corsair Keyboard Daemon.
Oct 14 18:57:56.498171 pc-mint ckb-daemon[1069]:     ckb: Corsair RGB driver v0.2.8
Oct 14 18:57:56.498217 pc-mint ckb-daemon[1069]: [I] Root controller ready at /dev/input/ckb0
Oct 14 18:57:56.502011 pc-mint ckb-daemon[1069]: [I] >>>vendor = 0x1b1c, product = 0x1b2f, path = /dev/bus/usb/001/007, syspath = /sys/devices/pci0000:00/0000:00:14.0/usb1/1-10/1-10.2
Oct 14 18:57:56.602484 pc-mint ckb-daemon[1069]: [I] Connecting Corsair Gaming SABRE RGB Mouse at /dev/input/ckb1
Oct 14 18:57:56.602539 pc-mint ckb-daemon[1069]: [I] claiming interfaces. name=Corsair Gaming SABRE RGB Mouse, firmware=0204; Got >> 3<< as ep_str
Oct 14 18:57:56.602586 pc-mint ckb-daemon[1069]: [I] claiming 3 endpoints
Oct 14 18:57:56.805128 pc-mint ckb-daemon[1069]: [I] Starting input thread for /dev/input/ckb1
Oct 14 18:57:58.998706 pc-mint ckb-daemon[1069]: [I] Setup finished for /dev/input/ckb1

Daemon on last boot:
Specifying boot ID has no effect, no persistent journal was found

Do you need more information?

@danilosaft
Copy link

danilosaft commented Dec 8, 2017

I have a MM800 RGB Polaris mousepad as well, along with a K95 RGB Platinum. The Platinum is very well supported, but the MM800 doesn't list as a tab and constantly changes colors at the moment. Here is my skb-dev-detect report. Also, I will try and support this project with the limited hardware but more sophisticated gui programming skills I have, if needed.


ckb-dev-detect - Thu Dec  7 22:57:43 CET 2017

Kernel: Linux ANSARI 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u3 (2017-08-06) x86_64 GNU/Linux

OS Version:
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.1 (stretch)
Release:	9.1
Codename:	stretch

USB Devices:

Bus 010 Device 015: ID 1b1c:1b3b Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b3b 
  bcdDevice            1.02
  iManufacturer           1 Corsair Components, Inc.
  iProduct                2 Corsair Gaming MM800 RGB POLARIS
  iSerial                 3 260002076184BEAECA353956471900F5
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           66
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              2 Corsair Gaming MM800 RGB POLARIS
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      33
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               8
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              2 Corsair Gaming MM800 RGB POLARIS
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      24
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
Device Status:     0x0000
  (Bus Powered)

Bus 010 Device 014: ID 1b1c:1b2c Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         2 TT per port
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b2c 
  bcdDevice           32.98
  iManufacturer          10 Corsair Components, Inc.
  iProduct               11 Gaming USB2.0 Smart Port
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      1 Single TT
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 TT per port
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0001  1x 1 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             2
  wHubCharacteristic 0x00ed
    Per-port power switching
    Compound device
    Per-port overcurrent protection
    TT think time 32 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x02
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0103 power enable connect
   Port 2: 0000.0103 power enable connect
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Bus 010 Device 013: ID 1b1c:1b2d Corsair 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1b1c Corsair
  idProduct          0x1b2d 
  bcdDevice            1.07
  iManufacturer           1 Corsair
  iProduct                2 Corsair Gaming K95 RGB PLATINUM Keyboard
  iSerial                 3 05006012AF082528588DF1CEF5001BC0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           84
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      67
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     172
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      25
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
Device Status:     0x0000
  (Bus Powered)

Dmesg on current boot:
Dec 07 21:10:47.681921 ANSARI kernel: usb 10-1.4: New USB device found, idVendor=1b1c, idProduct=1b2d
Dec 07 21:10:47.682257 ANSARI kernel: usb 10-1.4: Product: Corsair Gaming K95 RGB PLATINUM Keyboard
Dec 07 21:10:47.682348 ANSARI kernel: usb 10-1.4: Manufacturer: Corsair
Dec 07 21:10:47.682523 ANSARI kernel: input: Corsair Corsair Gaming K95 RGB PLATINUM Keyboard as /devices/pci0000:00/0000:00:1d.0/usb10/10-1/10-1.4/10-1.4:1.0/0003:1B1C:1B2D.000F/input/input29
Dec 07 21:10:47.745946 ANSARI kernel: hid-generic 0003:1B1C:1B2D.000F: input,hidraw1: USB HID v1.11 Keyboard [Corsair Corsair Gaming K95 RGB PLATINUM Keyboard] on usb-0000:00:1d.0-1.4/input0
Dec 07 21:10:47.746178 ANSARI kernel: input: Corsair Corsair Gaming K95 RGB PLATINUM Keyboard as /devices/pci0000:00/0000:00:1d.0/usb10/10-1/10-1.4/10-1.4:1.1/0003:1B1C:1B2D.0010/input/input30
Dec 07 21:10:47.805923 ANSARI kernel: hid-generic 0003:1B1C:1B2D.0010: input,hiddev0,hidraw2: USB HID v1.11 Keyboard [Corsair Corsair Gaming K95 RGB PLATINUM Keyboard] on usb-0000:00:1d.0-1.4/input1
Dec 07 21:54:14.077923 ANSARI kernel: usb 10-1.5: New USB device found, idVendor=1b1c, idProduct=1b2c
Dec 07 21:54:14.078329 ANSARI kernel: usb 10-1.5: Manufacturer: Corsair Components, Inc.
Dec 07 21:54:14.477923 ANSARI kernel: usb 10-1.5.1: New USB device found, idVendor=1b1c, idProduct=1b3b
Dec 07 21:54:14.478241 ANSARI kernel: usb 10-1.5.1: Product: Corsair Gaming MM800 RGB POLARIS
Dec 07 21:54:14.478333 ANSARI kernel: usb 10-1.5.1: Manufacturer: Corsair Components, Inc.
Dec 07 21:54:14.478558 ANSARI kernel: hid-generic 0003:1B1C:1B3B.0011: hiddev0,hidraw3: USB HID v1.11 Device [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:1d.0-1.5.1/input0
Dec 07 21:54:14.479613 ANSARI kernel: input: Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS as /devices/pci0000:00/0000:00:1d.0/usb10/10-1/10-1.5/10-1.5.1/10-1.5.1:1.1/0003:1B1C:1B3B.0012/input/input31
Dec 07 21:54:14.539900 ANSARI kernel: hid-generic 0003:1B1C:1B3B.0012: input,hidraw4: USB HID v1.11 Keyboard [Corsair Components, Inc. Corsair Gaming MM800 RGB POLARIS] on usb-0000:00:1d.0-1.5.1/input1
Dec 07 22:08:11.193922 ANSARI kernel: input: ckb1: Corsair Gaming K95 RGB PLATINUM Keyboard as /devices/virtual/input/input34
Dec 07 22:08:11.194022 ANSARI kernel: input: ckb1: Corsair Gaming K95 RGB PLATINUM Keyboard as /devices/virtual/input/input35

Dmesg on last boot:


Daemon on current boot:
-- Logs begin at Mon 2017-08-28 18:35:04 CEST, end at Thu 2017-12-07 22:57:41 CET. --
Dec 07 22:08:10.751357 ANSARI systemd[1]: Started Corsair Keyboard Daemon.
Dec 07 22:08:10.752848 ANSARI ckb-daemon[8075]:     ckb: Corsair RGB driver v0.2.8
Dec 07 22:08:10.753132 ANSARI ckb-daemon[8075]: [I] Root controller ready at /dev/input/ckb0
Dec 07 22:08:10.767252 ANSARI ckb-daemon[8075]: [I] >>>vendor = 0x1b1c, product = 0x1b2d, path = /dev/bus/usb/010/013, syspath = /sys/devices/pci0000:00/0000:00:1d.0/usb10/10-1/10-1.4
Dec 07 22:08:10.867602 ANSARI ckb-daemon[8075]: [I] Connecting Corsair Gaming K95 RGB PLATINUM Keyboard at /dev/input/ckb1
Dec 07 22:08:10.867602 ANSARI ckb-daemon[8075]: [I] claiming interfaces. name=Corsair Gaming K95 RGB PLATINUM Keyboard, firmware=0107; Got >> 3<< as ep_str
Dec 07 22:08:10.867602 ANSARI ckb-daemon[8075]: [I] claiming 3 endpoints
Dec 07 22:08:11.191016 ANSARI ckb-daemon[8075]: [I] Starting input thread for /dev/input/ckb1
Dec 07 22:08:11.306647 ANSARI ckb-daemon[8075]: [E] getfwversion (firmware.c:18): Bad input header
Dec 07 22:08:11.306647 ANSARI ckb-daemon[8075]: [W] _start_dev (device.c:41): Unable to load firmware version/poll rate
Dec 07 22:08:11.307097 ANSARI ckb-daemon[8075]: [I] Setup finished for /dev/input/ckb1

Daemon on last boot:
Specifying boot ID has no effect, no persistent journal was found

@Ravenslofty
Copy link
Contributor

Ravenslofty commented Dec 9, 2017

Please join us in IRC so we can help you better. It's hard to communicate for this kind of thing on GitHub.

@KenEucker
Copy link

Did we ever get the MM800 Polaris? It's the only device in my corsair lineup that isn't recognized by ckb-next.

@tatokis
Copy link
Collaborator

tatokis commented Feb 16, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests