aleksamagicka / aquacomputer_d5next-hwmon

Linux hwmon driver for select Aquacomputer devices. Partly mainlined.
GNU General Public License v2.0
61 stars 8 forks source link

Aquaero support checklist #16

Open aleksamagicka opened 2 years ago

aleksamagicka commented 2 years ago

Tracking work related to Aquaero 5/6 support:

aleksamagicka commented 2 years ago

It has been confirmed that all Aquaero 6 variants (LT, Pro, XT) are the same base with added daughter boards (for example, screen with buttons) - so their ID is F001.

From the thread, Aquaero 5 LT also has the same ID, which ties into what I read - that the Aquaero 6 is just a beefed up Aquaero 5 with better power delivery (or similar). Either way, seems like differentiating between Aquaero 5 and 6 is not needed, but that's out of scope for this issue anyhow.

Obmawo commented 1 year ago

hi,

thank you for this awesome project. can you add support for the flow sensor on the aquaero 6, too?

aleksamagicka commented 1 year ago

I would gladly, but I don't have one myself. Added that to the checklist above.

Obmawo commented 1 year ago

Maybe I can help you. I have this hardware and optional CaliTemp Sensors.

aleksamagicka commented 1 year ago

If you'd want to try, you'll need to capture the HID reports Aquaero is sending to the host (your PC) every second, and find where the flow sensor value is located (at which offset, best done in a hex editor). You can do that by using Wireshark (here's a general tutorial) or some other software.

DrTron commented 1 year ago

Regarding the additional outputs of an aquaero (flow, reservoir level, power, etc.), you may want to take a peek here. That guy has already figured out the offsets of the different values: https://github.com/shred/pyquaero

aleksamagicka commented 1 year ago

Thanks! Two flow sensors and fan powers are already supported. I didn't notice reservoir levels in aquasuite, but I'll take a closer look. Since you're probably more familiar with that project than me, are there any sensors missing here? (Probably are)

DrTron commented 1 year ago

Not really familiar, just a user. And I haven't had a chance to test out your kernel module, just heard of it today. But I will check what may be missing and report back here.

In any case, I really appreciate your effort in this!

aleksamagicka commented 1 year ago

No problem. I'll be able to look into it in a few days, hopefully, but I'm always there for help & discussions.

DrTron commented 1 year ago

Ok, so here's what I get from the driver. I did compile it for a 5.10 kernel, so without hwmon_pwm_auto_channels_temp, if that's relevant. My setup is: aquaero5, 4 3-pin fans, 5 temperature sensors, 1 flow sensor, AquastreamXT pump. The aquastream is not detected at all. I'll compare the aquaero data to the data that pyquaero is able to extract.

aquaero-hid-3-191b Adapter: HID adapter Fan 1 voltage: 6.00 V (wrong) Fan 2 voltage: 3.98 V (correct) Fan 3 voltage: 8.48 V (wrong) Fan 4 voltage: 0.00 V (wrong) Fan 1 speed: 32767 RPM (wrong, obviously) Fan 2 speed: 581 RPM (correct) Fan 3 speed: 401 RPM (wrong, should be 600) Fan 4 speed: 0 RPM (wrong) Flow sensor 1 [dL/h]: 0 RPM Flow sensor 2 [dL/h]: 28210 RPM (wrong, flow should be around 50L/h or 500dL/h) Sensor 1: +268.9°C (wrong) Sensor 2: +238.0°C (wrong) Sensor 3: +23.9°C
Sensor 4: +24.6°C
Sensor 5: +25.4°C
Sensor 6: +23.9°C
Sensor 7: +23.2°C (Sensor 3-7 seem to be 1-5 in reality, but the values seem ok) Sensor 8: N/A
Virtual sensor 1: N/A
Virtual sensor 2: N/A
Virtual sensor 3: N/A
Virtual sensor 4: N/A
Virtual sensor 5: N/A
Virtual sensor 6: N/A
Virtual sensor 7: N/A
Virtual sensor 8: N/A
Calc. virtual sensor 1: N/A
Calc. virtual sensor 2: N/A
Calc. virtual sensor 3: +0.8°C (correct, that is my water temperature delta-T, but it should be virtual sensor 1) Calc. virtual sensor 4: N/A
Fan 1 power: 3.97 W
Fan 2 power: 5.97 W
Fan 3 power: 4.20 W
Fan 4 power: 0.00 W (all fan powers seem off, should be less than 1W since they all run at around 4V) Fan 1 current: 3.30 A
Fan 2 current: 0.00 A
Fan 3 current: 3.50 A
Fan 4 current: 0.00 A (same here, way too high or zero)

Fields that pyquaero populates additionally: Fan power in percent (as set by the aquaero) Reservoir levels (as mentioned, but I don't have any installed) Aquaero chip temperature Fan VRM temperatures

Hope that helps!

EDIT: I just ran the driver on my other system (also aquaero5, aquastreamXT), but here I got all reasonable values, plus the aquastream was detected. I suppose that is because a) the firmware is newer and b) the aquastream is connected via USB, not via aquabus. I will try to find a way to update the firmware on my first system (Linux only) and run the driver again. I intend to keep the Aquastream on Aquabus because that enables me to control it via the display/buttons on the Aquaero. The only values that were zero on the 2nd system were Fan power and current.

aleksamagicka commented 1 year ago

I also suspect the aquaero differences are due to firmware. As for aquabus, that's not implemented. I don't think I have the cables and even any devices for that at all, so I'm of no help in that regard. (I have the d5 next, octo, quadro, farbwerk 360 and aquaero 6, for reference.)

Thanks for the list of missing sensors, I'll take a look at them and see what can be done.

DrTron commented 1 year ago

Thanks! As for the aquabus, the devices connected to it are visible to the aquaero, and can be read through it. So it's possible. I'll certainly volunteer for testing. But like I mentioned, the pyquaero maintainer already figured out at which address which value is, if that's what's needed: https://github.com/shred/pyquaero/blob/master/pyquaero/struct/struct1200.py

DrTron commented 1 year ago

So I upgraded the firmware of both my aquaero 5s (to 2104) and both are working. The only difference I notice is that both report fan rpm and voltage, but only one of them reports fan amperage and thus power, and only 3/4. Aquaero 1 has 4 3-pin fans connected, and only fan 1, 3 & 4 show amperage and power. Aquaero 2 has 2 3-pin fans and 1 4-pin fan connected, and none of them show amperage and power.

Voltage and speed is correct for all fans.

Not a big deal, just wanted to share.

DrTron commented 1 year ago

Update after git pull:

aleksamagicka commented 1 year ago

Thanks, I've opened a new issue to track the second point.

aleksamagicka commented 8 months ago

(If anyone received a message offering a Developer position at Github, know that it's a scam.)

DrTron commented 8 months ago

Thanks for the Heads-Up, but yes, it already pretty much looked like one ;-)