9/17/2023 0 Comments Corsair link fancontrol ubuntu![]() Therefore, if I issue "B7 09 AA", the reply will be "B7 09 XX XX" (where XX XX are the contents of register AA).Ġ6 - A single '06' is sent in reply, as an acknowledgement of the writeĠ7 - A single '07', followed by the byte in the register requested.Ġ8 - A single '08', as an acknowledgement.Ġ9 - A single '09', followed by the two-byte contents of the register.ĠB - A single '0B', followed by the length byte, followed by the register contents. Typically, (though not always), the first byte of the reply will be the command opcode. There is no length tag, so the host must know how long each command's reply will be. The message consists purely of replies.Ī "reply" consists of the command ID (one byte), followed by one or more bytes. Unlike the output, there is no length tag at the beginning of the message. Like with the output, the input reports are also zero-padded 64 bytes. Here are the commands that I have found so far:Ġ6 AA BB - Write BB into one-byte register AAĠ8 AA BB CC - Write BB CC into two-byte register AAĠA AA 03 00 11 22 - Write 3-byte sequence (00 11 22) into 3-byte register AA A command consists of the command ID (one byte, used to identify the command when the device responds), the command opcode (one byte), and any arguments that the command expects. The message payload contains one or more commands. The HID reports are formatted with a one-byte length tag (indicating how many significant bytes the message contains) followed by that many bytes, then zero-padded to a length of 64.įor example, if I wanted to send a 5-byte message to my device, I would send:Ġ5 XX XX XX XX XX 00 00 00 00 00 00 00 Output (sending commands from host->USB): The device contains a number of registers, identified by a single byte, that can be read from and written to. ![]() In this case, both the input and output are zero-padded to 64 bytes even. On Linux, open /dev/hidraw* and perform ordinary reads and writes. On Windows, you can just use the HidD_SetFeature/HidD_GetFeature calls. It also means no specialized drivers are required. This simplifies things, because the HID protocol is concerned purely with sending and receiving fixed-length buffers. The USB device is actually an HID report device. No reverse engineering of the software is being done and no licenses are being violated.Ĭorsair Link protocol overview (unverified) ![]() It should be noted that this is being done purely through observation. The H100i is pretty much the only device at my disposal, so I may end up making some generalizations here. I'm using a Windows XP VM with the Corsair Link 2 software, and USB pass-through on my H100i. To that end, I've started prodding around with the USB protocol to see how the software interacts with the hardware. This would make Corsair Link devices show up in lm_sensors. Instead, my goal is to write a kernelspace driver to integrate the Corsair Link sensors and fan control into the Linux hwmon subsystem. I'm on Linux, not Windows, so the Corsair Link software is not usable for me.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |