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