Sunday 30 August 2015

Revert to previous firmware on Seagate Central

Many people have upgraded their Seagate Central to the latest firmware and instantly regretted the decision. For some it was because root / su access has been taken away. For others they don't like the new Twonky media server.

Well fear not because there's a way (actually two ways) to revert to the old firmware.

The Seagate Central keeps a copy of 2 versions of firmware. The currently running firmware and the previously running "old" firmware.

We can program the Central's bootloader (U-boot) to revert to the previous firmware.
There are two ways to do this. You only need to do one of them.


METHOD 1 : Via ssh (no need for root access)

Ssh into the Seagate Central. If you don't know how to ssh or you don't know what ssh is, then just proceed to Method 2.

I only tested this procedure with the "admin" account but I think it should work with any valid userID.

Issue the following command

   admin@Seagate-4xxxx:~$ /sbin/fw_printenv | grep kernel
   current_kernel=kernel2

The output of the command will either say "kernel1" or "kernel2". This indicates which of the two copies of firmware the bootloader will run. We want to change this to the other one in order to run the previous firmware.

So if the output of your command said "kernel1" then we want to switch to "kernel2" by running  the following command

   admin@Seagate-4xxxx:~$ /sbin/fw_setenv current_kernel kernel2

If the output of your command said "kernel2" then we want to switch to "kernel1" as follows

   admin@Seagate-4xxxx:~$ /sbin/fw_setenv current_kernel kernel1

Finally check that your changes took effect by running the following command again.

   admin@Seagate-4xxxx:~$ /sbin/fw_printenv | grep kernel
   current_kernel=kernel1


Now reboot your Central either by power cycling it or using the Management Web Page
(Settings Tab -> Setup -> System -> Restart Button)

The unit should now be running the "old" firmware.

This method uses the fw_printenv and fw_setenv commands which view and set the environment variables that the U-boot bootloader use to determine how to boot up the Central. Seagate have kindly left them executable by normal non-root users. 


METHOD 2 : Power cycling 4 times while the LED light flashes green

If you don't want to ssh into your unit then use this method

Step 1 : Power down your central.

Step 2 : Power Up again and watch the little LED light on top of the unit.

Step 3 : When the LED changes from solid amber/green to flashing green let it blink about 2 times then quickly unplug the power.

Step 4 : Goto Step 2 and repeat at least 4 times.

Step 5 : Power on and let the unit fully boot up so that the LED light goes solid green. The unit should now be running the "old" firmware.

This method takes advantage of a custom Seagate feature in the U-Boot bootloader whereby if the unit fails to fully boot 4 times in a row it will switch to the backup firmware.


After completing Method 1 or Method 2 your Central is hopefully running the "old" firmware. You can confirm by using the Management Web Page (Settings Tab -> Setup -> About ) then look at the displayed Firmware Version.

Now a note for those of you reverting firmware because you lost root / su access. If you have previously set a non blank root password then at this point you should *hopefully* be able to use the "su" command to get root access again with your old password. 

However if you had a blank root password then you still won't have root access. This is because even though "su" access is technically enabled again, the "new" Seagate Central Firmware has changed your blank root password into a new secret password which no one knows.

I am going to put up another post about a method of modifying the Seagate Central firmware to get rid of the new root password in the near future.


11 comments:

  1. Thanks for this article but I really could use the article on how to get root with a blank root password. I did not have a password set. Thanks

    ReplyDelete
    Replies
    1. Sorry it took so long. I've completed the article on how to get root back. Thanks.

      Delete
  2. I could really use the next article on how to remove the su password once I revert back to the prior firmware version. Thanks

    ReplyDelete
    Replies
    1. Sorry it took so long. I've completed the article on how to get root back. Thanks.

      Delete
  3. How to restore original firmware to new blank drive?

    ReplyDelete
  4. How to restore original firmware to new blank drive?

    ReplyDelete
  5. Here is a link to the 2014.04.10.0026F Seagate-HS-update-201404100026F version of the firmware. I'm not sure if this is the direct predecessor to the sucky 2015 final firmware. https://mega.nz/#!BGRGDBjT!G33se9-l7FQrKsgCbwoCj1asfa3yq18Qma3wKuKOEDQ

    ReplyDelete
  6. when reverting to previous firmware does the data on disk be erase, or dos it continue there (no need for backup...)?

    ReplyDelete
  7. Playtech adds its first legal sportsbook in Arizona, a legal
    › News › mobile-casinos › News › mobile-casinos Nov 3, 2021 계룡 출장마사지충주 출장안마 Nov 3, 포천 출장샵 2021 Playtech adds its first legal sportsbook in Arizona, a legal sportsbook 청주 출장안마 in Arizona, 울산광역 출장마사지 a legal sportsbook in Arizona, a legal sportsbook in Arizona, a

    ReplyDelete
  8. Please I need help restoring my Seagate Central NAS, the original Hard Drive is dead so I used a 2.5inch Seagate Momentus Thin to replace it.
    I followed the article "How to unbrick-Replace-Reset Hard Drive" and everything seems to work flawlessly during the process: repartionning , mounting the hard drive, unzipping the firmware and placing each components in the right place.
    But when it comes to put the new hard drive into the Central, the amber light won't go away even after waiting for an hour.
    Can you help me please understand what's exactly happening and what I am doing wrong?

    ReplyDelete
  9. While I'm many years late to this excellent work, most of links are no longer active. Are there any new links I could follow??

    ReplyDelete