• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[UNLOCK][ROOT][TWRP][UNBRICK] Fire TV Stick 2nd gen (tank)

Search This thread

Sus_i

Senior Member
Apr 9, 2013
1,265
516
I have two questions:
  1. I have open the FTV, I will install twrp with the guide by connecting the Tank to my laptop, but how can I operate on twrp without a display? Because maybe I'm limited but I don't know how to send rom to twrp, adb command?
Yes, you can apply TWRP commands via adb shell, as soon TWRP is up.
Here in this thread for the 4k stick, you can see some commands and how it works

  1. Can you advice me a custom rom? I just want to root for lock the update and if its possible to read ntfs disk, my main concern is to have the most "fluid" navigation untill I can afford the new 4k max version.
thank you
Except stock fireOS there is only a Lineage 12.1 rom for tank:
 

RealPsygnosis

Senior Member
Oct 1, 2008
251
18
Taranto
OnePlus 7T
I have a really serious problem.
If i run ./boorom-step.sh everything is fine and it flash correctly everything.
BUT
when I run ./fastboot-step.sh simply nothing happens
with Arch linux and with a live mx linux.
with sudo and not.
I'm a bit desperate because if I plug the stick into the tv I have the amazon logo with a little message "hacked fastboot"
 

Sus_i

Senior Member
Apr 9, 2013
1,265
516
I have a really serious problem.
No, not really ;)
If i run ./boorom-step.sh everything is fine and it flash correctly everything.
BUT
when I run ./fastboot-step.sh simply nothing happens
with Arch linux and with a live mx linux.
with sudo and not.
I'm a bit desperate because if I plug the stick into the tv I have the amazon logo with a little message "hacked fastboot"
Thats fine. :)
Seems your system got some detection problems and if you update the fastboot package, I bet the fault is gone... For arch something like this work (make sure that there is a connection to the internet):
Code:
pacman -Sy
pacman -Sy fastboot
Then take a look with fastboot devices and if your device is there (in hacked fastboot mode), the sudo fastboot-step command should work fine. If not, you can run the commands also by hand (open up the fastboot-step script with an editor to see all commands in there).
 

lev1_

Member
Oct 11, 2021
7
1
Thanks guy, this is great, got lineage running on gen2 firestick.

I've read through much of this post, but think I'm having same issue a few have asked, but maybe not resolved. I've no OTG cable, so only linux laptop, I can get to TWRP via


Code:
adb reboot recovery

But cannot swipe to allow modifications, is there a command for that?
It isn't clear on here: TWRP cmd guide
I think without swipe, I'm still not fully rooted and so updates could prevent me getting back to TWRP?
Got an OTG cable, and can now understand why there's confusion from a couple of new posters like me when asking about the swipe.

I'd assumed the 'swipe to allow modification' was to TWRP to complete it's own installation. The 'Unmodified System Partition' screen kind of implies that TWRP can leave unmodified but will be unable to prevent ROM from replacing, then swipe for modifications gets interpreted as meaning that TWRP will the modify and therefore prevent ROM from replacing TWRP.

However it just opens the various TWRP option buttons, like install/wipe, which as the replies point out you can get to via command line anyway.
 

RealPsygnosis

Senior Member
Oct 1, 2008
251
18
Taranto
OnePlus 7T
No, not really ;)

Thats fine. :)
Seems your system got some detection problems and if you update the fastboot package, I bet the fault is gone... For arch something like this work (make sure that there is a connection to the internet):
Code:
pacman -Sy
pacman -Sy fastboot
Then take a look with fastboot devices and if your device is there (in hacked fastboot mode), the sudo fastboot-step command should work fine. If not, you can run the commands also by hand (open up the fastboot-step script with an editor to see all commands in there).
OMG TY M8...
I've update fastboot and installed also android-udev package from AUR, that contains fastboot.
Now the main problem is: after optimize it ask me to connect to internet, but if I do that it will surely update, how can I block update at startup?
and what version of magisk should I install? (im installing a preroot image)
 
  • Like
Reactions: Sus_i

Sus_i

Senior Member
Apr 9, 2013
1,265
516
how can I block update at startup?
and what version of magisk should I install? (im installing a preroot image)
You can install any stock rom + magisk or one of the prerooted rom...
then pm disable/enable updates on fireOS via adb shell:
Code:
su
pm disable com.amazon.device.software.ota
pm disable com.amazon.device.software.ota.override
pm disable com.amazon.tv.forcedotaupdater.v2
pm clear com.amazon.device.software.ota
exit

I guess my tank stick is still on magisk 19.3 or so... but you can just grab the latest:
FYI, the latest wants to install an update of magisk manager via internet, that is fine... but never update magisk via the magisk manager, this will brick the stick (needs to be flashed with TWRP).

If you want to test lineage OS 12.1, it's best if you take a TWRP backup of data, so you can get back to stock with flashing a rom and data back...
 
  • Like
Reactions: RealPsygnosis

RealPsygnosis

Senior Member
Oct 1, 2008
251
18
Taranto
OnePlus 7T
Code:
su
pm disable com.amazon.device.software.ota
pm disable com.amazon.device.software.ota.override
pm disable com.amazon.tv.forcedotaupdater.v2
pm clear com.amazon.device.software.ota
exit

Boot on TWRP and give
Code:
adb shell
su
# /sbin/sh: su: not found
pm disable com. amazon.device.software.ota
# /sbin/sh pm: not found

I've tried to mount System/bin but I have error on "cannot link executable dependancies"...
I don't want to bother you but search doesn't bring me anything


Solved by start FireOS and connect to adb via wifi and give the commands
Thank you
 
Last edited:
  • Like
Reactions: Sus_i

rottwal

New member
Nov 19, 2021
2
0
Hi all, I find myself with a firestick 4k MAX that, for some reason that I'm not here to describe has been blocked by amazon itself. We are talking about amazon services etc.

The stick turns on, gets to the login screen and once I enter the data to login and click on forward this gives an error of incorrect credentials although this is not true at all.

I know xda because of the modding of other devices and I immediately thought to ask here, is there any way to be able to restore the use of this stick even through alternative ROMs?

Thank you to anyone who takes the time to answer or give some more indication.
 

Sus_i

Senior Member
Apr 9, 2013
1,265
516
Hi all, I find myself with a firestick 4k MAX that, for some reason that I'm not here to describe has been blocked by amazon itself. We are talking about amazon services etc.

The stick turns on, gets to the login screen and once I enter the data to login and click on forward this gives an error of incorrect credentials although this is not true at all.
They block all fireTVs, if the device gets lost during shipping.
I know xda because of the modding of other devices and I immediately thought to ask here, is there any way to be able to restore the use of this stick even through alternative ROMs?
No. There isn't anything what you can do with a blocked 4k Max., ditch it into the trashcan.
 

sittingmule

New member
Dec 6, 2021
2
0
so if firestick is running 5.2.8.4 is it only good for what its got?
i've got a gen 2 but i keep getting this error.

Traceback (most recent call last):
File "main.py", line 158, in <module>
main()
File "main.py", line 76, in main
handshake(dev)
File "/home/chris/Downloads/amonet-tank-v1.2.2/amonet/modules/handshake.py", line 11, in handshake
dev.write32(0x10007000, 0x22000000)
File "/home/chris/Downloads/amonet-tank-v1.2.2/amonet/modules/common.py", line 160, in write32
self.check(self.dev.read(2), b'\x00\x01') # arg check
File "/home/chris/Downloads/amonet-tank-v1.2.2/amonet/modules/common.py", line 87, in check
raise RuntimeError("ERROR: Serial protocol mismatch")
RuntimeError: ERROR: Serial protocol mismatch

i've looked through forums and cant find a resolution.
thanks
 

remoter3406

Member
Mar 19, 2008
5
0
Hello,
i have a problem with OTG. After some test with LineageOS, I can't use OTG.
If OTG adapter (two different) is connected and only then (with or without a keyboard/mouse), while bootup FireTV stuck in a bootloop.
This happens with LineageOS and FireOS, sometimes after FireOS logo, sometimes later.
Have anyone an idea?

regards remoter3406
 

Sus_i

Senior Member
Apr 9, 2013
1,265
516
@Sus_i is there any issue flashing an original tank 5.2.6.0 out of the box, or should it be ota updated to the latest rom first?

Thanks mate
Last time I looked into an OTA there was no efuse burner, so it shouldn't matter for the tank stick. There are also no image-updates (like TZ) required. I would just flash the 5.2.6.0... factory reset only if you get some issues..(y)
 
  • Like
Reactions: brentonv

Top Liked Posts

  • There are no posts matching your filters.
  • 65
    Read this whole guide before starting.

    This is for the 2nd gen Fire TV Stick (tank)

    Current relase: amonet-tank-v1.2.2.zip

    NOTE: Recent reports indicate a change that disables brom DL-mode
    The change seems to have been introduced with devices that where manufactured in December 2019 or later.
    The change is unrelated to the software-version and results in the device not showing up as a USB device when shorted.
    Unfortunately these devices cannot currently be unlocked.

    NOTE: If you are on version 1.0, don't update to 1.2.1 through TWRP, as there is a bug.
    NOTE: This issue has been fixed in version 1.2.2
    NOTE: When updating from version 1.0, don't install anything else before rebooting



    To update to the current release if you are already unlocked, just flash the zip in TWRP.

    What you need:
    • A Linux installation or live-system
    • A micro-USB cable
    • Something conductive (paperclip, tweezers etc)
    • Something to open the stick.


    NOTE: Ideally you want to update your system to 5.2.6.9 before starting this process, since this flashes the 5.2.6.8 boot.img and people have reported issues with adb-authorization with older firmware.
    Since version 1.2 this isn't required, because instead of flashing the 5.2.6.9 boot.img, your existing boot.img will be patched.
    It is still recommended to first update to 5.2.6.9


    Install python3, PySerial, adb and fastboot. For Debian/Ubuntu something like this should work:
    Code:
    sudo apt update
    sudo add-apt-repository universe
    sudo apt install python3 python3-serial android-tools-adb android-tools-fastboot

    Make sure ModemManager is disabled or uninstalled:
    Code:
    sudo systemctl stop ModemManager
    sudo systemctl disable ModemManager


    NOTE: If you have issues running the scripts, you might have to run them using sudo.
    Also try using different USB-ports (preferably USB-2.0-ports)


    1. Extract the attached zip-file "amonet-tank-v1.2.2.zip" and open a terminal in that directory.
    2. start the script:
    Code:
    ./bootrom-step.sh

    It should now say Waiting for bootrom.

    Short CLK to GND (The metal shielding is also GND) according to the attached photo and plug it in.


    NOTE:

    In lsusb the boot-rom shows up as:
    Code:
    Bus 002 Device 013: ID [b]0e8d:0003[/b] MediaTek Inc. MT6227 phone

    If it shows up as:
    Code:
    Bus 002 Device 014: ID [b]0e8d:2000[/b] MediaTek Inc. MT65xx Preloader
    instead, you are in preloader-mode, try again.

    dmesg lists the correct device as:
    Code:
    [ 6383.962057] usb 2-2: New USB device found, idVendor=[b]0e8d[/b], idProduct=[b]0003[/b], bcdDevice= 1.00


    4. When the script asks you to remove the short, remove the short and press enter.

    5. Wait for the script to finish.
    If it stalls at some point, stop it and restart the process from step 2.

    6. Your device should now reboot into unlocked fastboot state.

    7. Run
    Code:
    ./fastboot-step.sh

    8. Wait for the device to reboot into TWRP.

    9. Use TWRP to flash custom ROM, Magisk etc.


    NOTE:
    Only ever flash boot/recovery images using TWRP, if you use FlashFire or other methods that are not aware of the exploit,
    your device will likely not boot anymore (unless you flashed a signed image).
    TWRP will patch recovery/boot-images on the fly.


    NOTE:
    This process does not disable OTA or does any other modifications to your system.
    You will have to do that according to the other guides in this forum.


    Very special thanks to @xyz` for making all this possible and putting up with the countless questions I have asked, helping me finish this.
    Thanks to @hwmod for doing initial investigations and providing the attached image.
    12
    There are three options for interacting with TWRP:
    1. A mouse via USB-OTG
    2. TWRP commandline via adb: https://twrp.me/faq/openrecoveryscript.html
    3. Via /cache/recovery/command

    Example for /cache/recovery/command:
    Code:
    echo "--update_package=/path/to/zipfile" > /cache/recovery/command
    echo "--wipe_cache" >> /cache/recovery/command
    reboot recovery

    Should you somehow end in a bootloop you can boot into hacked fastboot or recovery using.
    Code:
    sudo ./boot-fastboot.sh

    Code:
    sudo ./boot-recovery.sh

    NOTE:This will only work if the boot-exploit is still there.

    Source Code:
    https://github.com/chaosmaster/amonet
    https://github.com/chaosmaster/android_bootable_recovery
    9
    Changelog

    Version 1.2 (25.03.2019)
    • Update TWRP to twrp-9.0 sources
    • Implement downgrade-protection for LK/PL/TZ
    • Add scripts to enter fastboot/recovery in case of bootloop
    • Automatically restore boot-patch when you boot into recovery

    Features.

    • Hacked fastboot mode lets you use all fastboot commands (flash etc).
    • Boots custom/unsigned kernel-images (need to be patched)
    • For the devs: sets printk.disable_uart=0 (enables debug-output over UART).
    • TWRP protects from accidental lk/preloader/tz downgrades
    • Set bootmode via preloader

    NOTE: Hacked fastboot can be reached via TWRP.

    NOTE: Hacked fastboot won't patch your boot/recovery-images, so you can easily go back to stock.
    Use TWRP for autopatching.
    8
    Please read the instructions k4y0z wrote (1st page), then read the extra info below. It was my first time rooting a FireTV Stick via hardware and I had a lot of questions. Although, most answered via post replies throughout this thread. Here is a descriptive version of the rooting process for other beginners from what I learned.

    Any damages or issues resulting from rooting your own device falls on you!

    EDIT: I know this is long, but if you are a beginner DO NOT SKIM THROUGH.

    A Linux operating system is required. Ubuntu 19.04 is recommended and the following instructions are for Debian based systems like Ubuntu.

    The following packages were used (Check for updates):
    Amonet-tank-v1.2.2
    tank-5.2.6.9-rooted_r1
    Magisk-v19.2
    Everything was saved to the Downloads folder.

    Step 0: Open the FireTV Stick
    1. Use a plastic tool like an unused credit card. With a bit of force push the plastic tool into the edge (seam) of the FireTV Stick while slightly popping the side wall outwards until a snap. Continue on all sides until the plastic shell can be separated. Then, remove the motherboard. Disassembly video - Link
    2. On the side with the smaller metal shield, use a thin blunt knife or flathead. Start near the HDMI port above and below the black pad. There are small gaps that can be used to push the metal shield up. Continue around the metal shield until it is removed. Be careful not to scratch the board and leave the metal rim.
    3. Attach the micro USB cable to the FireTV Stick but not to a computer!
    4. Extract “amonet-tank-v1.2.2.zip” in the Downloads folder and open a Terminal on a Linux system.

    Step 1: Update Ubuntu
    Code:
    sudo apt update && sudo apt upgrade -y

    Step 2: Install Dependencies (Ignore if Android Studio is installed)
    Code:
    sudo apt install python3 python3-serial android-tools-adb android-tools-fastboot

    Step 3: Stop and Disable ModemManager
    Code:
    sudo systemctl stop ModemManager
    sudo systemctl disable ModemManager

    Step 4: Short CLK to GND (Please read k4y0z instructions as well)
    1. Navigate to script directory:
      Code:
      cd ~/Downloads/amonet-tank-v1.2.2/amonet/
    2. Start the script:
      Code:
      sudo bash bootrom-step.sh
    3. When the Terminal prompt says "waiting for bootrom" (Easiest with two people)
    4. Place the removed metal shield next to the disassembled FireTV Stick. If it doesn't short, then use k4y0z suggested GND method.
    5. Use a paperclip (etc), and lightly touch the bottom metal piece of the CLK to the metal shield (CLK location, but use metal shield as GND). The CLK is tiny so be careful.
    6. Plug the USB cable connected to the FireTV Stick into the computer while holding the short!!! When I did it, I accidentally lost the short but it still worked (uncommon).
    7. The Terminal prompt will say when to "remove the short and press enter".
    8. Wait until the script finishes. If the script stalls, unplug USB and start the script again and short.
    9. Run fastboot script:
      Code:
      sudo bash fastboot-step.sh
    10. Next step has instructions.

    Step 5: Using Fastboot to install Roms and Magisk
    1. Wait for the FireStick to reboot into TWRP
    2. Push Tank’s prerooted rom zip file onto the FireTV Stick sd card:
      Code:
      adb push ~/Downloads/tank-5.2.6.9-rooted_r1.zip /sdcard/
    3. Push Magisk zip file:
      Code:
      adb push ~/Downloads/Magisk-v19.2.zip /sdcard/
    4. Go into ADB Shell:
      Code:
      adb shell
    5. Install rom:
      Code:
      twrp install /sdcard/tank-5.2.6.9-rooted_r1.zip
    6. Install Magisk:
      Code:
      twrp install /sdcard/Magisk-v19.2.zip
    7. EDIT: STOP! DO NOT WIPE ANYTHING OTHER THEN WHAT WAS STATED OR SKIP WIPING ENTIRELY IF YOU'RE A BEGINNER! You can skip wiping and reboot (#9 & #10) or decide if you want to wipe the cache and dalvik only (advanced):
      Code:
      twrp wipe cache
    8. Code:
      twrp wipe dalvik
    9. Code:
      reboot -p
    10. Unplug USB and plug the disassembled FireTV Stick into a monitor or TV. Use the power brick and handle with care.
    11. The "Optimizing Storage" screen will display and will take 10 minutes to complete.

    Optimizing Storage Screen Hangs Issue*
    Try plugging the FireTV Stick's USB to a different power brick temporarily.

    Otherwise and unfortunately, the following instructions will erase your apps and will force you to re-register your FireTV Stick.
    1. Unplug the FireTV Stick USB from the power brick only and open a Terminal window.
    2. Navigate to script directory:
      Code:
      cd ~/Downloads/amonet-tank-v1.2.2/amonet/
    3. Run the boot recovery script to boot into twrp:
      Code:
      sudo bash boot-recovery.sh
    4. When the Terminal prompt says "Waiting for preloader", plug the USB into the computer.
    5. Go into ADB Shell:
      Code:
      adb shell
    6. Code:
      twrp wipe data
    7. Code:
      twrp wipe cache
    8. Code:
      twrp wipe dalvik
    9. Install rom:
      Code:
      twrp install /sdcard/tank-5.2.6.9-rooted_r1.zip
    10. Install Magisk:
      Code:
      twrp install /sdcard/Magisk-v19.2.zip
    11. Code:
      reboot -p
    12. Plug FireTV Stick into a TV or Monitor and wait for the "Optimizing Storage" screen to finish and re-register your device.

    TWRP Can Be Accessed Anytime via Boot Recovery Script*
    Run the boot-recovery script and plug the FireTV Stick into the computer.

    How to backup TWRP**
    I haven't made a backup yet via the command line. But I assume it would go as follow and if anyone wants to help, please do.
    1. Unplug the FireTV Stick USB from the power brick only and open a Terminal window.
    2. Navigate to script directory:
      Code:
      cd ~/Downloads/amonet-tank-v1.2.2/amonet/
    3. Run the boot recovery script to boot into twrp:
      Code:
      sudo bash boot-recovery.sh
    4. When the Terminal prompt says "Waiting for preloader", plug the USB into the computer.
    5. Go into ADB Shell:
      Code:
      adb shell
    6. Create a TWRP backup (everything):
      Code:
      twrp backup twrp
      OR here is a list of partitions that can be backed up.

    Here is a list of bloatware to disable***
    Be extremely careful. Disabling the wrong thing can break your FireTV Stick! - Link

    1. Enable ADB debugging via FireTV Stick Settings and get the ip address under About.
    2. Connect to the FireTV Stick via Wifi:
      Code:
      adb kill-server
      adb start-server
      adb connect <ip-address>:5555 # Grant access via prompt on TV or monitor.
      adb shell
      su
    3. If su command does not work in shell, then open Magisk app and grant root access to shell (in sidebar menu).
    4. Disable bloat as shown in the link above. Be careful!!
    5
    I have not ported my bootmenu recovery to this device yet. I'll try to work on getting the device added to my build system and see what I can put together. Unfortunately I don't have any time this weekend, I'll see if I can get something going next weekend.