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

craigacgomez

Senior Member
Jan 29, 2010
2,105
3,797
0
Tustin
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.

REQUIREMENTS:
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

THIS GUIDE COVERS:
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.

IMPORTANT INFORMATION:
At the moment, nvFlash can only be enabled on a device with the 9.4.2.28 ICS bootloader. If you have upgraded to the official Jelly Bean ROM before enabling nvFlash, you would have the new 10.4.2.15 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)

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

SETUP:
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 ]

FOR LINUX USERS:
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.

INSTRUCTIONS [MANUAL STEPS]:
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
Windows:
Code:
wheelie.exe --blob blob.bin
Linux:
Code:
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:
Windows:
Code:
nvflash.exe -r --download 4 blob.EBT
Linux:
Code:
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:
Windows:
Code:
nvflash.exe -r --download 5 blob.SOS
Linux:
Code:
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:
Windows:
Code:
nvflash.exe -r --download 6 blob.LNX
Linux:
Code:
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:
Windows:
Code:
nvflash.exe -r --download 10 blob.APP
Linux:
Code:
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 9.4.2.28" 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)
Windows:
Code:
nvflash.exe -r --go
Linux:
Code:
sudo ./nvflash -r --go
SEMI-AUTOMATED COMPLETE RECOVERY - LINUX ONLY:
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.

DOWNLOADS:

UN-BLOB'D STOCK ICS 9.4.2.28 ROM
- Un-blob'd stock ICS 9.4.2.28 ROM
- Completely unmodified

UN-BLOB'D STOCK JB 10.4.2.15 ROM
- Un-blob'd stock JB 10.4.2.15 ROM
- Completely unmodified

SEMI-AUTOMATED COMPLETE RECOVERY - LINUX ONLY [Read Info Above Before Using This!!]

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

SUPPORT THE PROJECT
Donate to AndroidRoot - They are the amazing people behind nvFlash for the Prime
Donate to me (craigacgomez)
 
Last edited:

craigacgomez

Senior Member
Jan 29, 2010
2,105
3,797
0
Tustin
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 9.4.2.28 ICS bootloader. If you have not yet enabled nvFlash and you have upgraded to the stock Jelly Bean ROM, you will have the 10.4.2.15 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.
 
Last edited:

thenrz

Senior Member
Dec 9, 2010
162
61
0
Thank you for this. I will be unlocking after my rma for lcd mura, and i know i will be back to visit when i get there!
 

sammytheman

Member
Sep 14, 2011
18
6
0
Thanks.:good:
I was already searching XDA for the NvFlash commands but AndroidRoot wouldn't give info about it.
I don't need it right now but you never known.

Make it a sticky.
 
  • Like
Reactions: flumpster

wejgomi

Senior Member
Dec 22, 2011
141
89
0
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.

http://forum.xda-developers.com/showpost.php?p=32365961&postcount=489

Wejgomi
 
  • Like
Reactions: Bait-Fish

craigacgomez

Senior Member
Jan 29, 2010
2,105
3,797
0
Tustin
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.

http://forum.xda-developers.com/showpost.php?p=32365961&postcount=489

Wejgomi
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...
 
Last edited:

lilstevie

Senior Recognized Developer
Apr 17, 2009
1,339
1,040
0
What is "--r" in the nvflash command?
This loops the 3pserver in resume mode. Basically this means that the device remains in the state that allows you to flash or read partitions to or from the device.
Actually this is not quite correct, --sync puts the nv3pserver into the state for resume (although technically it can be left floating but has mixed results) the whole purpose of -r or --resume is to tell nvflash that the device is already running the nv3pserver, without -r or --resume it will try to do the preflight that wheelie does for us.
 
  • Like
Reactions: craigacgomez

craigacgomez

Senior Member
Jan 29, 2010
2,105
3,797
0
Tustin
Actually this is not quite correct, --sync puts the nv3pserver into the state for resume (although technically it can be left floating but has mixed results) the whole purpose of -r or --resume is to tell nvflash that the device is already running the nv3pserver, without -r or --resume it will try to do the preflight that wheelie does for us.
I stand corrected... I will update my info post... thanks for the info...
 
Last edited:

Fireplug

Senior Member
Aug 4, 2010
209
86
0
is there any chance fot the ones who upgraded to official jelly bean to use this process
I am assuming you mean those who never unlocked who took the ota update to JB. At this time, no, because you can no longer use the special set of tools that were developed by the Androidroot team to exploit the original ICS and obtain the blob.bin file which is the "key" to being able to access your specific Prime at a very basic level.
 

craigacgomez

Senior Member
Jan 29, 2010
2,105
3,797
0
Tustin
I've added the semi-automated complete recovery zip and information. Download and info in the OP.

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 (or create your own) along with the semi-automated complete recovery zip.

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.
 
Last edited:
  • Like
Reactions: Danny-B-

d1ez3

Senior Member
Mar 27, 2011
1,153
154
0
Orlando, Florida
Thank you so much, I thought I was completely bricked but you saved my tablet.

Now that I am on the stock JB rom that you posted but am unlocked, how can I install TWRP without root access? Can I still boot into fastboot to install a custom recovery?
 
Last edited:

nicnec

Member
Sep 13, 2007
13
0
0
Hello! TF201 hold a brick(after a reset has not started, nor enter the bootloader menu lock ASUS remini) and I want to bring back to life after this method Dr. not know where to get these files:
-factori-config.img
-unlock-token.img
-create.bct
-blob.bin
thanks!