forked from Minki/linux
aed80bb91d
Extend aquacomputer_d5next driver to expose various hardware sensors of the Aquacomputer High Flow Next flow sensor, which communicates through a proprietary USB HID protocol. The High Flow Next exposes +5V voltages, water quality, conductivity and flow readings. A temperature sensor can be connected to it, in which case it provides its reading and an estimation of the dissipated/absorbed power in the liquid cooling loop. Additionally, serial number and firmware version are exposed through debugfs. Registry offsets were discovered and tested by users on Github [1] [2]. [1] https://github.com/aleksamagicka/aquacomputer_d5next-hwmon/issues/8 [2] https://github.com/aleksamagicka/aquacomputer_d5next-hwmon/pull/34 Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com> Link: https://lore.kernel.org/r/20220907100739.806571-1-savicaleksa83@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
80 lines
3.1 KiB
ReStructuredText
80 lines
3.1 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
Kernel driver aquacomputer-d5next
|
|
=================================
|
|
|
|
Supported devices:
|
|
|
|
* Aquacomputer D5 Next watercooling pump
|
|
* Aquacomputer Farbwerk RGB controller
|
|
* Aquacomputer Farbwerk 360 RGB controller
|
|
* Aquacomputer Octo fan controller
|
|
* Aquacomputer Quadro fan controller
|
|
* Aquacomputer High Flow Next sensor
|
|
|
|
Author: Aleksa Savic
|
|
|
|
Description
|
|
-----------
|
|
|
|
This driver exposes hardware sensors of listed Aquacomputer devices, which
|
|
communicate through proprietary USB HID protocols.
|
|
|
|
For the D5 Next pump, available sensors are pump and fan speed, power, voltage
|
|
and current, as well as coolant temperature and eight virtual temp sensors. Also
|
|
available through debugfs are the serial number, firmware version and power-on
|
|
count. Attaching a fan to it is optional and allows it to be controlled using
|
|
temperature curves directly from the pump. If it's not connected, the fan-related
|
|
sensors will report zeroes.
|
|
|
|
The pump can be configured either through software or via its physical
|
|
interface. Configuring the pump through this driver is not implemented, as it
|
|
seems to require sending it a complete configuration. That includes addressable
|
|
RGB LEDs, for which there is no standard sysfs interface. Thus, that task is
|
|
better suited for userspace tools.
|
|
|
|
The Octo exposes four physical and sixteen virtual temperature sensors, as well as
|
|
eight PWM controllable fans, along with their speed (in RPM), power, voltage and
|
|
current.
|
|
|
|
The Quadro exposes four physical and sixteen virtual temperature sensors, a flow
|
|
sensor and four PWM controllable fans, along with their speed (in RPM), power,
|
|
voltage and current.
|
|
|
|
The Farbwerk and Farbwerk 360 expose four temperature sensors. Additionally,
|
|
sixteen virtual temperature sensors of the Farbwerk 360 are exposed.
|
|
|
|
The High Flow Next exposes +5V voltages, water quality, conductivity and flow readings.
|
|
A temperature sensor can be connected to it, in which case it provides its reading
|
|
and an estimation of the dissipated/absorbed power in the liquid cooling loop.
|
|
|
|
Depending on the device, not all sysfs and debugfs entries will be available.
|
|
Writing to virtual temperature sensors is not currently supported.
|
|
|
|
Usage notes
|
|
-----------
|
|
|
|
The devices communicate via HID reports. The driver is loaded automatically by
|
|
the kernel and supports hotswapping.
|
|
|
|
Sysfs entries
|
|
-------------
|
|
|
|
================ ==============================================================
|
|
temp[1-20]_input Physical/virtual temperature sensors (in millidegrees Celsius)
|
|
fan[1-8]_input Pump/fan speed (in RPM) / Flow speed (in dL/h)
|
|
power[1-8]_input Pump/fan power (in micro Watts)
|
|
in[0-7]_input Pump/fan voltage (in milli Volts)
|
|
curr[1-8]_input Pump/fan current (in milli Amperes)
|
|
pwm[1-8] Fan PWM (0 - 255)
|
|
================ ==============================================================
|
|
|
|
Debugfs entries
|
|
---------------
|
|
|
|
================ =================================================
|
|
serial_number Serial number of the device
|
|
firmware_version Version of installed firmware
|
|
power_cycles Count of how many times the device was powered on
|
|
================ =================================================
|