Re: Corsair H80i support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 23, 2013 at 03:18:03PM +0100, Bogdan Butnaru wrote:
> Hello,
> 
> I’ve recently installed a Corsair Hydro Series H80i* integrated liquid CPU
> cooler in my work computer.** It works in Linux without any software, but
> Corsair has a Windows software package with some extra features and I was
> thinking of porting some of it to Linux. I’ve only just started looking at
> reverse engineering it, and I don't even know yet what it can do, but as
> far as I can tell it should at least have sensors for the fan rotation
> speeds, and it probably has at least one temperature sensor and allows
> software control of the fans’ speeds.
> 
> I intend to reverse engineer what the Corsair software does and make a
> little application to do at least those parts that I’m interested in, but I
> thought I might integrate the relevant parts of it in existing Linux tools.
> lm-sensors is the first that came to mind, so here I am. This is a sort of
> preemptive search for information. Perhaps some of you could offer some
> pointers about how best to handle integrating the functionality in
> lm-sensors (and maybe other things where it would make sense; I'm willing
> to do some work even on programs I don’t use as an exercise, though I’m not
> sure how much time I’ll be able to spend on that). Once I have some running
> code I’ll start digging through the site and the dev docs by myself, no
> need for RTFM answers, I’m just hoping that someone with experience could
> point me to the more relevant code & documentation or give some advice to
> avoid dead-ends or common mistakes. (In particular, the FAQ says “see
> doc/developers/new_drivers”
> for instructions, but at least in trunk that file seems to be missing, is
> there any replacement somewhere?)
> 
> The cooler uses an somewhat unusual (at least in my experience) technique:
> it connects to an internal USB header on the motherboard, and presents
> itself as a USB HID (human interface device), though to my knowledge it
> uses a manufacturer-specific interface (i.e., it does not masquerade as a
> keyboard or anything like that).
> 
> AFAIK lm-sensors does not seem to have support for anything USB-based, at
> least on first sight I didn’t notice any. Some pointers towards the best
> way to handle it would be welcome.
> 
You'll have to figure out the USB command protocol. Windows has some tools to
let you do that, though it can be tricky to understand the data exchange.

Once you know the command protocol, you can implement a usb driver using it.
The driver would register itself with the usb subsystem (see module_usb_driver,
struct usb_driver, and struct usb_device_id), and register and export its
sensor(s) as well as fan control/status information like any other hwmon driver.

You could use one of the usb i2c master drivers as starting point, or any other
(simple ;) usb driver.

Good luck ...

Guenter

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux