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

Support for Corsair H100i/H115i/H150i PRO XT #80

Closed
3 tasks done
jonasmalacofilho opened this issue Jan 29, 2020 · 20 comments · Fixed by #82
Closed
3 tasks done

Support for Corsair H100i/H115i/H150i PRO XT #80

jonasmalacofilho opened this issue Jan 29, 2020 · 20 comments · Fixed by #82
Labels
new device Support for a new device

Comments

@jonasmalacofilho
Copy link
Member

jonasmalacofilho commented Jan 29, 2020

Corsair has launched a new PRO XT line, very unlike the previous PRO series: these devices use CoolIT pumps (PRO series used a Asetek 6th gen. design) and the non-RGB are fast now (PRO series used low-speed fans).

H100i PRO XT
H115i PRO XT
H150i PRO XT

Corsair claims these are the most performant coolers they make so far, specifically stating that the CoolIT pump is a significant improvement over the Asetek one. If that's indeed true (at reasonable fan speeds/noise levels), the H150i PRO XT might end up being quite popular.

I also imagine that the protocol will be the same (or share a lot with the one) used in the RGB Platinum line (see #76).

Please add a 👍 if you are interested in support for either of these devices.

Additionally, if you have one of these, please get in touch (a comment is fine, but you can also reach me by email) so we can work together on the new driver.


Status:

  • Collect basic USB data for these devices (at least vendor and product IDs)
  • Inspect and analyze the new protocol (monitoring, cooling and lighting)
  • Implement and test the new driver
@jonasmalacofilho jonasmalacofilho added help wanted new device Support for a new device labels Jan 29, 2020
@jonasmalacofilho jonasmalacofilho changed the title Support for Corsair H100i, H115i and H150i PRO XT coolers Support for Corsair H100i/H115i/H150i PRO XT coolers Jan 29, 2020
@jonasmalacofilho jonasmalacofilho changed the title Support for Corsair H100i/H115i/H150i PRO XT coolers Support for Corsair H100i/H115i/H150i PRO XT Jan 29, 2020
@audiohacked
Copy link

I just ordered the H115i PRO XT. As soon as I have time, I'll get some protocol dumps.

@jonasmalacofilho
Copy link
Member Author

@audiohacked that's great, thanks.

@viggy96
Copy link

viggy96 commented Apr 23, 2020

Does this apply to the non-XT models as well, like the H150i Pro? Or is that device already supported?

@jonasmalacofilho
Copy link
Member Author

@viggy96 for the non-XT Pros you should follow #106.

@audiohacked
Copy link

@jonasmalacofilho I think the protocol for the RGB Pro XT is the same as the Platinum.

@jonasmalacofilho
Copy link
Member Author

@audiohacked

That's great to know/confirm. But how is the additional fan of the H150i handled?

In the Platinum responses we have distinct fields for each fan speed, and the pump speed is in the way of naively adding a third fan to that response.

@audiohacked
Copy link

I have both the H100i RGB Platinum and the H115i RGB Pro XT (installed), and both only control 2 fans. I would assume for the H150i that the 3rd fan is inserted into where the pump is on the H100i and H115i. I've seen the pattern that the physical fans are then followed by the pump (across any/majority Corsair AIO).

Also, I've been mapping the LED control and FAN control.

@jonasmalacofilho
Copy link
Member Author

That makes sense. When I have some time I'll use a mock USB device to confirm this (and will let you know).

Another question: how are you handling the sequence numbers in each command? I remember reading somewhere that ignoring them (i.e. sending a constant value) eventually caused issues like making the device unresponsive. How have you implemented that, and what has been your experience so far?

@audiohacked
Copy link

I haven't implemented anything other than what's in liquidctl already. I've been using Wireshark and capturing packets.

@audiohacked
Copy link

I was thinking of retiring OpenCorsairLink and redirecting users to use liquidctl.

@jonasmalacofilho
Copy link
Member Author

If you do (or even if you don't), I would be very happy to have you here, maybe focusing on new drivers or involved in some other way that interests you.

@audiohacked
Copy link

It's getting harder to work on OCL, since fewer people are able to program in C, and with my job I'm always traveling. So, I think it might be best if OCL is retired.

@audiohacked
Copy link

I think I've pretty much nailed down the Fan Control. https://github.com/audiohacked/Corsair-RE/blob/master/Corsair/AIO/RGB_Pro_XT/Fan_control.txt

@jonasmalacofilho
Copy link
Member Author

@audiohacked

Thanks, I'm taking a look.

@jonasmalacofilho jonasmalacofilho linked a pull request Jun 13, 2020 that will close this issue
@jonasmalacofilho
Copy link
Member Author

Can I ask some of you to review (and, at your discretion, test) the code in #82? I would like to known that the most basic stuff works before implementing the remaining features.

Note that they may be gross errors in the implementation since I don't have any way to test that code.

@jonasmalacofilho
Copy link
Member Author

Now asking you to specifically test the code. Please take a look at #82 (comment).

jonasmalacofilho added a commit that referenced this issue Jun 19, 2020
Add support for the following coolers:

* Corsair H100i Platinum
* Corsair H115i Platinum
* Corsair H100i PRO XT
* Corsair H115i PRO XT

The following coolers are left for later:

* Corsair H100i Platinum SE: missing device ID, but should work without other changes
* Corsair H150i PRO XT: will require extending get_cooling and set_cooling to three fans

Related: #76 ("Support for Corsair H100i/H115i Platinum")
Related: #80 ("Support for Corsair H100i/H115i/H150i PRO XT")
@DrymarchonShaun
Copy link

My H100i RGB PRO XT is initialized, the fan control works, but lighting does not seem to be working at all. (No idea how this works on the backend, if you need me to paste the output of any commands just ask, basically, i'm useless with any of the important end of this.)

@jonasmalacofilho
Copy link
Member Author

@ShaunTheQuietGamer

I'll try to take a look this weekend, but can you please open a new issue to remind me? And yes, please include the arguments and output of the commands that fail (adding the --debug flag for additional information).

@Steamkraft
Copy link

Hi - I just received my H150i PRO XT and would love to help getting this to work :)

@jonasmalacofilho
Copy link
Member Author

@Steamkraft

A few changes are needed to support the H150i. You can take a look at #138 and see if you're able to figure out/implement the necessary modifications to the hydro_platinum module.

There's some additional documentation specific for developers in docs/developer/, and all previous traffic captures are archived in liquidctl-device-data (but since you have one of these coolers, you're probably better off doing your own captures).


Locking this issue because it doesn't make sense to continue discussions here.

@liquidctl liquidctl locked as resolved and limited conversation to collaborators Aug 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
new device Support for a new device
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants