Distro: Linux Mint 22.3, Cinnamon, 64-bit Kernel: 7.0.0-38-generic Steam: native .deb package (not Flatpak), client version Stable Client, Build 1792618285 (Oct 21, 2026), Steam API: SteamClient023 SteamRT3 experimental client: on Hardware: Steam Controller (2026) and Steam Controller Puck, both brand new and both needing their first firmware update Connection: wired USB-C, using the cable that came in the box
What happened
Setting up the new controller and puck on Linux Mint 22.3, neither would update. The failure changed as I fixed things, but never fully went away, and the last failure resolved itself on a retry with no changes made.
Three different errors, in the order I hit them:
Immediately, every time:
ERROR: Couldn't open BL comport
2. After adding the udev rules, on the puck:
update-by-serial FXB9960502244
Found Type: Proteus USB SN: FXB9960502244
UPDATING PROTEUS - SN: FXB9960502244
DEBUG: Found PROTEUS matching SN
ERASING
ERROR: Invalid message b'\xff\xff\xff\xff\xff\xff\xff\xa4\x00\x00B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae'
The puck is detected, the serial matches, and it gets as far as issuing ERASING before the response fails to parse.
Later, on the controller:
PROGRESS: 47%
ERROR: Invalid response b''
No bytes returned at all. The controller stopped responding partway through the write.
What I tried
Checked what steam-devices actually ships on Mint. It only provides 60-steam-input.rules and 60-steam-vr.rules. Neither has any SUBSYSTEM=="tty" rules for the new hardware's USB IDs (1302, 1304, 1005, 1007).
Created /etc/udev/rules.d/61-steam-controller-tty.rules using the rules posted in #13171, then sudo udevadm control --reload-rules && sudo udevadm trigger, then logged out and back in.
Moved the cable from a front-panel USB port to a rear port on the motherboard.
Ran sudo systemctl stop ModemManager before the update.
After those steps the puck updated successfully, and --check-for-updates reported nothing pending for it.
The controller then failed at 47% with the Invalid response b'' error above.
What actually worked
I retried the controller update with sudo dmesg -w running in a second terminal to watch for USB disconnects. It went through and reported success. I had changed nothing between the failed attempt and the successful one — same cable, same port, same permissions, ModemManager still stopped.
Things I'm not sure about
I don't know whether the rear port mattered, whether stopping ModemManager mattered, or whether it was just luck on the retry. I changed two things and then it worked, so I can't separate them.
The Invalid message payload is almost all 0xFF, which I assume means the read came back as erased flash rather than a real response, but that's a guess.
I read that ID_MM_DEVICE_IGNORE needs to be set on the USB device rather than the tty device to be honoured, and that this only applies to non-tty devices from ModemManager 1.10.6 onward. I have not verified that myself.
Both failures left the device mid-write — ERASING had been issued in one case, 47% reached in the other — and both recovered without intervention. I don't know whether that's guaranteed or I got lucky.
Related #13171 — closed as completed May 21, 2026, with fixes for the missing libhid and SteamRT3 issues. My client build is from Oct 21, 2026, so those fixes are present and I still hit these failures. The missing tty udev rules (bug #2 in that thread) don't appear to have been addressed. #13250 — controller not detected by Steam
flathub/com.valvesoftware.Steam#1545 — same "Failed to update" error, opened on Linux Mint 22.3. Others in that thread report the puck updating while the controller refuses, which matches what I saw.
I don't post a lot of bug reports, so let me know if I should include more information, or structure it differently. Also, I used Proton Lumo AI to solve this issue and write this report, to be fully transparent.
Distro: Linux Mint 22.3, Cinnamon, 64-bit Kernel: 7.0.0-38-generic Steam: native .deb package (not Flatpak), client version Stable Client, Build 1792618285 (Oct 21, 2026), Steam API: SteamClient023 SteamRT3 experimental client: on Hardware: Steam Controller (2026) and Steam Controller Puck, both brand new and both needing their first firmware update Connection: wired USB-C, using the cable that came in the box
What happened
Setting up the new controller and puck on Linux Mint 22.3, neither would update. The failure changed as I fixed things, but never fully went away, and the last failure resolved itself on a retry with no changes made.
Three different errors, in the order I hit them:
ERROR: Couldn't open BL comport
2. After adding the udev rules, on the puck:
update-by-serial FXB9960502244
Found Type: Proteus USB SN: FXB9960502244
UPDATING PROTEUS - SN: FXB9960502244
DEBUG: Found PROTEUS matching SN
ERASING
ERROR: Invalid message b'\xff\xff\xff\xff\xff\xff\xff\xa4\x00\x00B\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae'
The puck is detected, the serial matches, and it gets as far as issuing ERASING before the response fails to parse.
PROGRESS: 47%
ERROR: Invalid response b''
No bytes returned at all. The controller stopped responding partway through the write.
What I tried
Checked what steam-devices actually ships on Mint. It only provides 60-steam-input.rules and 60-steam-vr.rules. Neither has any SUBSYSTEM=="tty" rules for the new hardware's USB IDs (1302, 1304, 1005, 1007).
Created /etc/udev/rules.d/61-steam-controller-tty.rules using the rules posted in #13171, then sudo udevadm control --reload-rules && sudo udevadm trigger, then logged out and back in.
Moved the cable from a front-panel USB port to a rear port on the motherboard.
Ran sudo systemctl stop ModemManager before the update.
After those steps the puck updated successfully, and --check-for-updates reported nothing pending for it.
The controller then failed at 47% with the Invalid response b'' error above.
What actually worked
I retried the controller update with sudo dmesg -w running in a second terminal to watch for USB disconnects. It went through and reported success. I had changed nothing between the failed attempt and the successful one — same cable, same port, same permissions, ModemManager still stopped.
Things I'm not sure about
I don't know whether the rear port mattered, whether stopping ModemManager mattered, or whether it was just luck on the retry. I changed two things and then it worked, so I can't separate them.
The Invalid message payload is almost all 0xFF, which I assume means the read came back as erased flash rather than a real response, but that's a guess.
I read that ID_MM_DEVICE_IGNORE needs to be set on the USB device rather than the tty device to be honoured, and that this only applies to non-tty devices from ModemManager 1.10.6 onward. I have not verified that myself.
Both failures left the device mid-write — ERASING had been issued in one case, 47% reached in the other — and both recovered without intervention. I don't know whether that's guaranteed or I got lucky.
Related
#13171 — closed as completed May 21, 2026, with fixes for the missing libhid and SteamRT3 issues. My client build is from Oct 21, 2026, so those fixes are present and I still hit these failures. The missing tty udev rules (bug #2 in that thread) don't appear to have been addressed.
#13250 — controller not detected by Steam
flathub/com.valvesoftware.Steam#1545 — same "Failed to update" error, opened on Linux Mint 22.3. Others in that thread report the puck updating while the controller refuses, which matches what I saw.
I don't post a lot of bug reports, so let me know if I should include more information, or structure it differently. Also, I used Proton Lumo AI to solve this issue and write this report, to be fully transparent.
steam-controller-debug.tar.gz