[GUIDE] nvFlash General Users Guide [Unbrick/Recover/Downgrade/Upgrade]- TF201

Search This thread


Sep 1, 2010
I don't even know if this is of any use these days? Does modern Ubuntu run on it still?
Even the optimized and ported Android versions with that Merkat or whatever it was isn't running smoothly at all anymore sadly since that hardware is just too old these days. Is it even worth trying?
Apparently postmarketOS works pretty well on these which gives it a 5.14 mainline kernel (as of this date), the only two reasons I stopped using this thing is it stopped getting security updates and the weird disk performance halting on the emmc. running pmOS off an SD card may bring life back into this tablet but I was in bootloader limbo after installing hairybean, which lead me down the nvflash rabbit hole. It's been quite an adventure but I think it will be worth it.


May 11, 2012
I've an almost bricked TF 201 here. last known working state was in a properly running KatKiss 7.1 v39. Part of the guide involved extracting blobs in case of bricking. So I have those blobs, but I've no idea what to do with them.

- APX mode available
- Fastboot unavailable
- Bootloader:
- TWRP Recovery Kang 3.2.3-0 is stuck in a loop

Last thing I tried doing with it was to convert the data partition from f2fs back to ext4. But when I executed the command, the process continued for a long time (maybe 30 mins?). I wasn't sure if I wanted to wait until the battery drained, but it seemed clear to me that TWRP was stuck at this step with no error codes in sight. I regret powering off and on again because now TWRP cannot mount the data partition, and it keeps trying to format it to ext4 on a recovery script and keeps getting stuck there. Hence, only APX mode is available.

Fastboot gets skipped every time I hold down POWER and VOL DOWN to try entering into it. But it jumps straight into recovery and that looping script on formatting a data partition that it can't even mount.

So here I am, with just these blobs created right before upgrading to KatKiss 7.1. But I don't know how to use them. I have zero familiarity with compiling stuff. I don't know what to do with the master Github page for the blob tools. But I can follow instructions step-by-step if someone could write them out for me. I can use Powershell or CMD only when someone writes out the codes for me.

Please help!

Top Liked Posts

  • There are no posts matching your filters.
  • 52
    AIM: This is a general users guide to unbrick, recover, downgrade or upgrade using nvFlash for the Transformer Prime TF201. I will try my best to help anyone out so please feel free to PM me if you have any questions.

    1. Transformer Prime TF201 (duh!!!)
    2. Enabled nvFlash access (Tegra 3 nvFlash by AndroidRoot)
    3. Window or Linux computer [Linux recommended]
    4. Ability to use a command prompt or terminal shell
    5. nVidia APX drivers [Windows Only] (Universal Naked Drivers)
    6. Wheelie & nvFlash binaries/executables
    7. You device specific nvFlash backup files generated while enabling nvFlash

    1. Manual steps for basic unbrick, recovery, downgrade or upgrade. [Windows & Linux] This is your first option to recover your device.
    2. Automated complete factory reset & recovery [Linux Only] Use this only if you cannot recover using the manual steps or if you want to completely wipe and recover your device.

    At the moment, nvFlash can only be enabled on a device with the ICS bootloader. If you have upgraded to the official Jelly Bean ROM before enabling nvFlash, you would have the new bootloader and you will no longer be able to enable nvFlash. When following this guide, read the information provided carefully to prevent any permanent damages. Be patient as each step may take a while to complete. Make sure your device is charged (recommended more that 75% battery) before attempting anything detailed here. Do not forcefully power off your device at the wrong time. Keep you device connected to your computer during the whole process. If you encounter bootloops or are stuck at the Asus spinning wheel after this process, a data wipe should fix this (Power + Vol Down, then select Wipe Data)

    nvFlash would allow you to recover your device from almost any brick and would allow you to upgrade or downgrade your device.

    1. Download the nvFlash binary/executable for your operating system [ Windows / Linux ]
    2. Download the wheelie binary/executable for your operating system [ Windows / Linux ]
    3. Install the APX drivers [ Windows Only ]

    Make sure you always run nvflash and wheelie as root or sudo. If your user does not have root privileges or is not a sudoer, you will quite likely not be able to do this. If you are a root user, do not use the sudo prefix in the commands below.

    1. Download an un-blob'd ROM (links below). [Advanced users can use BlobTools (blobunpack) and unblob a ROM. Make sure you have compatible unblob'd images of the bootloader, recovery, kernel & system]
    2. Extract wheelie, nvFlash and the unblob'd ROM to a directory (avoid spaces in the directory path)
    3. Start your device in APX mode [Power On + Volume Up]. Your tablet screen will remain blank in APX mode.
    4. Bootstrap your device (enter nvFlash mode) while your device is in APX mode using wheelie
    wheelie.exe --blob blob.bin
    sudo ./wheelie --blob blob.bin
    5. After wheelie does it's job, your device will be ready in nvFlash mode. You can now begin the process.
    6. We start with the bootloader. In the case of the un-blob'd ROMs below, this is the blob.EBT file. To flash the bootloader, use this command:
    nvflash.exe -r --download 4 blob.EBT
    sudo ./nvflash -r --download 4 blob.EBT
    7. Next we move to the recovery image. In the case of the un-blob'd ROMs below, this is the blob.SOS file. To flash the recovery image, use this command:
    nvflash.exe -r --download 5 blob.SOS
    sudo ./nvflash -r --download 5 blob.SOS
    8. Next we move to the boot image. In the case of the un-blob'd ROMs below, this is the blob.LNX file. To flash the boot image, use this command:
    nvflash.exe -r --download 6 blob.LNX
    sudo ./nvflash -r --download 6 blob.LNX
    9. Next we move to the system image. In the case of the un-blob'd ROMs below, this is the blob.APP file. To flash the system image, use this command:
    nvflash.exe -r --download 10 blob.APP
    sudo ./nvflash -r --download 10 blob.APP
    10. Finally, we reboot the device. After you run the following command, you will see the text "AndroidRoot" and your device should reboot in a few seconds. If you device does not reboot after you see the text, force a reboot (long press the Power button)
    nvflash.exe -r --go
    sudo ./nvflash -r --go

    This process completely wipes all partitions (except external SD/mSD cards) and reflashes everything, essentially returning your device to a near factory state. You will not lose you unlock status or nvFlash access. You will lose all data from your internal storage (/storage/sdcard0 or /data/media).
    Unfortunately, due to technical reason, this process is possible only using Linux, since the nvflash executable for Windows is very old and cannot handle this process. I will be creating a detailed step-by-step guide for those not comfortable with Linux. But for now, this is available for all those who know how to use Linux.
    To use this, you need to download one of the unblob'd stock ROMs below (or create your own) along with the semi-automated complete recovery zip below.
    You will also need the device specific nvFlash backup generated when you enabled nvFlash.
    Complete instruction are in the "README" file in the semi-automated complete recovery zip.

    DISCLAIMER: nvFlash can save your device, but if used incorrectly, it could permanently brick your device. If you follow the instructions carefully, you should not have any problems. However, in the event that you do have a problem, neither I (craigacgomez), nor the AndroidRoot team can be held responsible. Use this guide at your own discretion. If you need help or do not understand something, PM me and I will try to help you as much as I can.


    - Un-blob'd stock ICS ROM
    - Completely unmodified

    - Un-blob'd stock JB ROM
    - Completely unmodified


    AndroidRoot - Everything you see here has been made possible because of the AndroidRoot team.

    Donate to AndroidRoot - They are the amazing people behind nvFlash for the Prime
    Donate to me (craigacgomez)
    What is APX mode?
    APX mode is basically a programming mode or download mode for nVidia based devices. On a development device or an unrestricted device, when you get into APX mode, you can program your device using nvflash commands. Most production devices lock down APX mode and disable nvflash access. This is where wheelie comes into the picture for our devices. If you cannot access APX mode, you have probably permanently bricked your device.

    What is wheelie?
    Wheelie is an nvflash pre-loader that boots the tablet into an nvflash ready mode that lets you use regular nvflash commands (with -r prepended!). Wheelie was created by the amazing folks at AndroidRoot. Wheelie uses the "device specific" blob.bin file to bootstrap the device in APX mode and allow nvflash access. The blob.bin file has information like the Chip UID which is different for each devices and cannot be used interchangeably. If you get you device repaired or RMA'd and the motherboard is replaced, you would need to regenerate the blob.bin file.

    What is nvflash?
    nvflash is a low-level flash utility for nVidia based devices which gives you low level access to the system to flash, format, recover, repartition and do many more functions. It is a very powerful tool and should be used with caution. Read and follow all instruction carefully when using nvflash.

    What is "-r" in the nvflash command?
    The whole purpose of -r or --resume is to tell nvflash that the device is already running the nv3pserver (nvflash recovery mode), without -r or --resume it will try to do the preflight that wheelie does for us.

    What is "--download X" in the nvflash command?
    This parameter in the nvflash command is used to download/flash the specified file to partition X in the device. So the command "nvflash -r --download 4 blob.EBT" with download/flash the file blob.EBT to partition 4. These partitions are defined in the device partition table. The flash.cfg file in your nvflash backup is the partition table description if you want to know more details.

    What is "--go" in the nvflash command?
    This parameter in the nvflash command is used to boot bootloader after nvflash completes instead of looping in nv3pserver in resume mode. Basically it should exit resume mode and reboot your device.

    What is BlobTools?
    Once again, this is the genius brainchild and result of the amazing folks at AndroidRoot. The Asus Transformer series uses "blobs" to flash stuff. A blob can have multiple partitions (system, boot, recovery, bootloader). Blobs are moved to the staging partition (/dev/block/mmcblk0p4) and are automatically flashed upon reboot. The blob header defines where the different files in a blob get flashed to (boot gets flash to the boot partition, system to the system partition, etc.). BlobTools in a utility to create and extract these staging blobs. All blobs need to be extracted before being using with nvflash.

    I have already upgraded to Jelly Bean. Can I still use nvFlash?
    At the moment, nvFlash can only be enabled if the device is using the ICS bootloader. If you have not yet enabled nvFlash and you have upgraded to the stock Jelly Bean ROM, you will have the bootloader and you will no longer be able to enable nvFlash.
    If you have already enabled nvFlash before upgrading to the stock Jelly Bean ROM, you will continue to have nvFlash access even though your bootloader was upgraded.
    Thanks for info. I used this procedure few weeks ago. Got the bootloader back but stuck in APX mode. Couldn't boot. I needed to flash other files back. Then repartitioned and format all partitions fresh.

    There's actually an automated process for it. Does every partition and sector back from backup files. It reverts device completely back to previous state. Its posted by kmdm. Only works in Linux though. Link below.



    Yes, I have made automated scripts for both these un-blob'd ROMs for Windows & Linux... I just need to test them before releasing them (most probably tonight PDT)... the manual steps will work till then...
    Hi! (I know that this is an old post, but as newbies gonna search for these answers, I will provide them.)

    In the mean time, I have a few questions now that I'm at this point, and I'm not sure if this is the appropriate thread or not, but here goes:

    1) Now that I'm at this point, is it safe to update to ota jb without losing nvflash access to recover my tablet? or will it overwrite the bootloader making it possible to brick again?

    • NVFlash is a part of the nVidia Tegra SoC (System on Chip) and it is not stored in the flash part of your device.
    • It is (as someone explained) a substantial part of the hardware. It cannot be removed, disabled, changed or modified in any known way (well, you could try to solder the chip and do stuff...).
    • Every(?) Tegra device has a unique encryption key which is part of that code and therefor cannot be altered, too.
    There is (again, as I have been explained) nothing you can do with adb, fastboot and APX/wheelie/nvflash that will alter that features. It is unbrickable, as long as there is no hardware error/defect (e.g. USB port malfunction).

    Therefor, flashing any recovery/bootloader/ROM will not remove nvflash abilities.

    But beware: nvflash has to be used the first time to create the backup files before you go to any ASUS Stock ROM with Android 4.1/4.2 (as my device is a TF300T/TF300TG I cannot advice you on the right version numbers as they differ from model to model). You must keep the files safe. They are unique to each device because of the above mentioned encryption key. You cannot "borrow" the blob.bin files etc from any other device as they are device specific encrypted.

    (Often the terminus used is "to install nvflash" which is technically quite wrong as you do not permanently install anything to your device. What you do is to download/copy the encrypted bootloader and other partitions. Therefor: keep the files safe.)

    Why only working below 4.1? Because after you upgraded to JellyBean you will not be able to install a custom bootloader. But this is needed to create the nvflash backup files. Asus made us a real PITA! After being on any JellyBean bootloader only Asus can install bootloaders. Because only they have the encryption key "to be let in". Or you can use nvflash, because the backed up files are already encrypted for your device.

    2) TWRP will not backup my tablet, it keeps giving me an error every time I try, so I installed AndroidRoot's patched CWM according to their instructions. Will I be able to reinstall that if I do update to ota jb?

    Again, my device TF300TG/TF300T is very similar in nvflash matters, but the prinicples are the same.

    CWM and TWRP are custom recoveries. From the moment you "unlock your bootloader" with ASUS' unlock tool you are entitled to install any recovery compatible with your hardware. The recovery has to be specific to the bootloader (on TF300T(G)), so after installing 4.1 or 4.2 you need a different TWRP or CWM (read their homepage and/or device specific threads!).

    Even if Asus removed the possibility to flash a custom recovery e.g. with the next JB update, you would be able to go back to the nvflash backup which enabled the old bootloader (e.g. 4.0) and let you install the desired recovery/custom ROMs/Stock ROMs.

    Again, Asus cannot steal that nvflash option from you. You can always revert. (Again, I did not invent/research all of this by myself, I only spent days(!) reading the forum on these topics.)

    3) Can I install CM10 safely and be able to revert back to stock if I don't care for it, or if it's not stable enough for my everyday use?


    (But just be aware that you should make nandroid/Titanium Backup/app data backups as changing the ROM requires often to do a full wipe.)

    If there are (substantial?) errors in this text, please PM or reply so that I can fix this. I really want to help, especially the new people. It is a pain if there are errors, especially when they are not corrected or only corrected 500+ posts later. ;)
    Here you go.



    - MD5 - a74e05be2d3aba2af5c970e30d3a3720
    - Un-blob'd stock ICS 4.0.3 ( ROM
    - Completely unmodified


    - MD5 - 47603552984c10b7e7180fb6cb23901e
    - Un-blob'd stock JB 4.1 ( ROM
    - Completely unmodified