This is a hwmon Linux kernel driver supporting the following Aquacomputer devices:
Device | Supported since kernel | Functionality | Microcontroller |
---|---|---|---|
D5 Next | 5.15 | Various sensors, direct fan PWM control (6.0+) | ? |
Farbwerk 360 | 5.18 | Temperature sensors | MCF51JU128VHS |
Farbwerk | 5.19 | Temperature sensors | ? |
Octo | 5.19 | Temperature and fan sensors, direct fan PWM control | MCF51JU128VLH |
Quadro | 6.0 | Temperature, flow and fan sensors, direct fan PWM control | MCF51JU128VHS |
High Flow Next | 6.1 | Various sensors | / |
Aquaero 5/6 | Available here | Temperature sensors, fan sensors, direct fan PWM control, DC/PWM mode setting | MCF51JM128EVLK |
The above table shows what devices this driver supports and starting from which kernel version, if applicable. Microcontrollers are noted for general reference, as this driver only communicates through HID reports and does not interact with the device CPU & electronics directly.
Being a standard hwmon
driver, it provides readings via sysfs
, which are easily accessible through lm-sensors
as
usual. Here's example output for some of the devices:
[aleksa@fedora linux]$ sensors
d5next-hid-3-3
Adapter: HID adapter
Pump voltage: 12.10 V
Fan voltage: 12.12 V
+5V voltage: 5.04 V
Pump speed: 1970 RPM
Fan speed: 1332 RPM
Coolant temp: +25.2°C
Pump power: 2.73 W
Fan power: 420.00 mW
Pump current: 226.00 mA
Fan current: 35.00 mA
octo-hid-3-8
Adapter: HID adapter
Fan 1 voltage: 0.00 V
Fan 2 voltage: 0.00 V
Fan 3 voltage: 0.00 V
Fan 4 voltage: 0.00 V
Fan 5 voltage: 0.00 V
Fan 6 voltage: 0.00 V
Fan 7 voltage: 0.00 V
Fan 8 voltage: 12.08 V
Fan 1 speed: 0 RPM
Fan 2 speed: 0 RPM
Fan 3 speed: 0 RPM
Fan 4 speed: 0 RPM
Fan 5 speed: 0 RPM
Fan 6 speed: 0 RPM
Fan 7 speed: 0 RPM
Fan 8 speed: 354 RPM
Sensor 1: N/A
Sensor 2: N/A
Sensor 3: N/A
Sensor 4: +31.9°C
Fan 1 power: 0.00 W
Fan 2 power: 0.00 W
Fan 3 power: 0.00 W
Fan 4 power: 0.00 W
Fan 5 power: 0.00 W
Fan 6 power: 0.00 W
Fan 7 power: 0.00 W
Fan 8 power: 100.00 mW
Fan 1 current: 0.00 A
Fan 2 current: 0.00 A
Fan 3 current: 0.00 A
Fan 4 current: 0.00 A
Fan 5 current: 0.00 A
Fan 6 current: 0.00 A
Fan 7 current: 0.00 A
Fan 8 current: 9.00 mA
[leo@manjaro]$ sensors
quadro-hid-3-3
Adapter: HID adapter
Fan 1 voltage: 12.13 V
Fan 2 voltage: 12.13 V
Fan 3 voltage: 12.13 V
Fan 4 voltage: 12.13 V
Fan 1 speed: 643 RPM
Fan 2 speed: 1756 RPM
Fan 3 speed: 659 RPM
Fan 4 speed: 650 RPM
Flow speed [l/h]: 60 RPM
Sensor 1: +33.9°C
Sensor 2: +25.3°C
Sensor 3: +37.6°C
Sensor 4: +33.3°C
Fan 1 power: 290.00 mW
Fan 2 power: 0.00 W
Fan 3 power: 260.00 mW
Fan 4 power: 260.00 mW
Fan 1 current: 24.00 mA
Fan 2 current: 0.00 A
Fan 3 current: 22.00 mA
Fan 4 current: 22.00 mA
Only notable parts are listed:
-
aquacomputer_d5next.c - the driver itself
-
Reverse engineering docs - WIP, documents explaining how the devices communicate to help understand what the driver does
-
Kernel docs - driver documentation for the kernel
Ideally, you are on a recent kernel and your distro includes it. If that's the case, you should already have this driver available! Refer to the table in the overview above to check.
If you're not, or your kernel does not have the driver support for your particular device, you can clone this repository and compile the driver yourself.
First, clone the repository by running:
git clone https://github.com/aleksamagicka/aquacomputer_d5next-hwmon.git
Then, compile it and insert it into the running kernel, replacing the existing instance (if needed):
make dev
You can then try running sensors
and your devices should be listed there. If the compilation fails, you probably have
an older, possibly LTS kernel that does not have the functionality that this driver uses. In that case, you can modify the driver, following what the compiler says, or upgrade to a newer kernel (see #28 for an example).