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

Search This thread

craigacgomez

Senior Member
Jan 29, 2010
2,215
3,924
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,215
3,924
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
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!
 

Danny-B-

Senior Member
May 6, 2005
684
129
Scotland
Cheers craigacgomez, I've left thanks and also reported this thread :) ... reported it for being far too usefull to be left to dissapear :p
 

sammytheman

Member
Sep 14, 2011
18
6
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
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://xdaforums.com/showpost.php?p=32365961&postcount=489

Wejgomi
 
  • Like
Reactions: Bait-Fish

craigacgomez

Senior Member
Jan 29, 2010
2,215
3,924
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://xdaforums.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
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,215
3,924
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:

ricardo1976

Senior Member
Nov 20, 2007
51
0
jelly bean users, what to expect

is there any chance fot the ones who upgraded to official jelly bean to use this process
 

Fireplug

Senior Member
Aug 4, 2010
209
86
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,215
3,924
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
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
15
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!
 

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.

    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)
    16
    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.
    5
    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://xdaforums.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...
    3
    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?

    Yes.

    (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. ;)
    3
    Here you go.

    DOWNLOADS:

    UN-BLOB'D STOCK ICS 4.0.3 (9.4.2.28) ROM

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

    UN-BLOB'D STOCK JB 4.1 (10.4.2.18) ROM

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