[RECOVERY][UNOFFICIAL] CWM Recovery for Nvidia Shield Tablet

Do you think this tablet needs recovery and custom ROMs?

  • Yes

    Votes: 19 90.5%
  • No

    Votes: 2 9.5%

  • Total voters
    21
  • Poll closed .
Search This thread

Unjustified Dev

Recognized Developer
Oct 21, 2012
7,185
13,080
26
Memphis , TN
I am not responsible for anything that happens while installing this recovery



Installation:

Download the attached recovery.img. You must have your bootloader unlocked before following this guide please refer HERE . You do not have to root your device to complete this installation.

To permanently flash to recovery partition

Code:
fastboot flash recovery recovery.img

To test the recovery image use

Code:
fastboot boot recovery.img

To install SuperSu/Root your device use the flashable zip from Chainfire's thread. No direct links let's give him credits
http://forum.xda-developers.com/showthread.php?t=1538053

Current issues:
It appears to be rotated 180 degrees the wrong way. It's rotated that way due to the framebuffer. Don't worry it does not effect the performance in any way.

Source:

device https://github.com/C457/android_device_nvidia_wx_na_wf

kernel https://github.com/C457/android_kernel_nvidia_ardbeg

If you want to build the recovery to fix the 180 degree rotated issue you will need one patch from google

http://gerrit.vanir.co:8080/#/c/324/

Thanks

Huge thanks to @Keithn for testing all my bad images

If you would like to help me purchase this tablet follow the link below
http://www.gofundme.com/dbb08k
 

Attachments

  • recovery.img
    9.5 MB · Views: 49,990
Last edited:

Failrunner

Senior Member
Aug 19, 2012
121
17
The portables drivers work for the tablet? The instructions to unlock the bootloader are for the shield portable.
 

Unjustified Dev

Recognized Developer
Oct 21, 2012
7,185
13,080
26
Memphis , TN
The portables drivers work for the tablet? The instructions to unlock the bootloader are for the shield portable.

Most likely yes and it wouldn't hurt to try. Let me know how it goes. All feed back is appreciated.

The bootloader unlocking part is the same on all devices that allow unlocking the bootloader without some special key you have to request.
 
Last edited:

les02jen17

Senior Member
Jun 10, 2011
663
94
Manila
Thanks for creating a forum specifically for the Shield Tablet! ^_^ I haven't got mine yet... still in the process of "attracting" it. :D
 

bigxie

Senior Member
Nov 14, 2010
1,374
5,861
Bay Area, CA
www.twitter.com
Thanks for the custom recovery!

Does anyone have a copy of the stock recovery though? I can't flash an OTA with CWM due to mismatching device name (among other reasons, possibly).
 

Unjustified Dev

Recognized Developer
Oct 21, 2012
7,185
13,080
26
Memphis , TN
Thanks for the custom recovery!

Does anyone have a copy of the stock recovery though? I can't flash an OTA with CWM due to mismatching device name (among other reasons, possibly).

Remove the following lines from the OTA zip in META-INF/com/google/android/updater-script

This is an example of the lines to remove.
Code:
(!less_than_int(1407012396, getprop("ro.build.date.utc"))) || abort("Can't install this package (Sat Aug  2 13:46:36 PDT 2014) over newer build (" + getprop("ro.build.date") + ").");
getprop("ro.product.device") == "shieldtablet" || abort("This package is for \"shieldtablet\" devices; this is a \"" + getprop("ro.product.device") + "\".");

The file beginning line should now read
Code:
show_progress(0.500000, 0);
format("ext4", "EMMC", "/dev/block/platform/sdhci-tegra.3/by-name/APP", "0", "/system");
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 19
    I am not responsible for anything that happens while installing this recovery



    Installation:

    Download the attached recovery.img. You must have your bootloader unlocked before following this guide please refer HERE . You do not have to root your device to complete this installation.

    To permanently flash to recovery partition

    Code:
    fastboot flash recovery recovery.img

    To test the recovery image use

    Code:
    fastboot boot recovery.img

    To install SuperSu/Root your device use the flashable zip from Chainfire's thread. No direct links let's give him credits
    http://forum.xda-developers.com/showthread.php?t=1538053

    Current issues:
    It appears to be rotated 180 degrees the wrong way. It's rotated that way due to the framebuffer. Don't worry it does not effect the performance in any way.

    Source:

    device https://github.com/C457/android_device_nvidia_wx_na_wf

    kernel https://github.com/C457/android_kernel_nvidia_ardbeg

    If you want to build the recovery to fix the 180 degree rotated issue you will need one patch from google

    http://gerrit.vanir.co:8080/#/c/324/

    Thanks

    Huge thanks to @Keithn for testing all my bad images

    If you would like to help me purchase this tablet follow the link below
    http://www.gofundme.com/dbb08k
    8
    Hi guys,

    if I try in CWM to flash the " productionBL-droid-signed-wx_na_do-full_ota-29082_493.9700.zip " file it aborts with this error : " This Package is for "shieldtablet" devices; this is a "ardbeg"

    Anyone knows what the problem might be ?

    Thx,

    jce
    I had this problem too. I'm using the recovery from a few pages back that fixes the upside-down issue, so maybe you're using the same one? The "ro.product.device" in that one says "ardbeg" instead of shieldtablet. I recompiled it to use shieldtablet and then was able to flash the full OTA fine through CWM.

    Here's the updated recovery. You'll need to unzip it and flash through fastboot or adb.

    Code:
    adb shell
    su
    dd if=/data/media/0/recovery.img of=/dev/block/platform/sdhci-tegra.3/by-name/SOS

    or

    Code:
    fastboot flash recovery recovery.img
    8
    How can i flash the new 5.0.1 update using this recovery or do i have to go back to stock?
    You don't have to go back to stock. All you need to do is:
    1. Flash the full update package in recovery, as in the 700+MB one for that very device (Wifi, or LTE), not the 80ish MB one. Find them here:
    wifi: http://ota.nvidia.com/ota/rom/productionBL-droid-signed-wx_na_wf-full_ota-29082_493.9700.zip
    US-LTE: http://ota.nvidia.com/ota/rom/productionBL-droid-signed-wx_na_do-full_ota-29082_493.9700.zip

    2. Once this is flashed, reboot the device. You are probably gonna lose recovery at this point. You can find CWM here (http://forum.xda-developers.com/shi.../recovery-cwm-recovery-nvidia-shield-t2848064), and supersu here (http://download.chainfire.eu/641/SuperSU/UPDATE-SuperSU-v2.40.zip put it somewhere on your tablet). Then Flash them following this procedure:
    -adb reboot bootloader
    -fastboot flash recovery recovery.img
    -don't do "fastboot reboot" yet. I found CWM won't stick on the tablet for some reason. What you
    need to do instead is to go to recovery mode by directly choosing the "recovery mode" option on
    the tablet while it's still in bootloader mode.
    -Once you're in recovery mode, flash supersu zip file
    - Reboot, and profit
    4
    Uploaded new recovery.img it's using normal layout as nvidia kernel makes it go that direction I decided to just swap volume up and down keys.
    4
    Current issues:
    It appears to be rotated 180 degrees the wrong way. It's rotated that way due to the framebuffer. Don't worry it does not effect the performance in any way.

    Couldn't decide if it would be worth starting an entirely separate thread, but I fixed the framebuffer so that it's oriented correctly. I thought about creating a merge request, but I was using NVIDIA's Tegra device tree, which is...really different.

    In any case, here's my device tree. The bulk of the fix is in common/recovery/graphics.c, in the gr_flip() method. In the default graphics.c file, this method basically just does a memcpy() from memory to the framebuffer. The modified version is this:

    Code:
    void gr_flip(void)
    {
            GGLContext *gl = gr_context;
    
            /* swap front and back buffers */
            if (double_buffering)
                gr_active_fb = (gr_active_fb + 1) & 1;
    
            int buffer = 0;
            int fbsize = fi.line_length * vi.yres;
    
            // Copy the in-memory buffer into the buffer we're about to make
            // active, but reverse the order of the pixels.
            for (buffer = 0; buffer < fbsize; buffer += 4)
            {
                const char *src = (char *)gr_mem_surface.data;
                char *dst = (char *)gr_framebuffer[gr_active_fb].data;
    
                // Since we're reversing the buffer data, we need to flip the order
                // of the subpixel values, too. Otherwise they'll be backwards.
                dst[(fbsize-(buffer+4))] = src[buffer-PIXEL_OFFSET];
                dst[(fbsize-(buffer+3))] = src[buffer+1-PIXEL_OFFSET];
                dst[(fbsize-(buffer+2))] = src[buffer+2-PIXEL_OFFSET];
                dst[(fbsize-(buffer+1))] = src[buffer+3-PIXEL_OFFSET];
            }
    
            /* inform the display driver */
            set_active_framebuffer(gr_active_fb);
    }

    There are a few other smallish adjustments that I had to make in order to get everything lined up correctly. That offset is because without it I was getting some weird padding on the right side of the screen, for example. Anyway, I've got it running on my LTE Shield and haven't had any issues. Did a backup, performed a partial restore, flashed SuperSu, etc.

    If anyone wants to try the recovery, I've attached a zipped copy of the image. This is NOT a zip that you can flash from your current recovery, I just zipped it because the raw image exceeds XDA's file upload limit apparently. Unzip the image, then flash it or boot it via fastboot or Flashify or whatnot, just like any other recovery image. MD5 for the image (not the zip) should be 7959f08d9266b60da46f44ab4333c92a. I make no promises, but as I said, it's working fine on my Shield.