How to: Downgrade/restore to a previous AppleTV2 firmware version with Seas0npass

After having some problems achieving this myself, I decided to write this little ‘how to’ to help other users who may be in a similar situation.  Hopefully it can be made sticky to assist people in the future.

 

Prerequisites

This process will only work if you have SHSH blobs for the firmware version you want to flash to your AppleTV2.  It doesn’t matter if those SHSH blobs were saved with iFaith or TinyUmbrella, on OS X or Windows.  You will also need the latest version of Seas0npass (at the very least, version 0.8.2 - which is the first version to support signature stitching) and (depending on whether your SHSH blobs have already been submitted to Cydia) the latest version of Redsn0w for your operating system.

If you do not have SHSH blobs saved for the firmware version you wish to restore, but your AppleTV is currently running that version (ie, it’s running 4.3 and you want to restore it to 4.3 again), you may be able to recover the SHSH blobs using iFaith (Windows only - I’m not aware of a way to extract the blobs directly from the ATV in OS X), or using aTV Flash if it is installed and operational on your AppleTV.  Both of these procedures are covered elsewhere, so I won’t go into them here.

If you do not have SHSH blobs saved and your AppleTV is non-functional for whatever reason (ie, you can’t use aTV Flash to save your blobs, or iFaith to extract them), you are completely out of luck - nothing in this ‘how to’ can assist you, sorry.

 

SHSH blobs and Cydia servers

The most important part of being able to restore to any firmware version for which you have SHSH blobs is that those blobs must be submitted to Cydia servers.  Seas0npass queries the Cydia servers to obtain SHSH blobs for the firmware version you are trying to restore to - if Cydia does not have those blobs, Seas0npass will report “Sorry. :frowning: This device is not supported by Seas0nPass.”.

If, like me, you were using TinyUmbrella (or iFaith for Windows users) to save your SHSH blobs but not submitting them to the Cydia servers automatically, you will need to follow the instructions in the next section in order to submit those saved SHSH blobs to the Cydia servers.

If you had TinyUmbrella or iFaith configured to automatically save the blobs to Cydia servers, assuming the servers accepted those submissions and now have the blobs for the exact firmware version you wish to restore to, you shouldn’t have a problem - you can skip the next section of reading.

 

Getting SHSH blobs onto the Cydia servers

This section is just a re-write of the process I outlined in another thread (http://forum.firecore.com/topic/8384).

Whether you saved the SHSH blobs using TinyUmbrella (OS X or Windows) or iFaith (Windows only), the process for submitting the blobs to the Cydia servers should be mostly the same - Redsn0w can read the saved blobs from both TinyUmbrella and iFaith.

In order to submit the SHSH blobs, you’ll need to get a copy of Redsn0w - the latest version is always recommended, and downloadable from:  files

Once you run Redsn0w, go into the “Extras” option, select “SHSH Blobs”, then “Submit”. You’ll be prompted to select the SHSH blobs you want to upload to the Cydia server from a normal file selection dialog (you can select multiple files in the usual operating system specific manner, so you don’t have to repeat this process for every single file individually).

 

TinyUmbrella on OS X

For TinyUmbrella on OS X (which is what I use), the default location for your blobs is in a ‘hidden’ directory in your user directory (~/.shsh), so you won’t see this directory on the file list.  To get to it, you need to press ⌘+Shift+g to open the “Go to the folder” pop up, then type the full path to open: ~/.shsh  – that is: tilda forward-slash period shsh – then hit enter. If, like me, you’ve changed the location for TinyUmbrella to save the blobs [I like to keep all my Jailbreaking stuff in one directory, not spread all over my file system], then you can simply navigate to that location in the file list window.

TinyUmbrella on Windows

The default location for TinyUmbrella on Windows to save SHSH blobs is a directory (folder in Windows speak) named .shsh in your main ‘user’ directory.  Depending on your version of Windows, this may be in the “Documents and Settings” area, or your “Users” area.  But, again, if you’ve changed the default save location within TinyUmbrella, you’ll need to navigate there to find the files.

[This section is a little less detailed than the OS X section as I am not (and never will be) a Windows user - please feel free to PM me an update for this section if you have more experience with Windows than I care to get myself :)]

iFaith on Windows

CYBERxNUKE, in my original thread, says that iFaith allows the user to save the SHSH blobs to any directory they choose after they have been gathered.  You will need to navigate to this chosen directory in Redsn0w in order to locate your SHSH blobs to submit to the Cydia servers.

[Again, this section is a little thin as I do not use Windows.  Please PM me any more detailed instructions if you know of them]

.

Once you have located the SHSH blob files in the file selection dialog of Redsn0w, you can select the ones to send to the Cydia servers.  You can select single or multiple files to send using your operating system specific manner to select multiple files.  You can select all SHSH blob files if you wish, even if they have been previously submitted to the Cydia servers - it will not do any harm to re-submit them, but will obviously increase the time Redsn0w will take to process the submissions.

 

Once the process starts, let Redsh0w do it’s thing - when it’s finished it’ll give you a report on the success or failure of the submissions (probably via several pop ups if you have a lot of blobs to submit).  If the Cydia servers accept your SHSH blobs for the firmware version you wish to restore to, you’re golden - you can close Redsn0w and use Seas0npass to restore to a specific version (see the next section of this post).

If the Cydia servers do not accept the SHSH blob for your version, you will not likely be able to restore to that version of AppleTV firmware.  I can’t help with errors as to why the Cydia servers may have refused your SHSH blob, or provide any advice beyond posting a new thread to see if anyone else has had similar problems and found a solution – best of luck.

 

Using Seas0npass to restore a previous firmware version

This section is mostly a re-write of the information provided in the Firecore blog post “Seas0nPass 0.8.2 - Signature Magic”: http://blog.firecore.com/7124

Now that the SHSH blobs for the version of AppleTV firmware for which you wish to restore have been submitted to the Cydia servers (or were already submitted when you originally saved the blobs in TinyUmbrella or iFaith), Seas0npass can be used to perform a custom stitch and restore.

The process for restoring to a chosen firmware version is almost identical to the normal process of Jailbreaking the current AppleTV software version; thus, I won’t go into extreme detail of the process, since there are many - better - documents explaining the process.

The main difference between restoring your choice of firmware version, and Jailbreaking the current software is in the use of Seas0npass.  Once you have connected your AppleTV2 and launched Seas0npass, do not simply click the “Create IPSW” button - instead, right-click the “Create IPSW” button to reveal a menu of AppleTV firmware versions.

On that menu, locate the version of the AppleTV firmware which you wish to restore -being careful to match the exact release build for the version you require; some firmware versions may have multiple builds for the same version number, and may not be Jailbreakable (or untethered jailbreakable) at this time.  Once you’ve selected the correct firmware version, Seas0npass will query the Cydia servers for the SHSH blobs and - if required - begin downloading that selected AppleTV software version.  Once downloaded, Seas0npass will begin Jailbreaking and stitching the IPSW with the SHSH blobs it obtained from the Cydia servers.

If all goes well…

Seas0npass will guide you - as normal - though the process of putting the AppleTV into pwned-DFU mode and automatically begin the process of restoring your chosen firmware version to the AppleTV using iTunes.  If there are any problems at this stage, they are likely iTunes related restore errors and you should check the other threads on this forum for help and advice on these issues.

If all doesn’t go well…

Seas0npass has likely told you: “Sorry. :frowning: This device is not supported by Seas0nPass.”.  The most likely cause of this error is that Seas0npass was unable to locate the SHSH blobs on the Cydia servers for the chosen version of AppleTV firmware - meaning that you can not restore to that particular version of AppleTV software.

If you are certain you have saved SHSH blobs for the AppleTV firmware version you have chosen (you can check this using TinyUmbrella or iFaith), and you have submitted those SHSH blobs to the Cydia servers using Redsn0w as detailed in the previous section; it is likely that there is some error in those particular SHSH blobs being submitted to the servers.  My advice is to try and submit only those exact blobs to the Cydia servers once again using Redsn0w; and make note of any errors or warnings provided at the end of the submission process.  These should help you obtain more help on why the process failed - but please note that this forum is not the place for such questions, since those errors are from Redsn0w not Seas0npass.

 


I hope this ‘how to’ has been of use - I’ve used this method to restore to 4.4.4 on my AppleTV2, and it works without any problems.  I’ll try and keep this first post updated with any changes, suggestions or notes that may prove helpful - if you have any content, suggestions, etc that may be worthwhile adding here, please send them to me in a PM (to keep the thread as ‘clean’ as possible).

 

Cheers!

Last updated: 20120621.