1.. SPDX-License-Identifier: GPL-2.0-or-later
2
3Kernel driver aquacomputer-d5next
4=================================
5
6Supported devices:
7
8* Aquacomputer Aquaero 5/6 fan controllers
9* Aquacomputer D5 Next watercooling pump
10* Aquacomputer Farbwerk RGB controller
11* Aquacomputer Farbwerk 360 RGB controller
12* Aquacomputer Octo fan controller
13* Aquacomputer Quadro fan controller
14* Aquacomputer High Flow Next sensor
15* Aquacomputer Leakshield leak prevention system
16* Aquacomputer Aquastream XT watercooling pump
17* Aquacomputer Aquastream Ultimate watercooling pump
18* Aquacomputer Poweradjust 3 fan controller
19
20Author: Aleksa Savic
21
22Description
23-----------
24
25This driver exposes hardware sensors of listed Aquacomputer devices, which
26communicate through proprietary USB HID protocols.
27
28The Aquaero devices expose eight physical, eight virtual and four calculated
29virtual temperature sensors, as well as two flow sensors. The fans expose their
30speed (in RPM), power, voltage and current. Temperature offsets and fan speeds
31can be controlled.
32
33For the D5 Next pump, available sensors are pump and fan speed, power, voltage
34and current, as well as coolant temperature and eight virtual temp sensors. Also
35available through debugfs are the serial number, firmware version and power-on
36count. Attaching a fan to it is optional and allows it to be controlled using
37temperature curves directly from the pump. If it's not connected, the fan-related
38sensors will report zeroes.
39
40The pump can be configured either through software or via its physical
41interface. Configuring the pump through this driver is not implemented, as it
42seems to require sending it a complete configuration. That includes addressable
43RGB LEDs, for which there is no standard sysfs interface. Thus, that task is
44better suited for userspace tools.
45
46The Octo exposes four physical and sixteen virtual temperature sensors, as well as
47eight PWM controllable fans, along with their speed (in RPM), power, voltage and
48current.
49
50The Quadro exposes four physical and sixteen virtual temperature sensors, a flow
51sensor and four PWM controllable fans, along with their speed (in RPM), power,
52voltage and current. Flow sensor pulses are also available.
53
54The Farbwerk and Farbwerk 360 expose four temperature sensors. Additionally,
55sixteen virtual temperature sensors of the Farbwerk 360 are exposed.
56
57The High Flow Next exposes +5V voltages, water quality, conductivity and flow readings.
58A temperature sensor can be connected to it, in which case it provides its reading
59and an estimation of the dissipated/absorbed power in the liquid cooling loop.
60
61The Leakshield exposes two temperature sensors and coolant pressure (current, min, max and
62target readings). It also exposes the estimated reservoir volume and how much of it is
63filled with coolant. Pump RPM and flow can be set to enhance on-device calculations,
64but this is not yet implemented here.
65
66The Aquastream XT pump exposes temperature readings for the coolant, external sensor
67and fan IC. It also exposes pump and fan speeds (in RPM), voltages, as well as pump
68current.
69
70The Aquastream Ultimate pump exposes coolant temp and an external temp sensor, along
71with speed, power, voltage and current of both the pump and optionally connected fan.
72It also exposes pressure and flow speed readings.
73
74The Poweradjust 3 controller exposes a single external temperature sensor.
75
76Depending on the device, not all sysfs and debugfs entries will be available.
77Writing to virtual temperature sensors is not currently supported.
78
79Usage notes
80-----------
81
82The devices communicate via HID reports. The driver is loaded automatically by
83the kernel and supports hotswapping.
84
85Sysfs entries
86-------------
87
88================ ==============================================================
89temp[1-20]_input Physical/virtual temperature sensors (in millidegrees Celsius)
90temp[1-8]_offset Temperature sensor correction offset (in millidegrees Celsius)
91fan[1-8]_input   Pump/fan speed (in RPM) / Flow speed (in dL/h)
92fan1_min         Minimal fan speed (in RPM)
93fan1_max         Maximal fan speed (in RPM)
94fan1_target      Target fan speed (in RPM)
95fan5_pulses      Quadro flow sensor pulses
96power[1-8]_input Pump/fan power (in micro Watts)
97in[0-7]_input    Pump/fan voltage (in milli Volts)
98curr[1-8]_input  Pump/fan current (in milli Amperes)
99pwm[1-8]         Fan PWM (0 - 255)
100================ ==============================================================
101
102Debugfs entries
103---------------
104
105================ =================================================
106serial_number    Serial number of the device
107firmware_version Version of installed firmware
108power_cycles     Count of how many times the device was powered on
109================ =================================================
110