KrakenX52/62
Hello,
I have an X52 and, by following your instructions, I managed to create a python script similar to yours that can control it on Linux! I'd like to contribute it to your project.
There are two things I'd like to discuss.
First, X52/62 is a bit (a lot?) more complicated in terms of light controls. There are 8 separate LEDs on the rim, and text color is controlled separately too. There are 7 different color modes. The commandline flags needed to control this sort of thing is not compatible with the flags you already have. Specifically, I control lights using --mode, --animation_speed, --color_count, --color0, --color1, ... --color7, as well as --text_color.
Should we have separate binaries? Or one binary that accepts all the flags? Or one binary that detects which device is being used and parses flags based on that?
Second, while I found fan and pump control bytes in the control message by messing with CAM, I could not verify that the flag works because I can't read fan and pump speed on my AMD B350 motherboard. It just doesn't work, I tried to fix it but I'm either getting zeros or nonsense. Right now my script is sending pump and fan speed along with everything else but I'm not sure if it works or not. What do you think I should do?
Thanks, Ksenija
I would appreciate the X62 support!
That's awesome, thanks a lot for your work!
Should we have separate binaries?
That depends on exactly how different the protocol is. I've found your repository, I'll take a look and think about it.
Also, not too long ago I've started working on a Linux device driver on a branch, it would be great if it supported both the X61 and X62/X52. I'm happy to add support for the X62 based on your implementation, but since I don't have the device myself, I'll probably ask you to test the driver.
When you're ready, I can provide some feedback with my X62. @KsenijaS can probably test with the X52?
Well protocol is a lot different and I should probably document it somewhere. For example there is no initialization or control message, Byte 0 is always 0x02 and Byte 1 is message type (color, fan speed, pump speed). And from byte 2 to 4 is mode of color lighting, after that are 9 colors each represented with 3 bytes in message from the host.
Also when you're finished with the implementation of device driver I will test it with my X52 and provide you feedback.
I'd just like to draw your attention to this repository in case it is useful: https://github.com/leaty/camctl
I run an X41 myself.
I'm always happy to test the latest and greatest builds on the Kraken X41 as well; just give me a shout.
@jaksi Looks like the x62 is the same central controller piece, but with the 140mm fan & radiator vs the x52 at 120mm. My x62 comes back as the same vendor and product ID. Not sure if there are any differences but krakenx by @KsenijaS does work with the x62