Steam Controller

Steam Controller

154 ratings
UnBricking Steam Controller (Manual Firmware Update, Rollback)
By cammelspit
Have you had a failed firmware update and now you Steam Controller is not working?! Well, don't panic, it's super easy to fix and this guide will show you how.
2
3
   
Award
Favorite
Favorited
Unfavorite
What does this fix?
If your steam crashes during an FW update or if you unplug/turn off the controller while updating the controller will be "bricked".

Being bricked is a state where your controller either has no firmware or the firmware installed is damaged. This means your controller will not be working at all! Don't worry, there is a manual FW update procedure that is both easy and fast that should get you back up and be running in no time!

This procedure is also useful for those who need to revert their controller to a previous version of the firmware in case they encounter a bug. Generally speaking, this should not be necessary and whatever the latest version installed by the steam client should be fine. As beta updates are made there are often firmware updates included in beta and they can have bugs or issues.
Connecting SC
The manual process MUST be done wired. The steam controller has a mode where it will show up to your OS, in this case Windows, as a removable USB device where we can copy the firmware file right onto it.

The first step is to plug in the SC wired via a micro USB cable while holding the right trigger until it clicks. If the USB device does not show immediately, don't worry. I had to wait for the driver installation to fail, unplug my controller and plug in again. After doing this the USB device (CRP DISABLED) Showed up perfectly fine.
Preparing FW for flashing
Acquiring the Firmware File

What We Need To Do
Okay now, this is a little confusing for the first timer. We are going to get the FW file right from Valve. There are a few things you have to do to get the latest version. The benefit of doing it this way is that you will always have the lastest version of the firmware. This will also allow you to get ahold of any version of the steam controllers firmware that has been released so for working around a specific bug, this can be very helpful.

The biggest issue here is that we don't know what the exact name of the file is so we have to go through a few steps to ensure we get the correct file.

Download Vales Master SC FW List

First you need to CLICK HERE to get the firmware.vdf file. Don't worry, this is just a simple text document so you won't need anything special to open it. You can use notepad or Wordpad if you prefer, any text editor should be able to display this file perfectly.

Finding The Firmware You Want

Now that you have opened up this text file you should see a list of the available firmwares for the SC. The formatting should look something like this.
"17" { "firmwarebinary" "/firmware/vcf_wired_controller_d0g_56c78c01.bin" "firmwaretimestamp" "56c78c01" "minclientpackage" "1456197182" "crc128" "41f1c9affcc2f324c4e44b2c6e82b26f" "bootloadertimestamp" "55d2926d" } } }

At the time I am writing this update to the guide 17 was the last version available so for the purposes of this guide, I am going to use this as the main example.

Constructing The URL For Download

You will notice just after "firmwarebinary" that it will not only display the exact name of the file itself but will also show you the second half of the URL that you can download the file from. in this case it is "/firmware/vcf_wired_controller_d0g_56c78c01.bin"

The first half is so for this example I would type in into the address bar of any browser. After this, the file should download. These files are incredibly small and should take only a few seconds to download fully. Just remember to remove the quotation marks as they are not needed in the URL.

Rename The Firmware File

From here all you need to do is rename the FW file from "vcf_wired_controller_d0g_56c78c01.bin" to simply "firmware.bin" and have it copied to a place where you can find it, like the desktop.

Special Thanks

A special thanks goes to [bli] Pila for pointing out that I should be doing this instead of having a link to Dropbox. This way anyone can get the latest version and I don't have to keep pulling the firmware files right off my controller.
Windows Procedure
Here is where you actually do the flash. If there is a firmware.bin present on the controller please delete this. From here it is just as simple as drag and dropping the NEW firmware.bin right onto the attached USB device.

It is VERY important that you wait. I would wait at least 1-2 full minutes to make sure IO operations to this USB device finished before you attempt to remove the USB device.

Make 100% SURE you eject the USB device and don't just unplug it! Sometimes Windows will tell you the device is busy. If this is the case you can wait another minute and try again. If this continues, we can be more or less positive the process is done and Windows is just being Windows. If this happens, shutdown your computer and unplug the SC when it is off.
LINUX Procedure
Here is the command line to give the steam controllers USB device permissions to be seen in Linux. I don't use Linux so I assume anyone who does is familiar with the command line and how to use it. You need to make sure the udev rules are set properly or the controller won't function correctly. Normally you will have done this already and it is automatic in SteamOS for out of the box functionality.

/etc/udev/rules.d #USB devices SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"

WARNING: A direct copy to the CRP DISABLED USB device that is, the steam controller, will not work under Linux. This is the command to do the copy via the command line.

First, set your active directory to the steam controller CRP DISABLED
cd /"Path to CRP-DISABLD without quotes"/

Then, the flash itself.
dd conv=nocreat,notrunc oflag=direct bs=512 \ if=~/"Path to new firmware.bin without quotes" of=./firmware.bin [/b]
Mac OSX Procedure
WARNING: A direct copy to the CRP DISABLED USB device that is, the steam controller, will not work under OSX. This is the command to do the copy via the terminal.

First, set your active directory to the steam controller CRP DISABLED

cd /Volumes/CRP DISABLD/

Second, you need to use the CAT command to do the transfer the firmware.bin over to the SC itself. As I do not personally use OSX my understanding of this command over the CP command is limited but this command does not copy some garbage data that the SC simply can not use and is too large to fit on the SCs internal flash.

cat ~"Path to firmware.bin without quotes" > firmware.bin

After this you should be all good!

Special Thanks

Special thanks go out to DTM and also his dad for both figuring this out and filling me in on how it is done so I could add this to the guide.
Wrapping up
That's it! Your SC will have been unbricked! From here, you should plug the controller back in and attempt to update the FW through steam big picture mode while opted into beta to make sure the FW is the latest version available. Using a wired connection for the update should mitigate the possibility of encountering connection issues during an update and possible bricking the controller again.

OPT INTO BETA! (Optional)
In BPM go to settings (the gear icon on the top right) > System > Participate in beta checkbox
WAIT for steam to restart and install the beta client. Just remember the steam beta client is recommended for steam controller users as it includes the latest features and fixes. Just remember this is still a beta and is not a full stable version. If you experience any issues you should first try reverting to the stable branch by opting out of beta to confirm your issue as a bug. Beta client may also include beta FW updates as well.

FORCE UPDATE CHECK (Recommended)
In the same System menu check for updates and it will also update the FW if needed. FW will only update from in BPM!
184 Comments
(_BLACK_MAMBA_) Dec 20, 2023 @ 10:52pm 
If it helps anyone, then there is another working way, download the old version of steam with a still working "configurator" for configuring controllers (including steam controller), where it is possible to reset the controller settings to factory settings and successfully install the latest firmware.

It helped me a lot. I leave a link to the manual:

https://steamcommunity.com/sharedfiles/filedetails/?id=3039867754
Drex Dec 19, 2023 @ 3:38pm 
Respect to the author when this was new and up to date, however this is outdated. Be exceedingly careful in using this, I'm not sure how much of this is actually still potentially functional.

The thing is, this guide is from 2016, it has quite a lot of age on it at this point. The newest firmware, which had bluetooth added, has to also flash the radio as well. A standard flash will not flash the radio and can leave the controller in a weird limbo where the normal and radio firmwares aren't matching. I have no idea for sure how to clean that up if the update tool does, I have not tried it, I just want to warn people so they don't break their hardware that's all.

Anyways, since the new big picture mode cannot do updates anymore, if you're looking to get the BLE firmware now, this is the old school albeit, proper way to do it from Valve: https://steamcommunity.com/app/353370/discussions/1/6516193260178656983/?ctp=2#c3801649759589303015
Greed Is Addiction Nov 18, 2023 @ 7:30am 
Which version is the latest which includes BLE? What I found on the net might be unoffical.
Brynwall Sep 28, 2023 @ 11:28am 
Unable to download the file.
largedawg Aug 20, 2023 @ 8:46am 
Hoping someone might have some suggestions. I performed these steps and not it seems stuck in the USB mode? The controller doesn't seem to power on and when I plug it into my computer it instantly pops up with the CRP drive again. I waited and ejected the drive but not sure what else I missed or am doing wrong. Any help would be appreciated.
7edo1 Aug 4, 2023 @ 3:23am 
Repeat with automatic translation
Controller not detected when updating via https://steamcommunity.com/app/353370/discussions/1/6516193260178656983/?tscn=1687207374#c6516193260183103338
and was not defined as a usb disk when turned on with the right trigger pressed.
Tried on different computers and different cables.

Strange, but it helped to connect via the cable from the kit (through which the wireless dongle is connected to the computer)
7edo1 Aug 4, 2023 @ 3:23am 
Контролер не определялся при обновлении через https://steamcommunity.com/app/353370/discussions/1/6516193260178656983/?tscn=1687207374#c6516193260183103338
и не определялся как usb диск при включении с зажатым правым тригером.
Пробовал на разных компьютерах и разные кабели.

Странно но помогло подключение через кабель из комплекта (через который подключен беспроводной донгл к компьютеру)
Keenanjutsu Jul 1, 2023 @ 5:47pm 
Where/how do you get the firmware.vdf nowadays?
Ja'Bar Jun 21, 2023 @ 9:08pm 
For those looking for the BLE portion since the newest steam version dropped ui support https://steamcommunity.com/app/353370/discussions/1/6516193260178656983/?tscn=1687207374#c6516193260183103338
Shalak Mar 22, 2023 @ 7:51pm 
Ha! I found the solution - I had to run steam with "-oldbigpicture" and the old BPM gave me the option to both update the firmware, and then in SC controller settings there was a big beautiful button for "BLE Firmware" :)