From: "Erik Håkansson" <erikhakan@gmail.com>
To: Jiri Kosina <jikos@kernel.org>, Benjamin Tissoires <bentiss@kernel.org>
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
"Erik Håkansson" <erikhakan@gmail.com>
Subject: [PATCH] HID: steelseries: space Arctis 7 status requests
Date: Sat, 24 Oct 2026 18:40:23 +0200 [thread overview]
Message-ID: <20261024-feature-arctis7-v1-1-583951aa6583@gmail.com> (raw)
A user reports that the Arctis 7 (2018) frequently reports a battery
capacity of 3% before returning the correct value about 30 ms later,
causing false low-battery notifications. In the reporter's tests, this
occurs when the receiver is connected through a USB hub, but not when
connected directly to a root port.
The driver sends connection (0x14) and battery (0x18) requests back to
back. The spurious battery value, 0x03, matches the connection reply's
connected value, suggesting that the firmware may return stale buffer
contents when the requests arrive too close together.
Add a 10 ms sleep between the requests. Arctis Sound Manager uses the
same minimum spacing for this device family, citing the behaviour of
the proprietary SteelSeries GG software in its configuration comments.
The reporter tested both versions on CachyOS Linux 7.3.0 with receiver
1038:12ad behind a USB hub. During separate 60-second runs, the stock
module produced eight false battery reports of 3%, whereas the patched
module did not exhibit the issue.
Reported and tested by a user who wishes to remain anonymous.
Link: https://github.com/loteran/Arctis-Sound-Manager/blob/342194fb24873b343a4b38336aa14bffabfe6e09/src/arctis_sound_manager/devices/arctis_7.yaml#L2-L3
Fixes: 7e749a797282 ("HID: steelseries: Add support for Arctis 7 (2018)")
Signed-off-by: Erik Håkansson <erikhakan@gmail.com>
Assisted-by: LLM
---
Add spacing between the connection and battery requests to prevent
spurious low-battery reports on the Arctis 7 (2018).
The reporter confirmed the fix in an A/B comparison on CachyOS Linux
7.3.0, with the receiver connected through a USB hub. Their reporting
and testing contributions are credited anonymously at their request.
checkpatch warns that msleep() below 20 ms can sleep for up to 20 ms.
That is acceptable here: the delay enforces minimum command spacing,
and status polling repeats approximately every three seconds.
---
drivers/hid/hid-steelseries-arctis.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/hid/hid-steelseries-arctis.c b/drivers/hid/hid-steelseries-arctis.c
index df61fa33d4c6..dc5a421e8d76 100644
--- a/drivers/hid/hid-steelseries-arctis.c
+++ b/drivers/hid/hid-steelseries-arctis.c
@@ -6,6 +6,7 @@
* Copyright (c) 2026 Sriman Achanta
*/
+#include <linux/delay.h>
#include <linux/device.h>
#include <linux/hid.h>
#include <linux/kref.h>
@@ -111,6 +112,12 @@ static int steelseries_arctis_7_2018_request_status(struct hid_device *hdev)
if (ret)
return ret;
+ /*
+ * Back-to-back requests may cause the device to return stale buffer
+ * contents, resulting in incorrect battery reports.
+ */
+ msleep(10);
+
return steelseries_send_output_report(hdev, battery, sizeof(battery));
}
---
base-commit: c03c1a14507dfaf8b856c2608f9ac216021fc222
change-id: 20261024-feature-arctis7-2dbf70d7ce38
Best regards,
--
Erik Håkansson <erikhakan@gmail.com>
reply other threads:[~2026-10-24 16: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=20261024-feature-arctis7-v1-1-583951aa6583@gmail.com \
--to=erikhakan@gmail.com \
--cc=bentiss@kernel.org \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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
all inboxes | Powered by JetHome®