this post was submitted on 10 Jul 2026
22 points (92.3% liked)

Steam

17490 readers
29 users here now

Steam is a video game digital distribution service by Valve.

Steam News | Steam Beta Client news

Useful tools:
SteamDB
SteamCharts
Issue tracker for Linux version of Steam

founded 5 years ago
MODERATORS
 

TLDR to the issue

There have been many reports of the new Steam controller failing to update on Linux distros other than SteamOS, I am making this post to document my solution to this issue.

From what I can tell, certain distros place restrictions on what data can be accessed via USB.


Solution

So as many others here I got my Steam controller and was encountering the update errors on my Debian 13 desktop.

I tried updating via a Windows laptop which was successful however did not stop Steam from complaining there was an update on my Debian machine.

I did a little digging in my steamui_system.txt and noticed my error was

[2026-07-09 10:23:55] HardwareUpdate: ------[ stdout ]------
Found Type: Triton USB SN: FXA9961904609
UPDATING TRITON USB - SN:	FXA9961904609
ERROR: Couldn't open BL comport
[2026-07-09 10:23:55] HardwareUpdate: ------[ stderr ]------

more digging I found out that the update script/tool is stored in /home/YourUser/.local/share/Steam/bin/hardwareupdater/ and in that folder the script/tool is called hardwareupdater.x86_64

This script/tool has launch options that should not be missed in your steamui_system.txt, for me it was —update-by-serial “SerialNumberOfController”

Many Linux users will dislike this but run the script/tool as a sudoer or root in a shell like such,

sudo /home/YourUser/.local/share/Steam/bin/hardwareupdater/hardwareupdater.x86_64 --update-by-serial 'FXA9961904609'

Replace the /YourUser/ portion of the directory path with the username of your Linux account and change the serial-number to match your controller.

the script/tool will display progress as it goes and eventually succeed, Steam will prompt you one last time there is an update but then proceed past the actual update itself and instead do a short tutorial on the controller. I guess there are USB permissions issues hence the failures.

The output of the script/tool is as such

sudo /home/YourUser/.local/share/Steam/bin/hardwareupdater/hardwareupdater.x86_64 --update-by-serial 'FXA9961904609

Found Type: Triton USB SN: FXA9961904609
UPDATING TRITON USB - SN:       FXA9961904609
DEBUG: Found TRITON matching SN`
ERASING
PROGRAMMING: IBEX_FW_6A4D85E3.fw
PROGRESS: 9%
PROGRESS: 17%
PROGRESS: 26%
PROGRESS: 34%
PROGRESS: 43%
PROGRESS: 51%
PROGRESS: 60%
PROGRESS: 68%
PROGRESS: 77%
PROGRESS: 85%
PROGRESS: 94%
PROGRESS: 100%
RESETTING
SUCCESS


Disclaimer:

If the script/tool at all stalls or hangs, which it shouldn't as it took less than a minute for me to complete the update, DO NOT unplug the controller, you may damage the firmware doing this essentially bricking your controller, just be patient and wait or Control + C the script/tool to abruptly exit the script, unfortunately the script/tool has been compiled into binary so i cannot verify how it handles abrupt exits!


Edit

I have not tested this on the Steam Puck, only the controller, I suspect they use the same script but cannot confirm that as my Puck was updated on a Windows Laptop and didn’t prompt me to update on my Debian desktop afterwards.

you are viewing a single comment's thread
view the rest of the comments
[–] ohshit604@sh.itjust.works 2 points 1 day ago (1 children)

Ah I’ve had mine for a week now, if you encounter this issue it can be really annoying because steam will claim the update is “mandatory” and either force you to quit steam or make you sit and watch the update fail to get out of it.

Quite a fun controller regardless, granted I have no idea how the grip-enabled gyro works.

[–] Sxan@piefed.zip 0 points 9 hours ago

Nice. I have to use my PS4 controller wiþ a USB cable because is constantly errors and reconnects. I'm hoping þe Steam controller will be better behaved under Arch.