[Fire TV General] Invincibear:
Having never rooted a device, or owned anything from this product family, achieving a successful root proved possible but laborious. There were a few basic but crucial settings omitted from some guides, while others explained in vernacular assuming basic knowledge of how to use/perform actions in foreign software without specific instructions. There is sufficient information scattered on multiple websites online to assist you every step of the way at the cost of extra wasted hours.

I am here to help.

Here is my guide to root your “AFTV2” (Amazon Fire TV 2).

Prerequisites

AFTV2 (stock firmware 5.0.3.1 or 5.0.4). This guide is intended for stock AFTV2 units. Reported success performing ROOT on non-stock units is limited.

USB Male-A to Male-A cable. A USB data transfer cable is different and will not work. A USB data transfer cable usually has encased electronics (a box/cylinder with a chip inside) at some point between the two end terminals, this will not work with the AFTV2. Here’s a list of known-to-work cables to compare with: https://gitlab.com/zeroepoch/aftv2-tools/wikis/usb

A/C power adapter (notebooks) There’s a small chance of your computer going to sleep and interrupting the (hours long) rooting process. Save yourself the worry of wondering if your unit is bricked when it goes to sleep while rewriting the chips on your brand new AFTV2. Also check your power plan (hit the Windows key on your keyboard, start typing “power options” and hit enter) to ensure sleep is disabled in your selected power plan (click change plan settings to the right of the selected plan).

Windows 7+ (8, 8.1, 10). I have only attempted the steps on Win7 but will periodically edit this guide to incorporate tailored instructions for remaining versions.

Admin Windows Account. You will need a windows account with permission to install drivers and programs.

2-3 hours. Writing is currently slow due to as-of-yet undisableable excess debug information by the AFTV2 holding up communications on the serial port resulting in slow transfer speeds.

Patience. Chances are high that the writing to the AFTV2 process will halt for no apparent reason. Some people experienced many halts due to communication dropouts, some people experience few, and some experienced none. I encountered two halts during my rooting attempt.

Belief in success. There could some moments where you think “is this going to brick it?” Relax, a lot of work goes into making sure exceptions don’t brick devices. More often than not there is a reason for the exception, and it can be resolved.

Special Thanks

This guide would not be possible for the greatly appreciated work donated to the public by the following resources (and related pages not explicitly listed):

http://xdaforums.com/fire-tv/general/root-amazon-fire-tv-2-updated-t3277556

https://gitlab.com/zeroepoch/aftv2-tools/wikis/home

http://www.jocala.com/adbfire.html

http://www.htpcbeginner.com/find-amazon-fire-tv-ip-address/

http://xdaforums.com/fire-tv/general/root-amazon-fire-tv-gen-2-4k-t3245407

Let's begin!

Preparing your AFTV2 for rooting

Power on your AFTV2 with the HDMI connected to a monitor/TV. Make sure it completely wakes up by verifying illumination of the power LED.

Avoid my issue! I selected the sleep function from the system settings, then unplugged power and moved the AFTV2 to another room with no monitor, and plugged in power. I assumed the unit booted up and woke from a sleep state. I then spent 20-30 minutes troubleshooting why I couldn't communicate with the device not realizing the device was never truly on. Embarrassing? Very.

Navigate, using the left menu from the main screen of your AFTV2, to Settings->System->Developer Options. Enable ADB debugging and USB debugging. Since you’re here rooting your device, I assume you’ll be doing it with the intent of additional tinkering, so you may as well just enable Apps from Unknown Sources now :p

Preparing your Windows computer for rooting

Windows needs to understand how to communicate with the AFTV2. We achieve this by installing drivers. Aftv2-tools, the main workhorse behind the root itself comes with the required serial-over-usb drivers packaged in the .zip file, and adbFire contains/requires Amazon-specific drivers.

Download and install the Amazon Kindle ADB driver from here: https://s3.amazonaws.com/android-sdk-manager/redist/kindle_fire_usb_driver.zip

Download and install adbFire for Windows, which we will use to connect to the AFTV2 after rooting to disable automatic updates and can subsequently easily and popularly be used to sideload apps (install and run apps designed for Android but not necessarily AFTVs) which I’ll assume you’ll be doing once rooted. Once installed you can close/forget adbFire for a couple of hours while we root the AFTV2 using Aftv2-tools, we don’t need adbFire until then.

Verify your AFTV2 firmware version by Navigating to Settings->System->About->Amazon Fire TV to see the Software Version (Fire OS 5.0.xxx) on the right.

Download the appropriate root for your firmware version from here: https://gitlab.com/zeroepoch/aftv2-tools/wikis/windows

Unzip the downloaded root (root-aftv2-5.0.3.1.zip or root-aftv2-5.0.4.zip). You must extract the contents for the root to properly function, do not run as temporary files.

Navigate inside the extracted file and observe the drivers folder. Shift + right click on the drivers folder, click Copy as path. Paste this path somewhere like in notepad (Windows key + R, type notepad, hit enter) so you can find this folder again in future steps.

We now need to install the drivers in that folder.

Verify your Windows version by opening System (Windows key + Pause key [might also need fn if using a notebook], or Start->Control Panel->System and Security->System) and looking for either a 32-bit or 64-bit Operating System listed as the system type.

Open device manager (left side of System window), right click on your computer name (very first/top-level entry of the big list)->Add legacy hardware.

Please visit the following page for visual examples of the process. Note: you do not need to download the drivers listed on the following page. The drivers needed are already included with Aftv2-tools in the drivers folder. Examples: https://thebroodle.com/microsoft/wi...tk65xx-preloader-usb-vcom-drivers-in-windows/

Click Next, select Install the hardware that I manually select from a list (Advanced), click next, select Show All Devices, click Next, click Have a Disk, paste the drivers path into the path, click Browse, navigate to the drivers folder (you can paste the copied path into the file name textbox, hit open, and it’ll navigate you to the drivers folder), select usb2ser_win7xx where xx is either 32 or 64, depending on you having 32-bit or 64-bit Windows installed, click next, select MediaTek DA USB VCOM Port, click Next, click Next. It might install with a failure to initialize, don’t worry about this.

Repeat the last sequence of steps for each one of the available drivers that you were displayed. I installed MediaTek DA USB VCOM Port, MediaTek PreLoader USB VCOM Port, MTK USB Debug Port, MTK USB Modem Port, and MTK USB Port. Yes, it is tedious, install all five. Side note: if you have troubles communicating with your AFTV2 you might need to repeat driver installation instead from the file mdmcpq.inf, installing all five drivers.

Power cycle your AFTV2 by unplugging the power cable, wait 3 seconds, and plug back in the power cable. Windows should detect your AFTV2 now and it should appear in My Computer (Windows key + E).

You might need to reboot your system for all of the drivers to successfully install.

Writing the ROOT

I've preached for many years a simple adage; “It’s all in the prep work.”

It took some effort to reach this point, now for the main task! At this point Windows should be capable of communicating with your AFTV2 and you are now ready to attempt writing the modified system files to your AFTV2.

Navigate to the extracted Afvt2-tools folder (the one containing the drivers folder) and execute (double-click) root_aftv2.bat. root_aftv2.bat will open a command prompt and tell you to power cycle your AFTV2.

Pull the power, plug it back in and within ~30s the preloader should work it’s magic and allow the ROOT to begin.

This is a stage people frequently get stuck at; the batch file forever waiting for preloader…

If you’re stuck here, verify you've installed all ten Aftv2-tools drivers, have installed the Amazon Kindle drivers, have verified your AFTV2 is powered on (illuminated LED) and isn't asleep (off or slow pulsing LED), have verified USB and ADB debug options in developer settings are enabled from your AFTV2, have verified you aren't using a USB data transfer cable, and verified that the AFTV2 is detected by windows and listed in My Computer. It might take a couple of power cycles of the AFTV2 for the Preloader process to kick in, keep trying.

The ROOT script runs itself.

What you DO need to watch out for is halts. If you see the same location being written (screen stops scrolling, most recent file doesn't change) for more than 30 seconds then it’s stuck. Don’t worry, this is common and the script is designed to handle this.

Close the command prompt window and open a new instance of root_aftv2.bat. It’ll again say Waiting for preloader…

Power cycle your AFTV2 and the script will verify written locations and resume from the last completed location.

This may happen several more times until ROOT is achieved, keep relaunching the script and power cycling your AFTV2 as needed. One report claimed up to 50 reboots were needed, though this is uncommon, the AFTV2 was still successfully rooted.

You'll be asked to power cycle the AFTV2 once the rooting process completes. Power cycle the AFTV2 and let it perform it’s initialization, this could take ~10 minutes.

Congratulations, you've now successfully rooted your AFTV2!

Now we need to disable the automatic firmware updates to prevent a potential conflict causing unintentional consequences potentially leading to a bricked unit.

Disable automatic updates using adbFire

Now that we’re done with Aftv2-tools, let’s go back to the adbFire folder and Open adbFire.exe.

The first thing you need to do is add a device that you can instruct adbFire to connect to. Click the New button near the top of the window. Enter any name in the description (example: Bedroom AFTV2), the IP address of the AFTV2 (on the AFTV2 go to Settings->System->About->Network, assuming you've already connected the AFTV2 to a wired or wireless network) in the address field, uncheck FireTV updates on, and click Save.

Now click Connect (to the right of New). Your AFTV2 should be listed in the Connected devices list and the Status right of it should read device. If it reads offline, there is an issue you’ll need to troubleshoot.

Click the ADB Shell button (top right of buttons grid in middle of window) and input the following two commands as instructed here: https://gitlab.com/zeroepoch/aftv2-tools/wikis/blockota

su

Check your monitor, you will have to approve a SuperSU permission request.

pm disable com.amazon.device.software.ota

You should receive a confirmation of the change in the console.

You're done!

You now have a rooted AFTV2 with OTA (Over-The-Air) updates disabled!!!

You can now do fun things like sideload an Android VPN client (OpenVPN, Private Internet Access, etc), install KODI/XBMC, install FireStarter, etc).

What to do if you get stuck

Your best spot for solutions would be in the original threads:

http://xdaforums.com/fire-tv/general/root-amazon-fire-tv-2-updated-t3277556

http://xdaforums.com/fire-tv/general/root-amazon-fire-tv-gen-2-4k-t3245407

Thanks to everybody involved for making this possible!