jaksi / leviathan

Linux kernel module to control and monitor NZXT liquid coolers
GNU General Public License v2.0
89 stars 14 forks source link
driver kraken linux nzxt x31 x41 x61

kraken

Linux device driver that supports controlling and monitoring NZXT Kraken water coolers

NZXT is NOT involved in this project, do NOT contact them if your device is damaged while using this software.

Also, while it doesn't seem like the hardware could be damaged by silly USB messages (apart from overheating), I do NOT take any responsibility for any damage done to your cooler.

Supported devices

If you have an unsupported liquid cooler and want to help out, see CONTRIBUTING.md.

Installation

Make sure the headers for the kernel you are running are installed.

make
sudo insmod kraken.ko

Usage

The driver can be controlled with device files under /sys/bus/usb/drivers/kraken.

Find the symbolic links that point to the connected compatible devices. In my case, there's only one Kraken connected.

/sys/bus/usb/drivers/kraken/2-1:1.0 -> ../../../../devices/pci0000:00/0000:00:06.0/usb2/2-1/2-1:1.0

Changing the speed

The speed must be between 30 and 100.

echo SPEED > /sys/bus/usb/drivers/kraken/DEVICE/speed

Changing the color

The color must be in hexadecimal format (e.g., ff00ff for magenta).

echo COLOR > /sys/bus/usb/drivers/kraken/DEVICE/color

The alternate color for the alternating mode can be set similarly.

echo COLOR > /sys/bus/usb/drivers/kraken/DEVICE/alternate_color

Changing the alternating and blinking interval

The interval is in seconds and must be between 1 and 255.

echo INTERVAL > /sys/bus/usb/drivers/kraken/DEVICE/interval

Changing the mode

The mode must be one of normal, alternating, blinking and off.

echo MODE > /sys/bus/usb/drivers/kraken/DEVICE/mode

Monitoring the liquid temperature

The liquid temperature is returned in °C.

cat /sys/bus/usb/drivers/kraken/DEVICE/temp

Monitoring the pump speed

The pump speed is returned in RPM.

cat /sys/bus/usb/drivers/kraken/DEVICE/pump

Monitoring the fan speed

The fan speed is returned in RPM.

cat /sys/bus/usb/drivers/kraken/DEVICE/fan