221 Commits

Author SHA1 Message Date
Leonard Anderweit
9ae7fd514d Aquaero add pwm_enable (#91)
* aquacomputer_d5next: Restructure writing pwm_enable

Restructure writing pwm_enable to be able to add more devices easily.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>

* aquacomputer_d5next: Rename AQUAERO_CTRL_PRESET_ID to AQUAERO_CTRL_PRESET_ID_PWM

Rename AQUAERO_CTRL_PRESET_ID to AQUAERO_CTRL_PRESET_ID_PWM to allow
adding more preset ids.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>

* aquacomputer_d5next: aquaero: Read pwm_enable

Enable aquaero devices to read pwm_enable values. Aquaero devices
support 5 different control modes: automatic (100% fan speed), PWM, temp curve, PID, two point

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>

* aquacomputer_d5next: aquaero: Add writing pwm_enable

Enable setting pwm_enable on aquaero devices.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>

* aquacomputer_d5next: aquaero: Do not change control mode when setting PWM

The control mode can be changed with pwm_enable so don't change it when
setting pwm.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>

* re-docs: aquaero: readme: Document fan control

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>

---------

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2025-03-30 13:18:49 +02:00
sergiuszm
264d57c881 Add support for D5Next flow sensor
Signed-off-by: sergiuszm <indivisus@gmail.com>
2025-03-17 20:54:34 +01:00
Aleksa Savic
a95b0e05cb Improve README for dkms
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2025-03-09 18:19:31 +01:00
TsunamiMommy
3b32c6a589 Add DKMS support (#105)
* Update Makefile

Add additional targets for building dkms module and integrating existing targets.

Signed-off-by: Daniel Clark <megadjc@gmail.com>

* Add DKMS Support

Adds DKMS support and adds two useful utilities to automate installation and removal of the dkms module.

Signed-off-by: Daniel Clark <megadjc@gmail.com>

* Add DKMS Documentation.

Adds installation instructions for the DKMS Module. All previous targets such as "make checkpath" and "make dev" are supported.

Signed-off-by: Daniel Clark <megadjc@gmail.com>

* Update Makefile

Update formatting

Signed-off-by: Daniel Clark <megadjc@gmail.com>

---------

Signed-off-by: Daniel Clark <megadjc@gmail.com>
2025-03-09 18:18:03 +01:00
Aleksa Savic
baa4fd8973 checkpatch ci: ignore LINUX_VERSION_CODE
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2025-01-19 16:56:23 +01:00
Aleksa Savic
1c65e84bfa Fix unaligned.h header for good
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2025-01-19 16:52:01 +01:00
Aleksa Savic
047bfb1059 Switch to linux/unaligned.h for newer kernels
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2025-01-08 07:21:31 +01:00
Leonard Anderweit
f20c53c7ed README: Note additional sensors on poweradjust3
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2024-05-14 21:21:53 +02:00
Leonard Anderweit
dc53c694b9 aquacomputer_d5next: poweradjust3: Read flow sensor
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2024-05-14 21:21:53 +02:00
Leonard Anderweit
9814872905 aquacomputer_d5next: poweradjust3: Read fan RPM, voltage and current
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2024-05-14 21:21:53 +02:00
Leonard Anderweit
be4f3b9549 aquacomputer_d5next: poweradjust3: Read serial number and firmware version
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2024-05-14 21:21:53 +02:00
Leonard Anderweit
42a4ad79e9 aquacomputer_d5next: legacy_read: Read serial number and firmware version as common case
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2024-05-14 21:21:53 +02:00
Leonard Anderweit
a4caf422cf aquacomputer_d5next: poweradjust3: Add fan IC temp
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2024-05-14 21:21:53 +02:00
Leonard Anderweit
2ef9865a91 re-docs: poweradjust3: Add sensor report and corresponding pattern
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2024-05-14 21:21:53 +02:00
Aleksa Savić
e875444df1 Note Octo flow sensor support in README
Signed-off-by: Aleksa Savić <savicaleksa83@gmail.com>
2024-04-29 12:37:02 +02:00
Aleksa Savic
50ec47abad Add to docs that Octo supports a flow sensor
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2024-03-31 10:49:48 +02:00
David Flemström
60a22706df Add support for Octo flow sensor (#95)
* Makefile: refactor somewhat to enable make arg propagation

Signed-off-by: David Flemström <david.flemstrom@gmail.com>

* Add support for Octo flow sensor

Signed-off-by: David Flemström <david.flemstrom@gmail.com>

* Indent OCTO_FLOW_SENSOR_OFFSET

Signed-off-by: David Flemström <david.flemstrom@gmail.com>

* Convert if statement into switch on priv->kind

Signed-off-by: David Flemström <david.flemstrom@gmail.com>

* Remove dynamic_debug register hex dumps

Signed-off-by: David Flemström <david.flemstrom@gmail.com>

* Indicate possibility that hwmon fan channel 9 might support pulses

Signed-off-by: David Flemström <david.flemstrom@gmail.com>

* Document new flow sensor Octo registers

Signed-off-by: David Flemström <david.flemstrom@gmail.com>

* Add kernel docs entry for new fan9_pulses sysfs node

Signed-off-by: David Flemström <david.flemstrom@gmail.com>

* Mention flow sensor support for Octo in kernel docs

Signed-off-by: David Flemström <david.flemstrom@gmail.com>

---------

Signed-off-by: David Flemström <david.flemstrom@gmail.com>
2024-03-29 21:48:12 +01:00
Aleksa Savic
f32f597cb4 Remove hid_device_io_stop() for Aquaero in probe
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-12-11 17:24:08 +01:00
Aleksa Savić
af7e67c549 High Flow USB and MPS Flow support is in v6.7 2023-11-02 07:15:13 +01:00
Aleksa Savic
3b03e919c1 Make completion waits in aquaero-related debugfs entries interruptible with timeout
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-10-15 12:50:25 +02:00
Aleksa Savić
a8a5dde1fd Fix aquaero sensor report completion handling (#92)
* Move aquaero completion to aqc_data and initialize in probe

* Comment to explain the use of the completion

Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-09-24 09:36:36 +02:00
Aleksa Savic
9db899269a Add some missing breaks in aqc_is_visible() and update comment
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-09-24 08:57:13 +02:00
Aleksa Savic
4f37078b85 Add missing hid_device_io_stop() in aqc_probe()
Fixes dda741dfa8.

Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-09-24 08:16:50 +02:00
Aleksa Savic
32edfa17db Add MPS Flow to docs, driver and README
Closes #89.

Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-09-17 15:30:07 +02:00
Aleksa Savic
97847e9d62 Note that High Flow USB is a "legacy" device
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-09-06 08:18:43 +02:00
Leonard Anderweit
8363824a28 highflow: Add flow meter
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2023-09-03 19:36:57 +02:00
Leonard Anderweit
8cf35ecadb Add Aquacomputer High Flow USB
Support for 2 temperature sensors, firmware version and serial number.

Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2023-09-03 19:36:57 +02:00
Leonard Anderweit
2dfa3c845b Makefile: Checkpatch docs
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2023-09-03 19:36:57 +02:00
Leonard Anderweit
00d603e26b Check if temp sensors of legacy devices are connected
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2023-09-03 19:36:57 +02:00
Aleksa Savić
5411d27164 Add a reminder to the PR template to load values for exposed entries 2023-09-02 15:36:20 +02:00
Aleksa Savić
1d471c62b2 Fix Poweradjust 3 reference in RE docs and make it clear why others files are there 2023-09-02 15:22:15 +02:00
Aleksa Savić
f2dab75116 Mark it clearly in README that only HID reports are used 2023-08-25 07:08:08 +02:00
Leonard Anderweit
fb2c8ab1a8 workflows: compile-driver: Use kernel v6.4
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2023-08-12 20:59:37 +02:00
Krzysztof Kozlowski
00f53e9ea7 hwmon: aquacomputer: constify pointers to hwmon_channel_info
Statically allocated array of pointed to hwmon_channel_info can be made
const for safety.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
(kernel commit 832dc5106e813b4dc942bce27f89819f8d21fbd7)
Signed-off-by: Leonard Anderweit <leonard.anderweit@gmail.com>
2023-08-12 20:59:37 +02:00
Aleksa Savic
758270f4f7 Record time of last ctrl report operation and delay if necessary
Replaces the previous attempt at fixing this.

Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-08-12 20:57:04 +02:00
Aleksa Savic
4e34ec1e4b Note level of pwm_mode support for Aquaero versions in docs
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-07-30 11:21:00 +02:00
Aleksa Savic
486250e0a5 Make compile-driver Github CI work on all branches and use v6.2
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-07-29 20:40:13 +02:00
Aleksa Savic
fd6afa5450 Add missing break and new line for hwmon_pwm_mode write
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-07-29 20:10:47 +02:00
Aleksa Savic
f8e9dd425f Replace µ with u, to be on the safe side
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-07-28 21:00:03 +02:00
Aleksa Savić
c04f3a5996 Fix -EPIPE/-ENODATA errors after writing to sysfs entries in quick succession (#83)
* Add a 200ms sleep after sending ctrl reports to some devices
* Add D5 Next into the mix & convert to switch case

Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-07-18 21:38:36 +02:00
Aleksa Savić
083a6d945e Rework & update docs (#74)
* Make device descriptions match state upstream
* Rework pwm_enable value descriptions; add curve control references
* Create a starting PROTOCOLS.MD document
* Add missing fan_min, fan_max and fan_target entries from kernel docs
* Document current and total Aquaero uptime
* Remove extra line break
* Note Aquaero temp offsets, Aquastream XT PWM functionality
* Prettify table in README
* Clean up README and add submitting changes section
* Explain usage and upstreaming differences
* Add naming convention, sensor flapping in README
* Add curve params and explanations
* Misc PROTOCOLS.MD changes before actual work
* Add descriptions to PROTOCOLS for nearly all devices
* Removed separate D5 Next readme
---------

Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-07-05 19:13:21 +02:00
Aleksa Savić
dda741dfa8 Support for temp-PWM curves and parameters (#62)
* Remix sysfs attribute template and generation code from nct6683
* Add general curve info
* Implement reading temp points on curve, format line
* Implement reading PWM points on curve
* Implement writing PWM points in curve
* Implement writing temp points on curve; small formatting fixes
* Enable fan curves for Octo and Quadro only
* Add various ctrl offsets for Quadro and Octo
* Implement reading and writing to curve parameters

Implemented curve params are:
- Hold min power
- Start boost
- Min power
- Max power
- Fallback power

* Set fan to max speed if pwmX_enable is 0
* Make pwmX_enable visible only for Quadro and Octo

D5 Next will be enabled once the offset macros are in place

* Add various ctrl offsets for D5 Next
* Make pwmX_enable and curves visible for D5 Next
* Rename curve_power_hold_start to curve_power_min_hold
* Disable start boost and min power hold for pump channel on D5 Next
* Remove superfluous comments
* Rename bit position macros
* Fix power_min_hold to power_hold_min
---------

Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-07-05 14:58:10 +02:00
Aleksa Savic
f82779ae59 Report Aquaero current and total uptime through debugfs
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-07-03 15:39:14 +02:00
Aleksa Savic
28f7eeb100 Actually read Aquaero hw version
Fixes: #70

Aquaero hw version is never actually read
from the sensor report. Fix that.

Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-06-25 22:00:32 +02:00
Aleksa Savic
ecb7d1ee73 Make the sensor values comment a bit clearer
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-06-06 13:54:08 +02:00
Aleksa Savic
da01dd1196 Make speed_input_target have one element
Only leakshield uses this, and only for one entry, so no
need to take up 8 * u32.

Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-06-06 13:54:08 +02:00
sirn
9d45b76531 Add support for reading Aquabus sensors on Aquaero (#77)
* Report sensor data from aquabus in aquaero
* Report aquabus flow sensor reading in aquaero
* Update documentation

Signed-off-by: Sirn Thanabulpong <sirn@ogsite.net>
2023-06-05 19:55:18 +02:00
Aleksa Savić
26e2379ae0 Fix Leakshield reference, it's in 6.5
Previous commit is wrong, Leakshield sensors
will end up in v6.5, not v6.4.
2023-05-21 12:16:59 +02:00
Aleksa Savic
22b5f8dfaf Note Leakshield features in 6.4
Signed-off-by: Aleksa Savic <savicaleksa83@gmail.com>
2023-05-20 18:38:14 +02:00
Aleksa Savić
12a37f6d01 Note Aquaero features in 6.4 2023-04-26 20:08:19 +02:00