[UNLOCK][ROOT][TWRP][UNBRICK] Fire TV Stick 4K (mantis)

Search This thread
Magisk was flashed as part of the ROM.



The issue was no one mentioned that you need to fully upgrade, then turn on USB Debugging, then flash a new ROM and the ADB Debugging will persist across ROMS. Once I figured that out I was aable to get ADB Access and reboot into recovery and flash a ROM



At this point all I need is to get the Amazon Appstore working. Any ideas?
Nobody mentioned because nobody has upgraded to this firmware on an unlocked rooted mantis (save the ones using rbox prerooted modded 6.2.7.8 lol) it could well be this is part of the problem amazon have created.

Idk Maybe use Magisk hide then clear data on the apps in managed installed applications and reboot , what happens when you open up the appstore what error are you getting?

Have your tried flashing another lower firmware and checking if all is normal on that. Just download another rom to firestick sdcard (or adb push)

Only Wipe cache, dalvik and system and flash the older firmware and magisk and try that.
As you're not wiping data your stick won't go through all the updates again and remain on the older firmware which will be treated by twrp like any other update.bin albeit a previous older version.

Regards
 

emkorial

Senior Member
Mar 2, 2008
431
21
However, you can try the unlock nevertheless, it doesn't harm your device.
Who knows, maybe they messed the burning-efuse thing up badly and rooting is still possible ^^


Once I get the amazon AppStore working on my rooted stick, I will be trying the unlock on my device that was natively upgraded to 6.2.8. Maybe it will work, who knows.
 

emkorial

Senior Member
Mar 2, 2008
431
21
Nobody mentioned because nobody has upgraded to this firmware on an unlocked rooted mantis (save the ones using rbox prerooted modded 6.2.7.8 lol) it could well be this is part of the problem amazon have created.

This device was not upgraded either, it was fresh out of the box non upgraded. The only ay to get USB debugging to be turned on was to go through Setup, get upgraded, then turn it on, then reflash. Either way it is working now and I have ADB access

Idk Maybe use Magisk hide then clear data on the apps in managed installed applications and reboot , what happens when you open up the appstore what error are you getting?

So on the Home Screen the "Your Apps" list is empty. If I go to Settings > Applications, it shows some apps and the Appstore. If I search for an app (like Disney+) it will come up in the Search results, but if you click on it, nothing happens, and it does not install. I tried clearing Cache, Data, and Force Stopping the App Store and it didn't change anything. I tried going to the appstore online and pushing an app to the Stick, but that did not work either.

If you try to run an app that it syncs (it did this for HBO Max) from the Manage Applications screen, you get an error, "Amazon Appstore connection failure, An error occurred connecting to the Amazon Appstore, please try opening this app again" with a Quit button

Amazon Prime does seem to be working in that I can watch a Prime show with no errors.

Have your tried flashing another lower firmware and checking if all is normal on that. Just download another rom to firestick sdcard (or adb push)

I tried 4 LOL. Here were my results. All ROM's were downloaded from https://xdaforums.com/t/fire-tv-stick-4k-mantis-prerooted-stock-images-6-2-8-0_r1.3983091/

6.2.6.8 - Upon boot you get an error, "There is an internal problem with your device". You can hit OK and proceed through Setup

6.2.7.1 - Boots fine, will get you to a Home screen, but the Appstore doesn't work

6.2.7.7 - Will not get past the Boot screen (the white screen with the yellow "Fire" and arrow on it)

6.2.6.6 - Boots fine, will get you to a Home screen, but the Appstore doesn't work


I have 6.2.6.6 flashed now because visually it seems to be the best version for me. Everything works, except the Appstore.
 

BeAtSs

Member
Dec 7, 2014
24
1
I got another Firetv Stick today, got it out of the box and did not do any update yet. But for some reason I cannot get the unlock to work.

Does ADB Debug in developer options need to be turned for the bootrom unlock to work? Because that is a problem ofcourse, as stated above here, you cannot get into the menu without letting it upgrade first.

Its frustrating with how easy it was with the other stick, and few days later how many problems I am having to get it to work.
 

emkorial

Senior Member
Mar 2, 2008
431
21
I got another Firetv Stick today, got it out of the box and did not do any update yet. But for some reason I cannot get the unlock to work.

Does ADB Debug in developer options need to be turned for the bootrom unlock to work? Because that is a problem ofcourse, as stated above here, you cannot get into the menu without letting it upgrade first.

Its frustrating with how easy it was with the other stick, and few days later how many problems I am having to get it to work.

I unlocked my old stick without ADB Debug enabled so I do not believe it is needed. I have a new stick showing up today that I will be trying the unlock on. the one I was just able to do it successfully on was a year old.

Also, from the OP:

NOTE: There have been multiple reports of devices with serial numbers containing VM190 or higher being shipped with DL-Mode disabled in BROM.
These devices cannot be unlocked using kamakiri.
These devices do not show up at all on USB when shorted.

Maybe this got you?
 
Last edited:

emkorial

Senior Member
Mar 2, 2008
431
21
So for some strange reason, I plugged the Fire Stick in today, after doing absolutely nothing, and now the App store seems to be working. I'm going to try and get things loaded but if it works I should be good to go.

No idea why it works this morning and not last night, it just sat unplugged on my desk overnight.

Update: I have successfully installed some apps from the appStore, I successfully sideloaded an app, and I successfully registered an app with my online provider, so at this point, everything SEEMS to be working. I only have it plugged into a little mini monitor right now, I need to hook it up to the TV later and see if it works. I don't know what version my old stick was on before it upgraded, I never thought to look, but from what I remember this looks like it used to look on the other stick prior to it upgrading

I'm going to leave it plugged in and just sitting on the screensaver for a while to see if anything bad happens. Once I get it up and running on the TV I will take the one that was updated and see if I can unlock that and follow the same steps
 
Last edited:

Sus_i

Senior Member
Apr 9, 2013
1,967
903
I got another Firetv Stick today, got it out of the box and did not do any update yet. But for some reason I cannot get the unlock to work.

Does ADB Debug in developer options need to be turned for the bootrom unlock to work? Because that is a problem ofcourse, as stated above here, you cannot get into the menu without letting it upgrade first.

Its frustrating with how easy it was with the other stick, and few days later how many problems I am having to get it to work.

If the stick is new, the OS doesn't need to be on 6.2.8.0. They ship them with br mode disabled, independently of the OS version... Remember the note from OP:

NOTE: There have been multiple reports of devices with serial numbers containing VM190 or higher being shipped with DL-Mode disabled in BROM.
These devices cannot be unlocked using kamakiri.
These devices do not show up at all on USB when shorted.

In addition to that, they try to patch all old devices now, with the 6.2.8.0 OTA update.
 

BeAtSs

Member
Dec 7, 2014
24
1
If the stick is new, the OS doesn't need to be on 6.2.8.0. They ship them with br mode disabled, independently of the OS version... Remember the note from OP:



In addition to that, they try to patch all old devices now, with the 6.2.8.0 OTA update.
Serial starts with VM070, so I did not think it would apply here. But for some reason it is still patched it seems. I cannot get it to detect when shortcutted.

And it does not have the 6.2.8 update yet, because if I go through setup and choose a network, it starts downloading the updates. And also the boot screen is still the old one (White background with orange text)
 

emkorial

Senior Member
Mar 2, 2008
431
21
Well I trying the stick that got updated, which was was just as old as the stick that I was successful with, and when shorting it the script runs but crashes and I get

"raise RunTimeError("ERROR: Serial protocol mismatch, expected {} got {}". format(gold.hex(), test.hex()))
Runtime Error: ERROR Serial protocol mismatch, expected 0001 got 0000

Anyone know what that means?
 

BeAtSs

Member
Dec 7, 2014
24
1
Well I trying the stick that got updated, which was was just as old as the stick that I was successful with, and when shorting it the script runs but crashes and I get

"raise RunTimeError("ERROR: Serial protocol mismatch, expected {} got {}". format(gold.hex(), test.hex()))
Runtime Error: ERROR Serial protocol mismatch, expected 0001 got 0000

Anyone know what that means?

From what I know thats an expected error when the short is not properly done.
 

Sus_i

Senior Member
Apr 9, 2013
1,967
903
Serial starts with VM070, so I did not think it would apply here. But for some reason it is still patched it seems. I cannot get it to detect when shortcutted.

And it does not have the 6.2.8 update yet, because if I go through setup and choose a network, it starts downloading the updates. And also the boot screen is still the old one (White background with orange text)

Ok, fine, then apply a good short and try again. Take a look into lsusb while shorted, you need the 'phone' message for the bootrom-step
 

Sus_i

Senior Member
Apr 9, 2013
1,967
903
From what I know thats an expected error when the short is not properly done.
Yeah. It mean that the script talked to preloader instead of the bootrom.

Only way to tell if the bootrom is blocked, is to look into lsusb while shorted.
-if there isn't a device like phone or preloader or mtp, it is patched. It shows just nothing while shorted.
 

emkorial

Senior Member
Mar 2, 2008
431
21
Yeah. It mean that the script talked to preloader instead of the bootrom.

Only way to tell if the bootrom is blocked, is to look into lsusb while shorted.
-if there isn't a device like phone or preloader or mtp, it is patched. It shows just nothing while shorted.


So when the device in unshorted, lsusb lists it as MediaTek MT65xx Preloader

I short the device, and get the error. While still shorted, I run lsbusb, and I still see MediaTek MT65xx Preloader


Does that mean I just need to keep trying the short? I've tried about 20 times and always gotten the error. On the other stick I got it perfect the first time I tried and 2 other times after that
 

Sus_i

Senior Member
Apr 9, 2013
1,967
903
So when the device in unshorted, lsusb lists it as MediaTek MT65xx Preloader

I short the device, and get the error. While still shorted, I run lsbusb, and I still see MediaTek MT65xx Preloader


Does that mean I just need to keep trying the short? I've tried about 20 times and always gotten the error. On the other stick I got it perfect the first time I tried and 2 other times after that

If it shows preloader -> the short wasn't propper / or is removed (the bootrom was able to load the preloader from the eMMC. That is not possible with a good short in place).

Disconnect and try again if you like.

A kamakiri vulnerable device shows mtk phone while shorted.
A non-vulnerable aka patched device shows nothing while shorted.
In order to get a clear answer, patched or not, a good short is most important ;)
 

emkorial

Senior Member
Mar 2, 2008
431
21
If it shows preloader -> the short wasn't propper / or is removed (the bootrom was able to load the preloader from the eMMC. That is not possible with a good short in place).

Disconnect and try again if you like.

A kamakiri vulnerable device shows mtk phone while shorted.
A non-vulnerable aka patched device shows nothing while shorted.
In order to get a clear answer, patched or not, a good short is most important ;)


I tried about 50 times and got the same error

My brand new fire stick showed up just now, I tried it on that one, and got the SAME error. That would lead me to believe both devices are patched. But I can keep trying. Foil is cheap.

will lsusb show MediaTek PreLoader or Mediatek phone with a good short? I ave never gotten "nothing" on a lsusb so far, it's always the MediaTek preloader
 

emkorial

Senior Member
Mar 2, 2008
431
21
If it shows preloader -> the short wasn't propper / or is removed (the bootrom was able to load the preloader from the eMMC. That is not possible with a good short in place).

Disconnect and try again if you like.

A kamakiri vulnerable device shows mtk phone while shorted.
A non-vulnerable aka patched device shows nothing while shorted.
In order to get a clear answer, patched or not, a good short is most important ;)


OK, this is interesting, and I think the device may be patched.

When I plug in the device with NO short, lsusb shows MediaTek Preloader

When I apply the short, BEFORE I run the ./bootrom-step.sh, with the short in place, lsusb shows NOTHING.

If i keep that short in place, and run the script, it gives the error, and THEN an lsusb shows MediaTek preloader again

I will keep trying the short and running lsusb and see if phone ever shows up but it sounds like it is patched which is odd since this is an old 2019 stick.
 
Last edited:

Sus_i

Senior Member
Apr 9, 2013
1,967
903
When I apply the short, BEFORE I run the ./bootrom-step.sh, with the short in place, lsusb shows NOTHING.

Ok. This is what I said, it shows nothing in lsusb while shorted.
This stick is 100% for sure patched.

It is normal that the SOC loads the preloader (if the short gets removed, even for only a second) and that the script errors out in case of a patched stick, cuz bootrom isn't aviable.
 

emkorial

Senior Member
Mar 2, 2008
431
21
Ok. This is what I said, it shows nothing in lsusb while shorted.
This stick is 100% for sure patched.

It is normal that the SOC loads the preloader (if the short gets removed, even for only a second) and that the script errors out in case of a patched stick, cuz bootrom isn't aviable.

Gotcha, that makes sense

Whats weird is that the stick was purchased in 2019 (either April, September, or Nov 2019) and I thought patching didn't kick in till the mid 2020's? Point of fact the one I WAS successful in unlocking was also purchased during one of those months, and it was not patched.

Or did the forced upgrade to 6.0.8 "patch" it with the efuse? Thats the biggest difference between the two sticks, the one I unlocked was from 2019 and fresh out of the box, the one that I cannot unlock was also from 2019 but had underwent the 6.0.8 upgrade OTA

Is anyone working on a way to bypass that eFuse issue?
 

emkorial

Senior Member
Mar 2, 2008
431
21
Correct, thats it...
Locked sticks get this patch with the 6.2.8.0 update.

OK, so that means my other Fire Stick that got updated is lost to me too. So the only thing this works on are old Fire Sticks from pre mid 2020 that have not been updated to 6.0.8. That's a small number. I'll start looking on eBay and emailing sellers

This a workaround will ever be developed or is this the end of the road for the hardware?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    I think my Vendor Partition is corrupt. I tried restore from working backup....no go.
    I tried fastboot format /vendor and got error....Formatting not supported for file system with type "View attachment 6086496

    My 2018 mantis has gone bad too - probably flash memory. Could not write anything to /data or /cache

    You could try mtkclient to re-write /vendor:

    It needs python3.8 to run properly, so install that. See here:

    Basically, mktclient wants python 3.8, so one adds another python version on Ubuntu, and then uses this command to add modules to it : "python3.8 -m pip" instead of the direct "pip" one.

    Then it is missing a module too:

    So the command to fix that was
    "python3.8 -m pip install pycryptodomex"

    Update:
    With python3.8, here is how you build it - notice the different command from the github:
    Code:
    git clone https://github.com/bkerler/mtkclient
    cd mtkclient
    python3.8 -m pip install .

    Then continue with the rest of github instructions.

    To run the gui, do this:
    Code:
    python3.8 mtk_gui
    3
    I‘ve plugged in an usb adapter to connect a usb dongle for a mouse.
    There‘s no other option to deactivate the countdown?
    Yes there is, use the bugged version of kamakiri, it will not give you any option for TWRP.
    I have two firestick 4K and that one, on which i‘ve unlocked bootloader wasn‘t planned to get unlocked 😅
    Is it easily possible to remove the unlock?
    It is actually fairly easy and easier is to brick your stick.

    There are posts on XDA about how to do it, you'll have to use Fastboot. (I think one was written by me and one by suzi)

    I have attached a version of kamakiri in which the lk has a bug. so twrp will not show you the boot menu even if you have attached an OTG. This is also a TWRP flashable zip. BUT FIRST PLEASE THINK OF WAYS TO GET INTO TWRP IN CASE ANYTHING GOES WRONG WITH YOUR SYSTEM (YOU CAN USE CLH OR ADB IF YOU REMOVE TWRP BOOT MENU, BUT HOW WILL YOU ACCESS THEM IF YOU ARE STUCK IN BOOTLOOP)

    FLASH AT YOUR OWN RISK.
    3
    So I did kamakiri on a dead one like the one you got. It revived the stick for a couple of weeks - then /data went bad.

    I was able to read eMMC info in TWRP using the command line from the dead stick. I have an OTG cable, USB hub, and added a mouse, keyboard, and a USB stick - all 3 at once. Then in TWRP go to the Advanced/Terminal, and type away!

    Use this utility:

    Code:
    mmc extcsd read /dev/block/mmcblk0

    The dead stick has this:
    Code:
    eMMC Pre EOL information [EXT_CSD_PRE_EOL_INFO]: 0x03

    A good stick had 0x01. Reading the manual, 0x03 is the sign of the dying/dead eMMC.


    Pre-EOL
    Pre EOL information is an overall status for reserved blocks on the disks.

    Possible values are:

    ValueSeverityMeaning
    0x00Not defined.
    0x01NormalThe disk has consumed less than 80% of its reserved blocks
    0x02WarningThe disk has consumed more than 80% of its reserved blocks
    0x03UrgentThe disk has consumed more than 90% of its reserved blocks

    Thanks to @Kramar111 for suggesting me to look at this!
    2
    To check eMMC status we can also run something like this via TWRP adb
    Code:
    adb shell
    cat /sys/class/block/mmcblk0/device/cid
    cat /sys/class/block/mmcblk0/device/csd
    mount -t debugfs none /sys/kernel/debug && cat /sys/kernel/debug/mmc0/mmc0:0001/ext_csd
    Root needed (or TWRP)
    Code:
    cat /sys/block/mmcblk0/device/life_time
    cat /sys/block/mmcblk0/device/pre_eol_info

    Thanks to @bibikalka for the link - https://docs.netgate.com/pfsense/en/latest/troubleshooting/disk-lifetime.html
    1
    Use Titanium backup from your other stick where the app is working and restore in the one with problem.
    Props to hasobist for helping me. Thank you sir. :)
  • 76
    NOTE: There have been multiple reports of devices with serial numbers containing VM190 or higher being shipped with DL-Mode disabled in BROM.
    These devices cannot be unlocked using kamakiri.
    These devices do not show up at all on USB when shorted.


    After the old bootrom-exploit (amonet) we've been using for unlocking all these Fire-gadgets is closed in more recent Mediatek SOCs like the one used in the FireTV Stick 4K, @xyz` has done it again and found another bootrom-exploit.
    Together we proudly present kamakiri for the FireTV Stick 4K.

    Before proceeding make sure to read and understand this entire post.

    Running this exploit requires a patched linux-kernel on the PC you are using.
    We have put together a Live-ISO that already contains all prerequisites required for running kamakiri.
    You can find the current version of the ISO at:
    https://github.com/amonet-kamakiri/fireiso/releases

    It can be burned to a CD or to a USB-flashdrive.

    Current Version: kamakiri-mantis-v2.0.1.zip


    You will need to open the device and remove the heatshield on the side without the antennas (2 square bricks).
    NOTE: It is not required to desolder or force the shield off, it is just clipped onto a frame. (The attached picture may be a bit misleading, since it also has the frame removed)

    You will need something for shorting (wire, aluminum foil etc.)

    1. Boot the ISO
    2. Download and extract the exploit package.
    3. Open a terminal in the kamakiri directory
    4. Run
      Code:
      ./bootrom-step.sh
    5. Short one of the points in the attached photo to ground (the cage of the shielding).
      Ideally you want to use DAT0, since that is tiny it might be easier to short the point marked CLK instead.
      It is very important that you use a piece of soft wire or aluminum foil or something similar for shorting. Don't use tweezers as that makes it incredibly easy to knock of the capacitor off the PCB and kill the board!
    6. Connect the stick to your computer (while keeping it shorted)
    7. The script should tell you to release the short and hit enter
    8. Once finished run
      Code:
      ./fastboot-step.sh
    9. Your device will now reboot into TWRP

    Important information

    Don't flash boot/recovery images from FireOS (FlashFire, MagiskManager etc.)

    TWRP will prevent updates from overwriting LK/Preloader/TZ, so generally installing an update should work without issues (only full updates, incremental updates won't work).

    For ROM developers there is still an option to overwrite these, which should only be done after thorough testing and if needed (LK should never be updated).

    It is still advised to disable OTA.

    thanks to @hwmod for the picture
    thanks to @Sus_i for providing an update.bin
    thanks to @zeroepoch for developing aftv2-tools

    Contributors
    k4y0z, xyz`
    Source Code: https://github.com/amonet-kamakiri/
    17
    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, TWRP contains a special boot menu that will be displayed when you boot the stick with an OTG-cable connected.
    It will give you 5 seconds to hit cancel and stay in TWRP or reboot into the OS otherwise.

    NOTE:This will only work if the boot-exploit is still there.
    15
    I'v just uploaded a new Version of the unlock for mantis.
    It comes with an all new TWRP (3.6.1) and an unlock method that works even for fused devices with firmware version < 6.2.8.7, no shorting needed!
    For detailed instructions check https://xdaforums.com/t/unlock-root...k-3-and-fire-tv-stick-lite-sheldon-p.4410297/ (Use mantis-zip from here, will update instructions here in a bit)
    12
    Well that was easy! And my stick isn't on the latest version, so I'll be able to get some update URLs and make a prerooted ROM hopefully this weekend.
    12
    Is this something that Amazon can fix with future updates? I am holding off until we have a more refined rom..

    No, the only way they can fix it is with a new hardware revision.