[GUIDE] Revert, rollback, or downgrade Nvidia Shield TV Experience Upgrade +DATA LOSS

Search This thread

Osndok

Member
Jul 29, 2017
19
6
NOTICE: Several users have reported issues downgrading from v7.2.x, so it might require some additional experimentation to downgrade from that version.

-

Missing your screenshot or twitch streaming functionality? Hate the new launcher layout w/ its tiny one row of icons and its numerous rows of psychologically-aggressive suggestion imposition?

Well, now you can stop cursing at Nvidia, because they provided a way (albiet, a highly technical and mostly-undocumented way), to load any version of their OS that you choose.

I've seen others wanting to downgrade (including myself), so I've collected the relevant steps which I used to successfully revert to an earlier version. This guide assumes a bit of technical working knowledge, so I apologize if you are one of the 'normal' people that Nvidia has bulldozed over...

All the usual "don't blame me for bricked devices" caveats apply.... please be careful, know what each step does! research each step!

Best of luck...

0 - prereqs
  • make sure your PC & nvidia shield are both plugged into a UPS, b/c a power failure during a flashing operation is not very pleasant.
  • make sure you have (or do get) the adb & fastboot binaries ("commands") for your computer
  • make sure that you get all your userdata off the device, because it will be erased by this process

1 - using a web browser
  1. register for an nvidia developer account (which you will have an opportunity to do if you attempt the next step)
  2. download the 6.3 'developer os' rom for your particular model
    https: //developer.nvidia.com/shield-developer-os-images (sorry, noob filter won't allow the real/clickable url)​

NB: The 6.3 developer rom for the 2017 console is missing the userdata.img, there are currently no reports (on this thread) if a different userimage (pre-6.3 or for the 2015 version) works on the 2017 console (testers welcome!).

NB: if the cost of being identified as a developer offends you (i.e. yielding a name, company, email, etc), then you can probably dig up a link to the roms in the comments or elsewhere on the xda forums.

2 - on the device
  1. enable developer mode by clicking the 'build' entry in settings->info
  2. enable usb debugging in settings->developer-options
  3. plug it into your computer using the usb port furthest from the hdmi port

3 - in a terminal
  1. unzip the downloaded rom & cd into the resulting directory
  2. edit the 'flash-all.sh' script to add the following line just before the final reboot:
    fastboot flash userdata userdata.img​
  3. #(this will add even more wall-time to the flashing process, but will clobber the already-erased newer 7.0 user partition data with the old)
  4. adb reboot bootloader
  5. fastboot oem unlock && ./flash-all.sh

NB: Now confirm your willingness to lose all your data. On the 2015 'pro' version of the console, this is accomplished by pressing (or holding) the nvidia logo 'button'... AND WILL TAKE NEARLY TWO HOURS. Others use the x/y/a/b buttons on the game controller connected to the usb port nearest to the hdmi port.

[... time passes ...]

NB: the 7.0 to 6.3 was a clean backstep for me, but if you are going between other versions, I can see that this script might stall in the middle if the device does not come back up with adb services available... in which case you will need to enter fastboot manually using a hardware method.

4 - Break TegraOTA

You have now flushed the correct version onto your device, but we can't complete the setup process... if you were to try, the final step would immediately and automatically start downloading & applying the latest (7.0) experience update! Therefore, we must neuter the updater itself.

Still in the terminal:
  1. adb root
  2. adb remount
  3. adb shell
  4. # now these commands are run in the adb shell (technically on the phone through the PC terminal)
  5. # the first path was the right one for me, but I'm putting here all the paths known to me in case you are using a different version
  6. rm -rf /system/priv-app/TegraOTA
  7. rm -rf /system/app/TegraOTA
  8. rm -rf /system/app/TegraOTA.apk
  9. sync
  10. reboot

5 - you should now be able to setup and pain-stakingly reconfigure your nvidia shield to the way it was before you blindly trusted an OEM update without doing extensive research beforehand.

PS: if you fear that netflix or amazon-video will at some point stop working because of this process, you might wish to "fastboot oem lock" the device (knowing that an unlock will erase your user-data, but having the developer rom means you can always get root access via adb).

I hope you find this useful.
 
Last edited:

rossbeck

Senior Member
Jul 22, 2012
154
19
USA
Thanks! I will be trying this tonight! I miss 6.3 and PLEX is BROKEN in 7.0!

Any idea if this can be done without needing a controller? My buddy has a shield TV but bought it used without a controller.
 

rossbeck

Senior Member
Jul 22, 2012
154
19
USA
Plex is NOT broken in 7.0 i use it everyday.

I use it every day too... and since Plex v6.13, files fail to play after 3 seconds unless you run them a 2nd time.

It's a known issue that everyone is having due an acknowledged bug in exoplayer2 with certain containers like mkv. Since 7.0/oreo has plex v6.14 baked in as a system app, it's impossible to downgrade to v6.12 to get rid of the issue until Plex fixes it... and they've known about it for 2 months now. Since quantity has been their focus over quality lately, I'm not holding my breath for a fix.

The solution is to downgrade to 6.3, manually install plex v6.12, and turn off app updates.... so that's my plan.
 

crazyscow

Senior Member
Jun 4, 2011
250
26
doesnt work for me... i have a nvidia shield tv 2015. i tried with flash-all.bat
and im stuck after reboot. is there any other way?
 

Osndok

Member
Jul 29, 2017
19
6
doesnt work for me... i have a nvidia shield tv 2015. i tried with flash-all.bat
and im stuck after reboot. is there any other way?

What command did the script stop at? and how 'stuck' are you (i.e. can you get to fastboot?).

I imagine that if you started with the wrong rom, it would likely fail to boot.
 

crazyscow

Senior Member
Jun 4, 2011
250
26
thanks for the fast reply, i just manually installed it without the bat file
I went manually into the fastboot mode by unplugging the power pressing the power button and plugging it back in until fastboot mode comes.

then i typed
fastboot flash staging blob
fastboot flash boot boot.img
wait until the sound on windows comes then - adb devices
adb reboot bootloader
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot flash vendor vendor.img
fastboot reboot

and then it booted :)
 

rossbeck

Senior Member
Jul 22, 2012
154
19
USA
thanks for the fast reply, i just manually installed it without the bat file
I went manually into the fastboot mode by unplugging the power pressing the power button and plugging it back in until fastboot mode comes.

then i typed
fastboot flash staging blob
fastboot flash boot boot.img
wait until the sound on windows comes then - adb devices
adb reboot bootloader
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot flash vendor vendor.img
fastboot reboot

and then it booted :)

How did you get past the forced update? I was able to flash 6.3, but it forces the update during setup and I don't have ADB access yet because usb debugging isn't turned on. Can't disable the OTA updates without it!

Basically I've successfully flashed 6.3 and am sitting at a working fastboot prompt. Not sure what to do from here.
 
Last edited:

Osndok

Member
Jul 29, 2017
19
6
How did you get past the forced update? I was able to flash 6.3, but it forces the update during setup and I don't have ADB access yet because usb debugging isn't turned on. Can't disable the OTA updates without it!

Basically I've successfully flashed 6.3 and am sitting at a working fastboot prompt. Not sure what to do from here.

Disabling the OTA update is step four, if ADB does not work, I would guess that you forgot to flash userdata.img in the previous step(s).
 

rossbeck

Senior Member
Jul 22, 2012
154
19
USA
Disabling the OTA update is step four, if ADB does not work, I would guess that you forgot to flash userdata.img in the previous step(s).

So you did what to get userdata.img? Created it in TWRP or something? It's not included with the recovery images... and this basically bypasses the OOBE/setup stuff?

Thanks man
 

Osndok

Member
Jul 29, 2017
19
6
you did what to get userdata.img? ... It's not included with the recovery images... and this basically bypasses the OOBE/setup stuff?

userdata.img is inside the ZIP from the nvidia developer website, as can be seen here:
Code:
$ jar tf nv-recovery-image-shield-atv-pro-6.3.0-dev_rooted.zip | grep user
nv-recovery-image-shield-atv-pro-6.3.0-dev_rooted/userdata.img
 

Osndok

Member
Jul 29, 2017
19
6
[the userdata.img] basically bypasses the OOBE/setup stuff?

No... not really. The userdata.img from the developer pack both (1) matches the 6.3 version (doesn't have any of the newer, potentially incompatible entries), and (2) has developer-mode & adb enabled by default.

So in addition to it probably just working better, flashing the userdata will let you get adb access, and thus break the OTA, and thus complete the setup w/o the update.
 

crazyscow

Senior Member
Jun 4, 2011
250
26
I thought it would boot up, but im still stuck on the android loading screen!
Ill try to reflash the rom again tonight.

update:
I got it to work now, without update having to update to 7.0.2
Code:
adb reboot bootloader
fastboot flash staging blob
fastboot flash boot boot.img
fastboot reboot

//waiting for nvidia logo and the Windows PC to make the connection noise
//otherwise you can check by typing
adb devices 
// if it shows something then continue

adb reboot bootloader
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot flash vendor vendor.img
fastboot flash userdata userdata.img
fastboot reboot

once it booted it up, i went thru the procedure of setting it up with my network and google account, then the window pop-up "downloading version 7.0.2" then i followed the guide in the first post

Code:
adb root
adb remount
adb shell
# now these commands are run in the adb shell (technically on the phone through the PC terminal)
# the first path was the right one for me, but I'm putting here all the paths known to me in case you are using a different version
rm -rf /system/priv-app/TegraOTA
rm -rf /system/app/TegraOTA
rm -rf /system/app/TegraOTA.apk
sync
reboot

after that it booted up into android 7 with not OTA update notification.

thank you!
 
Last edited:

lohengrim93

New member
Jul 3, 2018
2
0
hello, thanks for the contribution, but when decompressing the image of developer 6.3 of shield tv 2017 I do not know where to get the file userdata.img, could you give me where to get it?
 

Osndok

Member
Jul 29, 2017
19
6
when decompressing the image of developer 6.3 of shield tv 2017 I do not know where to get the file userdata.img, could you give me where to get it?

As I said in #13, I found the userdata.img inside the archive from nvidia (the 2015 "pro" version to be exact), and I don't know why it is missing from (at least) the 6.3 archive for the 2017 device.

If you are feeling adventurous, you can try downloading either of the 2015 zips, and use its userdata.img... maybe the 16gb one?

I would be eager to know if that works for you, since I'm unsure if the userdata.img can be mixed between different versions of the console...

JUST BE VARY CAREFUL to not mix up your directories and start flashing the wrong blobs & boots... that would be a recipe for a brickin', methinks.
 
Last edited:

Insatiablejimmy

New member
Dec 12, 2015
2
0
Adb root

When I attempt to run the adb root command it just errors on me at the end, do I need to have the shield booted into setup for it to work?
 

Osndok

Member
Jul 29, 2017
19
6
When I attempt to run the adb root command it just errors on me at the end, do I need to have the shield booted into setup for it to work?

You forgot to include (or even describe) the actual error message, so I can only guess as to what is wrong.

However, since "adb root" is the linchpin of the developer rom, I would assume that you did not flash a developer rom (or as indicated above concerning the 2017 model) are missing the "userdata.img", which could also cause this behavior.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    NOTICE: Several users have reported issues downgrading from v7.2.x, so it might require some additional experimentation to downgrade from that version.

    -

    Missing your screenshot or twitch streaming functionality? Hate the new launcher layout w/ its tiny one row of icons and its numerous rows of psychologically-aggressive suggestion imposition?

    Well, now you can stop cursing at Nvidia, because they provided a way (albiet, a highly technical and mostly-undocumented way), to load any version of their OS that you choose.

    I've seen others wanting to downgrade (including myself), so I've collected the relevant steps which I used to successfully revert to an earlier version. This guide assumes a bit of technical working knowledge, so I apologize if you are one of the 'normal' people that Nvidia has bulldozed over...

    All the usual "don't blame me for bricked devices" caveats apply.... please be careful, know what each step does! research each step!

    Best of luck...

    0 - prereqs
    • make sure your PC & nvidia shield are both plugged into a UPS, b/c a power failure during a flashing operation is not very pleasant.
    • make sure you have (or do get) the adb & fastboot binaries ("commands") for your computer
    • make sure that you get all your userdata off the device, because it will be erased by this process

    1 - using a web browser
    1. register for an nvidia developer account (which you will have an opportunity to do if you attempt the next step)
    2. download the 6.3 'developer os' rom for your particular model
      https: //developer.nvidia.com/shield-developer-os-images (sorry, noob filter won't allow the real/clickable url)​

    NB: The 6.3 developer rom for the 2017 console is missing the userdata.img, there are currently no reports (on this thread) if a different userimage (pre-6.3 or for the 2015 version) works on the 2017 console (testers welcome!).

    NB: if the cost of being identified as a developer offends you (i.e. yielding a name, company, email, etc), then you can probably dig up a link to the roms in the comments or elsewhere on the xda forums.

    2 - on the device
    1. enable developer mode by clicking the 'build' entry in settings->info
    2. enable usb debugging in settings->developer-options
    3. plug it into your computer using the usb port furthest from the hdmi port

    3 - in a terminal
    1. unzip the downloaded rom & cd into the resulting directory
    2. edit the 'flash-all.sh' script to add the following line just before the final reboot:
      fastboot flash userdata userdata.img​
    3. #(this will add even more wall-time to the flashing process, but will clobber the already-erased newer 7.0 user partition data with the old)
    4. adb reboot bootloader
    5. fastboot oem unlock && ./flash-all.sh

    NB: Now confirm your willingness to lose all your data. On the 2015 'pro' version of the console, this is accomplished by pressing (or holding) the nvidia logo 'button'... AND WILL TAKE NEARLY TWO HOURS. Others use the x/y/a/b buttons on the game controller connected to the usb port nearest to the hdmi port.

    [... time passes ...]

    NB: the 7.0 to 6.3 was a clean backstep for me, but if you are going between other versions, I can see that this script might stall in the middle if the device does not come back up with adb services available... in which case you will need to enter fastboot manually using a hardware method.

    4 - Break TegraOTA

    You have now flushed the correct version onto your device, but we can't complete the setup process... if you were to try, the final step would immediately and automatically start downloading & applying the latest (7.0) experience update! Therefore, we must neuter the updater itself.

    Still in the terminal:
    1. adb root
    2. adb remount
    3. adb shell
    4. # now these commands are run in the adb shell (technically on the phone through the PC terminal)
    5. # the first path was the right one for me, but I'm putting here all the paths known to me in case you are using a different version
    6. rm -rf /system/priv-app/TegraOTA
    7. rm -rf /system/app/TegraOTA
    8. rm -rf /system/app/TegraOTA.apk
    9. sync
    10. reboot

    5 - you should now be able to setup and pain-stakingly reconfigure your nvidia shield to the way it was before you blindly trusted an OEM update without doing extensive research beforehand.

    PS: if you fear that netflix or amazon-video will at some point stop working because of this process, you might wish to "fastboot oem lock" the device (knowing that an unlock will erase your user-data, but having the developer rom means you can always get root access via adb).

    I hope you find this useful.
    2
    I thought it would boot up, but im still stuck on the android loading screen!
    Ill try to reflash the rom again tonight.

    update:
    I got it to work now, without update having to update to 7.0.2
    Code:
    adb reboot bootloader
    fastboot flash staging blob
    fastboot flash boot boot.img
    fastboot reboot
    
    //waiting for nvidia logo and the Windows PC to make the connection noise
    //otherwise you can check by typing
    adb devices 
    // if it shows something then continue
    
    adb reboot bootloader
    fastboot flash recovery recovery.img
    fastboot flash system system.img
    fastboot flash vendor vendor.img
    fastboot flash userdata userdata.img
    fastboot reboot

    once it booted it up, i went thru the procedure of setting it up with my network and google account, then the window pop-up "downloading version 7.0.2" then i followed the guide in the first post

    Code:
    adb root
    adb remount
    adb shell
    # now these commands are run in the adb shell (technically on the phone through the PC terminal)
    # the first path was the right one for me, but I'm putting here all the paths known to me in case you are using a different version
    rm -rf /system/priv-app/TegraOTA
    rm -rf /system/app/TegraOTA
    rm -rf /system/app/TegraOTA.apk
    sync
    reboot

    after that it booted up into android 7 with not OTA update notification.

    thank you!
    2
    Is it possible for me to downgrade my shield tv I just bought yesterday nib which updated during setup to 7.2 back down to 7.1? I want to root on 7.1 so I could play PUBG mobile with my game controller.

    Reverting to 7.1 is supposed to be as easy as flashing the previous image available from nvidia. However, I attempted to flash back to 7.1 and am now stuck at the nvidia boot logo. I cannot boot stock recovery or TWRP due to the kernel change. I do not suggest trying it until they at least post the 7.2 full update, which I am patiently waiting for so I can try to revive mine. I am very familiar with flashing devices, especially this as I used to use the rooted developer image, however, they managed to screw something up with 7.2.
    2
    Can someone post the user userimage files from a stock recovery file, for the 2017 16gb version.

    My unit is stuck at the Google boot screen, and without the userimage, I have lost fast boot commands.

    I can get to fastboot mode, and I can see the device in adb devices. It's just the fastboot commands won't execute anything anymore.....

    Is a Userdata.img from 6.3. 2015 16gb,in 6.3 2017 is not a userdata
    1
    Hi
    I can confirm that it is possible to downgrade a Shield 2017 with 8.0 to 6.3 and nv-recovery-image-shield-atv-2017-6.3.0.zip. The Shield was not rooted. I had no problems with the downgrade.
    After downgrade you have to block "ota-downloads.nvidia.com" and "ota.nvidia.com" with a Firewall or Pi-hole. I was amazed that the downgrade worked without problems. Apparently there were problems to get from 7.2 back to 6.3. I am now looking forward to the sharp picture and without washed-out colors. I hope that helps others

    Downloaded from developer dot nvidia dot com/gameworksdownload#?search=SHIELD%20TV%202017&tx=$additional,shield

    And with this instructions from Nvidia:
    *******************************************************************************
    SHIELD RECOVERY IMAGE FLASHING INSTRUCTIONS
    *******************************************************************************

    To follow the instructions in this guide, you require the "adb" and "fastboot
    utilities. These tools are provided as part of the Android SDK:
    developer dot android dot com/sdk/index.html

    To setup the tools, follow one of Google's guides:
    developer dot android dot com/tools/help/adb.html#Enabling
    developers dot google dot com/cast/docs/android_tv#adb-usb

    If you are running Windows and the standard Google adb USB driver does not
    detect the SHIELD device, you can use NVIDIA's driver:
    developer dot nvidia dot com/gameworksdownload#?search=SHIELD%20Family%20Windows%20USB


    *******************************************************************************
    ENTERING FASTBOOT MODE
    *****
    To begin, connect your SHIELD via USB to the PC where you downloaded this recovery image.
    - Insert a USB OTG cable and connect the other end to the host PC
    - Setup adb using one of the guides above

    Next, put your SHIELD into fastboot mode using one of the following methods:

    Software Method:
    - Boot the into Android
    - Connect the device to the host PC
    - Open terminal (on linux); command prompt (on windows).
    - Type "adb reboot bootloader" at the prompt

    Hardware Method:
    - Disconnect power cable
    - Connect power cable to SHIELD
    - As soon as the green LED turns on -BUT NOT BEFORE- hold down the power button
    - Count to three, then immediately release the power button
    - i.e. one-one thousand, two-one thousand, three-one thousand.. LIFT!
    - You should now see the fastboot menu on the screen.
    - If the standard boot process starts, disconnect the power cable and repeat
    the process increasing the count in the previous step to 4.

    NOTE: You should leave the HDMI TV connected to SHIELD at all times.


    *******************************************************************************
    FASTBOOT MENU NAVIGATION
    *****
    Once in fastboot mode, navigate the menus using the power button.
    - Single tap the power button to move between menu items
    - Hold down the power button for 4 seconds and release to select a menu item


    *******************************************************************************
    UNLOCKING THE BOOTLOADER
    *****
    Your SHIELD may have shipped with a locked bootloader. To update the device,
    you must unlock the bootloader using the following command on the host PC:
    - fastboot oem unlock

    That command triggers a new page on the device headed '!!! READ THE FOLLOWING !!!'
    - Read the warning on the screen
    - To unlock the bootloader, select 'Confirm'

    WARNING: Unlocking the bootloader securely formats the user data partition. This
    process PERMANENTLY DELETES all data such as photos, music and downloads that
    have previously been stored on the device.

    NOTE: On the SHIELD Android TV Pro (500GB unit), the unlock process WILL take
    around two hours (ie 120 minutes) due to the large size of the hard drive. This
    is a security precaution and cannot be avoided.


    *******************************************************************************
    FLASHING THE DEVICE
    *****
    To flash the recovery image to your SHIELD, download and unpack the recovery
    image package. From the unpack directory, execute the commands below for your
    particular upgrade path.

    If this is the first time you have done this procedure, you must unlock the
    bootloader (see above step).

    *****
    * SHIELD UNITS WITH ANDROID LOLLIPOP OR LOWER
    *
    If your SHIELD device OS is currently running Android Lollipop or lower
    (i.e. the Android version is less than 6.0) or you are unsure of the OS
    version, follow these intructions:

    *** Prerequisites:
    1. Ensure that the bootloader is unlocked (see above step)
    2. Ensure USB debugging is enabled and adb is working (when not
    in fastboot mode)

    *** Flashing instructions:
    1. Execute these commands IN ORDER on the host PC:

    adb reboot bootloader
    fastboot flash staging blob
    fastboot flash boot boot.img
    fastboot reboot
    adb wait-for-device
    adb reboot bootloader
    fastboot flash recovery recovery.img
    fastboot flash system system.img
    fastboot flash vendor vendor.img
    fastboot reboot

    NOTE: If the "adb wait-for-device" step does not complete within
    5 minutes, you can try re-entering fastboot mode using the
    "Hardware Method" given in the "ENTERING FASTBOOT MODE" step above. Then
    execute the rest of the commands after "adb reboot bootloader".

    *****
    * SHIELD UNITS WITH ANDROID MARSHMALLOW OR NEWER
    *
    If you are CERTAIN that your SHIELD device OS is currently running Android
    Marshmallow or newer (i.e. the Android version is 6.0 or greater), follow
    these intructions:

    *** Prerequisites:
    1. Ensure that the bootloader is unlocked (see above step)

    *** Flashing instructions:
    1. Execute these commands on the host PC:

    fastboot flash staging blob
    fastboot flash boot boot.img
    fastboot flash recovery recovery.img
    fastboot flash system system.img
    fastboot flash vendor vendor.img
    fastboot reboot