Sunday, December 24, 2017

Steam Link - Force Upgrading & Downgrading

After discovering that controller support is partially broken in build 643 on the Steam Link, I had to manually downgrade mine to build 640. There doesn't seem to be any rollback protection, so it's trivial.

1. Enable SSH.

2. Find the build number you want on one or more of the following pages:

3. Write the desired build number to "/mnt/config/system/update_branch.txt'". e.g. for build 640 you'd run:

ssh [email protected] 'echo 640 > /mnt/config/system/update_branch.txt'

4. Go to the update menu on your Steam Link and try to update it; it should now offer to update to the firmware revision previously specified.

Technical Explanation

By default, the Steam Link will load either the public_builds.txt or beta_builds.txt list depending on the branch. If a newer build is found, then the device will attempt to find a delta image (to save time/bandwidth); if it can't find a delta image, then it will download a full factory image.

When a build number is set instead of the branch ("beta" or "public"), the device will manually search for a update file regardless of the currently installed build. It will always fail at finding a delta for a downgrade, and then fallback to a full release.