[ROOT] Amazon Fire TV 2 (Updated)

Search This thread

zeroepoch

Senior Member
Dec 30, 2010
313
215
San Jose, CA
www.zeroepoch.com
NOTE: This rooting method has been superseded by @rbox with his recovery and pre-rooted images. I will not be updating this method for 5.0.5. Please see the following links to use the safer recovery rooting and updating method:


This is an updated thread for rooting the Amazon Fire TV 2. A simpler preloader rooting procedure was developed and has been tested by a number of users, but the guides were not updated until now. We have decided to publish the guides on the wiki section of the repo website since it allows other primary contributors to edit the guides as well so we can share the work (currently just @ImCoKeMaN). For those interested in jumping straight to it follow the link below:

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

I have also uploaded the associated zip files to this thread as sort of a mirror. The above guide provides support for Windows, Mac OS X, and Linux. As of right now the procedure supports 5.0.3.1 and 5.0.4, but a unique zip file is required for each version. It does check the version when starting the root procedure so you'll have a chance to grab the correct one just in case. The original scripts are all located and will continue to be maintained in the git repo located here:

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

This new thread will serve as a place to ask questions and discuss the newer rooting procedure while the old thread will be more historical or for advanced users who are trying some new things using the preloader interface.
 

Attachments

  • root-aftv2-5.0.3.1.zip
    6.6 MB · Views: 8,467
  • root-aftv2-5.0.4.zip
    6.5 MB · Views: 9,722
Last edited:

SupaJ

Senior Member
Sep 3, 2013
65
8
What do you mean by "Power cycle the Fire TV"? Do I simply pull the power and replug it? Thanks.
 

rester555

Senior Member
Oct 27, 2010
483
184
Google Pixel 6 Pro
Where can I check to find out which mediatek vcom driver I should get? You say based on your model. Where do i check that?

I see my model but where do I cross reference my model to a particular mediatek driver?

NVM: I see that it's one link... my bad. Thought it was multiple links
 
Last edited:

rester555

Senior Member
Oct 27, 2010
483
184
Google Pixel 6 Pro
I tried the ubuntu way and it is stuck on waiting for preloader... I am using a USB transfer cable, ubuntu 15.10, vmware 12 pro, and I have no luck getting past running the initial python script.
 

FatKris

Senior Member
Jan 29, 2013
165
14
I still can't get past "Waiting for preloader" this seems pretty straight forward, what am i missing? Thanks for any help.

---------- Post added at 06:35 AM ---------- Previous post was at 06:06 AM ----------

Have you found a fix for your issue?

---------- Post added at 06:36 AM ---------- Previous post was at 06:35 AM ----------

I tried the ubuntu way and it is stuck on waiting for preloader... I am using a USB transfer cable, ubuntu 15.10, vmware 12 pro, and I have no luck getting past running the initial python script.

Have you found a fix for your issue yet?
 

rester555

Senior Member
Oct 27, 2010
483
184
Google Pixel 6 Pro
I still can't get past "Waiting for preloader" this seems pretty straight forward, what am i missing? Thanks for any help.

---------- Post added at 06:35 AM ---------- Previous post was at 06:06 AM ----------

Have you found a fix for your issue?

---------- Post added at 06:36 AM ---------- Previous post was at 06:35 AM ----------



Have you found a fix for your issue yet?

It seems for me that the computer is not recognizing the fire TV correctly over the USB cable. I am wondering if USB A to A is different from a USB transfer cable. It sees my device as a combo drive.
 

SupaJ

Senior Member
Sep 3, 2013
65
8
OOPS! My Fire TV 2 is rebooting randomly after root. I have had 3 reboots in the space of half-hour. Please, wow do I fix this? Thanks.
 
Last edited:

ImCoKeMaN

Senior Member
Jan 8, 2007
213
54
It seems for me that the computer is not recognizing the fire TV correctly over the USB cable. I am wondering if USB A to A is different from a USB transfer cable. It sees my device as a combo drive.
Yes there is a difference you need just an a to a cable with no box or chips in it that is your issue.

---------- Post added at 08:16 AM ---------- Previous post was at 08:12 AM ----------

Where can I check to find out which mediatek vcom driver I should get? You say based on your model. Where do i check that?

I see my model but where do I cross reference my model to a particular mediatek driver?

NVM: I see that it's one link... my bad. Thought it was multiple links
You can use the driver from the driver folder in the zip. The other link was just for the install instructions. They are both going to work but the dl process was somewhat shady from that instruction site link so @zeroepoch included it in the zip.
 

jbombs16

Senior Member
Dec 13, 2009
322
28
I still can't get past "Waiting for preloader" this seems pretty straight forward, what am i missing? Thanks for any help.

---------- Post added at 06:35 AM ---------- Previous post was at 06:06 AM ----------

Have you found a fix for your issue?

---------- Post added at 06:36 AM ---------- Previous post was at 06:35 AM ----------



Have you found a fix for your issue yet?
Try disabling your Antivirus. Mine was preventing the script from getting past that step.
 

Skater4599

Senior Member
Sep 4, 2010
221
25
Thanks for this! Got my AFTV2 rooted using these updated tools, its very automated now! Great work guys.
I originally rooted 5.0.3.1 using ubuntu VM in the video guide, I updated to 5.0.4 and re-rooted with the updated tools in the same VM and it worked a treat, very simple. Literally one cmd in the bash shell.
 
  • Like
Reactions: zeroepoch

DigitalBobby

New member
Dec 24, 2015
3
0
I am using linux mint, i updated to 5.0.4 OTA, i tried the directions given, but getting an error: serial protocol mismatched.
Waiting for preloader...
Found port = /dev/ttyACM0
Handshake complete!
Extracting build.prop...
ERROR: Serial protocol mismatch
 

rester555

Senior Member
Oct 27, 2010
483
184
Google Pixel 6 Pro
@zeroepoch my guess is the IO controller or the MediaTek device itself has extremely slow transfer speed. Hence why it takes 2 hours to write the addresses?

Edit: I finally got the right cable and I am in the process of writing the addresses from the image files. One of the addresses that is being written to it is hanging for a long time... Could it be that the transfer got interrupted... The prompt blinks at one address now for about 10 minutes?

So I read the readme and I think I have to rerun the batch file when it gets stuck.

EDIT 2: killed the process and it's running fine again after restarting.

And FINISHED! Thanks Zeroepoch and IMCOKEMAN!!
 
Last edited:

zeroepoch

Senior Member
Dec 30, 2010
313
215
San Jose, CA
www.zeroepoch.com
I am using linux mint, i updated to 5.0.4 OTA, i tried the directions given, but getting an error: serial protocol mismatched.
Waiting for preloader...
Found port = /dev/ttyACM0
Handshake complete!
Extracting build.prop...
ERROR: Serial protocol mismatch

That sounds like a flaky USB connection. It does a check in places where it echos back the data and its saying it mismatched.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 18
    NOTE: This rooting method has been superseded by @rbox with his recovery and pre-rooted images. I will not be updating this method for 5.0.5. Please see the following links to use the safer recovery rooting and updating method:


    This is an updated thread for rooting the Amazon Fire TV 2. A simpler preloader rooting procedure was developed and has been tested by a number of users, but the guides were not updated until now. We have decided to publish the guides on the wiki section of the repo website since it allows other primary contributors to edit the guides as well so we can share the work (currently just @ImCoKeMaN). For those interested in jumping straight to it follow the link below:

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

    I have also uploaded the associated zip files to this thread as sort of a mirror. The above guide provides support for Windows, Mac OS X, and Linux. As of right now the procedure supports 5.0.3.1 and 5.0.4, but a unique zip file is required for each version. It does check the version when starting the root procedure so you'll have a chance to grab the correct one just in case. The original scripts are all located and will continue to be maintained in the git repo located here:

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

    This new thread will serve as a place to ask questions and discuss the newer rooting procedure while the old thread will be more historical or for advanced users who are trying some new things using the preloader interface.
    3
    To clarify what @zeroepoch is saying you have to "cd root-aftv2-5.0.4" to enter the folder and execute ./root_aftv2.py (to run from current directory)
    If you are in a different working folder the version.txt file will not be in the same path
    2
    Once I've rooted, will the root access persist through subsequent automatic system updates?

    No. Applying OTAs after rooting is extremely dangerous. I'm working on recovery and prerooted update packages to allow safe updates.
    2
    Worked fine for me using Windows 8.1 64 bit, Fire OS - 5.0.3.1.
    Fire TV 2 is now rooted. Thanks Zeroepoch
    2
    This is what I did to build ADB on the Pi 2 which someone might find useful if they are carrying out the root procedure on one, please feel free to add it to the Wiki if you think it's relevant.



    Makefile:
    Code:
    SRCS+= adb.c
    SRCS+= adb_client.c
    SRCS+= commandline.c
    SRCS+= console.c
    SRCS+= file_sync_client.c
    SRCS+= fdevent.c
    SRCS+= get_my_path_linux.c
    SRCS+= services.c
    SRCS+= sockets.c
    SRCS+= transport.c
    SRCS+= transport_local.c
    SRCS+= transport_usb.c
    SRCS+= usb_linux.c
    SRCS+= usb_vendors.c
    SRCS+= adb_auth_host.c
    
    VPATH+= ../libcutils
    SRCS+= socket_inaddr_any_server.c
    SRCS+= socket_local_client.c
    SRCS+= socket_local_server.c
    SRCS+= socket_loopback_client.c
    SRCS+= socket_loopback_server.c
    SRCS+= socket_network_client.c
    SRCS+= load_file.c
    
    VPATH+= ../libzipfile
    SRCS+= centraldir.c
    SRCS+= zipfile.c
    
    VPATH+= ../../../external/zlib/src
    SRCS+= adler32.c
    SRCS+= compress.c
    SRCS+= crc32.c
    SRCS+= deflate.c
    SRCS+= infback.c
    SRCS+= inffast.c
    SRCS+= inflate.c
    SRCS+= inftrees.c
    SRCS+= trees.c
    SRCS+= uncompr.c
    SRCS+= zutil.c
    
    CPPFLAGS+= -DADB_HOST=1
    CPPFLAGS+= -DHAVE_FORKEXEC=1
    CPPFLAGS+= -DHAVE_SYMLINKS
    CPPFLAGS+= -DHAVE_TERMIO_H
    CPPFLAGS+= -DHAVE_OFF64_T
    CPPFLAGS+= -D_GNU_SOURCE
    CPPFLAGS+= -D_XOPEN_SOURCE
    CPPFLAGS+= -DWORKAROUND_BUG6558362
    CPPFLAGS+= -I.
    CPPFLAGS+= -I../include
    CPPFLAGS+= -I../../../external/zlib
    
    CFLAGS+= -O2 -g -Wall -Wno-unused-parameter
    #LDFLAGS= -static
    LIBS= -lrt -lpthread -lcrypto -lssl
    
    TOOLCHAIN=
    CC= $(TOOLCHAIN)gcc
    LD= $(TOOLCHAIN)gcc
    
    OBJS= $(SRCS:.c=.o)
    
    all: adb
    
    adb: $(OBJS)
    	$(LD) -o [email protected] $(LDFLAGS) $(OBJS) $(LIBS)
    
    clean:
    	rm -rf $(OBJS)

    Got the info from the two links below and tweaked it a little...
    http://forum.xda-developers.com/showpost.php?p=55619695&postcount=70
    http://torifuku.blogspot.co.uk/2015/08/raspberry-piandroidadbandroid-debug.html

    I put the guide up on the wiki here, https://gitlab.com/zeroepoch/aftv2-tools/wikis/adbrpi2. Also linked from the home page.