Hagbard Celine Posted November 16, 2017 Share Posted November 16, 2017 Last I noticed about the AX1500i was the screenshot of USB analyzer earlier. Anybody have any (partial) protocol for it yet? Happy to work on code myself, but don't want to send it the wrong signal and fry it :( There is some code here: https://github.com/cloudkitsch/cpsumon that is reported to be half working. There is also https://github.com/audiohacked/OpenCorsairLink who has just started on AXi support. Disclamer: I've not had time to try any of them myself yet. Link to comment Share on other sites More sharing options...
kakaginuvu Posted November 18, 2017 Share Posted November 18, 2017 I'm assuming most people don't have the HX750i, us developers are unable to add support without supporting information. Needed info is the Product ID and a dump of the USB descriptors for the HX750i. Stuff found in 'lsusb'. Link to comment Share on other sites More sharing options...
migabriel Posted November 21, 2017 Share Posted November 21, 2017 Hello everyone, I'm trying to change the LED colour on my H80i v2 under windows 10 but with no luck. What I have done so far. 1. In C# I've used HidLibrary from nu get as Thatualle1970 has pointed out but it doesn't find the device. 2. I have change the driver on the device using Zadig and set up the device with WinUSB, libusb-win32, libusbK but HidLibrary was unable to find the device using VID and PID 3. I have tried the C++ solution from dwmccauley using hidusb but it looks like I can't find the device. And the enumerable devices are only hid devices. I probably need another driver for the device The only way I could find the device was using LibUsbDotNet ( libusb for C# ), .NET I was able to find the device with WinUSB driver installed on the device. But I don't know to use libusb or what protocol or endpoint to use to send data. Any advice will be helpful. Thank you Link to comment Share on other sites More sharing options...
B. Student Posted December 3, 2017 Share Posted December 3, 2017 QUESTION: I have a linux box and wonder if rather than dive into low-level programming (which I can do) can I just connect the USB inputs from a Windows box runninig corsair link software? IE is all ctrl is done via USB? Link to comment Share on other sites More sharing options...
DevBiker Posted December 3, 2017 Share Posted December 3, 2017 Yes, all control is via USB. Link to comment Share on other sites More sharing options...
irishismyname Posted December 26, 2017 Share Posted December 26, 2017 First, off awesome work on this to everyone. It's really amazing to see a community come together to solve such a difficult problem without vendor support. Anyway, I was about to get started on a power consumption meter app for the HX1000i/HX1200i but I thought I should try to understand the USB bus traffic first. I used Wireshark/USBPcap to grab the frames for a HX1000i and I've seen the following "leftover capture data" in the USB interrupt frames: Address? Response 0x0388 0xE6F8 0x0390 0x9010 0x033B 0x1B00 0x034F 0x4600 0x038D 0xD0F0 0x038E 0x87F0 0x03D8 0x0200 0x03EE 0x3E09 0x0200 0x0000 0x038C 0xD2F0 0x038B 0x02D3 0x0340 0xE6D3 0x0344 0x1AD2 0x0346 0x80E2 0x0396 0x02F8 0x020001 0x0000 0x020002 0x0000 The format is similar to what's described in CFSWorks first post, I'm seeing what I think is a register read request (i.e. 0x0388) and a response (i.e. 0x0388E6F8) all padded to 64 bytes, but I can't make sense of it using the I/O register tables in this thread. Am I missing something? I'm going crazy trying to understand the traffic going to/from this device. Link to comment Share on other sites More sharing options...
Hagbard Celine Posted February 6, 2019 Share Posted February 6, 2019 (edited) Edit2: Correction: I did NOT correct the problem, it just worked by fluke. Guess this is my cue to learn to use my DSLogic 16 logic analyzer(Don't hold your breath), I'll be back with updates IF I get somewhere.. Edit: Just ignore my request for copy of repo. I belive I got it working, updated code here: https://github.com/Hagbard-Celin/cpsumon There is some code here: https://github.com/cloudkitsch/cpsumon that is reported to be half working. Does anyone have a copy of this repo? I only got the cpsufancli.c file, which used to work when paired with https://github.com/ka87/cpsumon. But after a HD crash and reinstall I can not get that combo to work anymore. Edited February 6, 2019 by Hagbard Celine Link to comment Share on other sites More sharing options...
Hagbard Celine Posted February 12, 2019 Share Posted February 12, 2019 OK, this time I have actually tested my new fix to the point I'm positive it works on AX860i at least. Updated code here: https://github.com/Hagbard-Celin/cpsumon Link to comment Share on other sites More sharing options...
aweber Posted June 17, 2019 Share Posted June 17, 2019 Hi all...13 pages on this and I read the majority of it... I'm a software dev, but new to the Link/CUE hardware! Just looking to see if anyone ever put together a C/C# library to control fans (and possibly read temps) connected to the Commander Pro? I'd like to go further than the Link (or iCUE) software lets me go with fan speeds based upon multiple sensors, etc. I've learned over the years not to "re-invent the wheel", so if there's any shared code or libraries/assemblies I haven't found, I'd appreciate the links. Really awesome stuff by everyone on this thread. It was a long read, but I am duly impressed. :) Thanks in advance. Link to comment Share on other sites More sharing options...
Legion2 Posted July 11, 2019 Share Posted July 11, 2019 I created a C++ library for Arduino to use it as Lighting Node PRo or Commander PRO. It can control fans, read temp sensors and control led strips. The code is open source on GitHub https://github.com/Legion2/CorsairLightingProtocol , it's not exactly what you are looking for, but can help you understand the protocol. Link to comment Share on other sites More sharing options...
Kvalme Posted September 29, 2020 Share Posted September 29, 2020 If someone is still interested. There are dirty version of kernel module for PSU corsair link support. For now it works only with HX1000i (I don't have other HW to test). It's fully functional: Reads voltage, current, power and fan speed. If someone is interested in assistance - would be great to have usb id's of other PSUs. Here is the source code (it's very dirty at that moment and based on OpenCorsairLink and CorsairCommander kernel driver). Only RMI based protocol supported. https://github.com/Kvalme/corsairlink It's fully compatible with hwmon infrastructure: ls /sys/class/hwmon/hwmon7 curr1_input curr2_input curr3_input device fan1_label in0_label in1_label in2_label in3_label power power1_label power2_label power3_label power4_label temp1_input uevent curr1_label curr2_label curr3_label fan1_input in0_input in1_input in2_input in3_input name power1_input power2_input power3_input power4_input subsystem temp2_input sensors output: corsairlink-hid-3-16 Adapter: HID adapter Power supply: 230.00 V +12V: 11.94 V +5V: 4.97 V +3.3V: 3.31 V fan1: 4247 RPM temp1: +45.0°C temp2: +29.4°C Power supply: 480.00 W +12V: 380.00 W +5V: 77.00 W +3.3V: 10.00 W Power supply: 33.00 A +12V: 15.50 A +5V: 3.00 A Current readings contains incorrect names currently :) It's +12, +5 and +3.3 lines Fan readings seems to be incorrect. Need to check for divisor Link to comment Share on other sites More sharing options...
Recommended Posts