Linux Documentation
 help / color / mirror / Atom feed
From: Zac Lanzon <lanzonza@gmail.com>
To: linux-hwmon@vger.kernel.org
Cc: Guenter Roeck <linux@roeck-us.net>,
	Jean Delvare <jdelvare@suse.com>,
	Aleksa Savic <savicaleksa83@gmail.com>,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	Zac Lanzon <lanzonza@gmail.com>
Subject: [PATCH] hwmon: (asus_rog_ryujin) Add ROG Ryujin III 360
Date: Wed,  2 Sep 2026 20:40:54 -0400	[thread overview]
Message-ID: <20260903004054.502171-1-lanzonza@gmail.com> (raw)

Add the USB product ID of the base ASUS ROG RYUJIN III 360 (0b05:1aa2,
USB product string "ROG RYUJIN III"). It uses the same status report
layout and cooler duty channel as the RYUJIN III EXTREME, EVA and
WHITE editions, so it can share rog_ryujin_iii_info.

Tested on a ROG RYUJIN III 360: coolant temperature, pump speed and
internal fan speed report plausible values that track load, and the
internal fan follows pwm2 (30% -> 870 RPM, 40% -> 1590 RPM).

Assisted-by: Claude:claude-fable-5-1
Signed-off-by: Zac Lanzon <lanzonza@gmail.com>
---
One firmware behavior observed while testing duty writes on this unit,
kept out of the commit message since it is not about the ID itself.

The first duty write, a pwm2 write that re-sends the current 40% pump
duty alongside the new fan duty, takes the cooler out of automatic
mode and the pump runs at maximum while still reporting 40%. Writing
40% back does not apply; only a different pwm1 value does. liquidctl
behaves the same with the hwmon driver unloaded, so this is firmware
behavior. Only a reboot returns the cooler to automatic mode.

Measured with liquidctl 1.16 (pump-fan is pwm2, pump is pwm1):

  automatic mode        pump 40% / 1710 RPM   fan 30% /  870 RPM
  set pump-fan 40       pump 40% / 3690 RPM   fan 40% / 1590 RPM
  set pump-fan 30       pump 40% / 3660 RPM   fan 30% /  870 RPM
  set pump 60           pump 60% / 2400 RPM
  set pump 40           pump 40% / 1740 RPM
  set pump-fan 40, 30   pump stays 1740 RPM   fan follows

So the firmware applies a pump duty only when the stored value changes,
and leaving automatic mode does not apply the stored one. Does the
EXTREME or EVA do the same? If so, the driver's read-then-rewrite of
the pump duty on a pwm2 write may deserve a documentation note.

 Documentation/hwmon/asus_rog_ryujin.rst | 1 +
 drivers/hwmon/asus_rog_ryujin.c         | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/Documentation/hwmon/asus_rog_ryujin.rst b/Documentation/hwmon/asus_rog_ryujin.rst
index b0d7ce8dd..3ebab230e 100644
--- a/Documentation/hwmon/asus_rog_ryujin.rst
+++ b/Documentation/hwmon/asus_rog_ryujin.rst
@@ -6,6 +6,7 @@ Kernel driver asus_rog_ryujin
 Supported devices:
 
 * ASUS ROG RYUJIN II 360
+* ASUS ROG RYUJIN III 360
 * ASUS ROG RYUJIN III EXTREME
 * ASUS ROG RYUJIN III EVA EDITION
 * ASUS ROG RYUJIN III WHITE EDITION
diff --git a/drivers/hwmon/asus_rog_ryujin.c b/drivers/hwmon/asus_rog_ryujin.c
index 702edb831..4b9859351 100644
--- a/drivers/hwmon/asus_rog_ryujin.c
+++ b/drivers/hwmon/asus_rog_ryujin.c
@@ -20,6 +20,7 @@
 #define USB_PRODUCT_ID_RYUJIN_III_EXTREME	0x1bcb
 #define USB_PRODUCT_ID_RYUJIN_III_EVA		0x1ade
 #define USB_PRODUCT_ID_RYUJIN_III_WHITE		0x1ada
+#define USB_PRODUCT_ID_RYUJIN_III		0x1aa2
 
 struct rog_ryujin_device_info {
 	u8 temp_offset;
@@ -593,6 +594,8 @@ static const struct hid_device_id rog_ryujin_table[] = {
 	  .driver_data = (kernel_ulong_t)&rog_ryujin_iii_info },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUS_ROG, USB_PRODUCT_ID_RYUJIN_III_WHITE),
 	  .driver_data = (kernel_ulong_t)&rog_ryujin_iii_info },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUS_ROG, USB_PRODUCT_ID_RYUJIN_III),
+	  .driver_data = (kernel_ulong_t)&rog_ryujin_iii_info },
 	{ }
 };
 
-- 
2.53.0


                 reply	other threads:[~2026-09-03  0:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260903004054.502171-1-lanzonza@gmail.com \
    --to=lanzonza@gmail.com \
    --cc=jdelvare@suse.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=savicaleksa83@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox