Fire 7 (2019, mustang) unbrick, downgrade, unlock & root

Search This thread
hey guys, i want to know if my fire 7 2019 is compatible with this, ive heard alot of talk about it not being supported on units bought >2020
I bought mine on Sept 8 2019. but ive been trying to get it into bootrom mode for a while with the hardware method, with a piece of alluminium foil. but nothing is working, what should i do?


edit:

i got into it but the script returns this

[[email protected] amonet-mustang]$ sudo ./bootrom-step.sh
[2022-12-11 18:38:53.643964] Waiting for bootrom
[2022-12-11 18:38:59.200003] Found port = /dev/ttyACM0
[2022-12-11 18:38:59.253676] Handshake

* * * If you have a short attached, remove it now * * *
* * * Press Enter to continue * * *


Traceback (most recent call last):
File "/home/marcus/Downloads/amonet-mustang/modules/main.py", line 161, in <module>
main()
File "/home/marcus/Downloads/amonet-mustang/modules/main.py", line 82, in main
load_payload(dev, "../brom-payload/build/payload.bin")
File "/home/marcus/Downloads/amonet-mustang/modules/load_payload.py", line 99, in load_payload
dev.write32(0x10007008, 0x1971) # low-level watchdog kick
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/marcus/Downloads/amonet-mustang/modules/common.py", line 147, in write32
self.check(self.dev.read(2), b'\x00\x01') # arg check
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/marcus/Downloads/amonet-mustang/modules/common.py", line 84, in check
raise RuntimeError("ERROR: Serial protocol mismatch")
RuntimeError: ERROR: Serial protocol mismatch

This happened to me.. It was when I had incorrectly install pyserial when you actually need pytbon3-serial

I then changed USB port and voila.
 
It probably means your Fire HD 7 currently has OS version v7.3.xx which is not supported by mtk-su. I am on the same boat. Got the table for $15 just for converting to android but I can't even disable the bloatware because becoming root is the first step.

Has anyone with v7.3.xx tried the hardware jumper method and gain root?

Yes. Easy to follow guide.
 

Ch Tech

Member
Sep 16, 2021
18
1
when i execute mtk-su i have this output : "failed critical init step 3" how i can solve this?
 
Last edited:

muzicman82

Senior Member
Dec 27, 2007
503
23
Wilmington, DE
I've been on Lineage 16 (whatever the latest is) and WiFI keeps crapping out constantly. I've heard this is a common issue.

Is there a flashable stock ROM with root so I don't lose root?
 

coolst3r

Member
Sep 5, 2020
5
0
when i try to run boot tom sh on original austin it also stuck at handshake



b''
b'\x00\x01'
Traceback (most recent call last):
File "/home/cunny/Downloads/amonet/modules/main.py", line 130, in <module>
main()
File "/home/cunny/Downloads/amonet/modules/main.py", line 64, in main
handshake(dev)
File "/home/cunny/Downloads/amonet/modules/handshake.py", line 11, in handshake
dev.write32(0x10007000, 0x22000000)
File "/home/cunny/Downloads/amonet/modules/common.py", line 152, in write32
self.check(self.dev.read(2), b'\x00\x01') # arg check
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/cunny/Downloads/amonet/modules/common.py", line 89, in check
raise RuntimeError("ERROR: Serial protocol mismatch")
 

Michajin

Senior Member
Oct 23, 2012
1,364
547
when i try to run boot tom sh on original austin it also stuck at handshake



b''
b'\x00\x01'
Traceback (most recent call last):
File "/home/cunny/Downloads/amonet/modules/main.py", line 130, in <module>
main()
File "/home/cunny/Downloads/amonet/modules/main.py", line 64, in main
handshake(dev)
File "/home/cunny/Downloads/amonet/modules/handshake.py", line 11, in handshake
dev.write32(0x10007000, 0x22000000)
File "/home/cunny/Downloads/amonet/modules/common.py", line 152, in write32
self.check(self.dev.read(2), b'\x00\x01') # arg check
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/cunny/Downloads/amonet/modules/common.py", line 89, in check
raise RuntimeError("ERROR: Serial protocol mismatch")
you are in preloader not bootrom
 

turboTermite

Member
Sep 19, 2022
5
1
when i try the hardware, it stays on waiting for bootrom while i have the pin grounded. nothing else happens, what am i doing wrong? @ggow
lol i combed this thread a lot over the years before i flashed mine, because i was chicken opening up.
From what I read you need a one from the early batches, because Amazon locked it down late 2019. Probably hard to tell which one you got other than going off by purchase date. I remember when I got mine I prob could of done the software flash, but I was dumb and didn't know how to go past the first boot up screen and connected it to the internet and it updated it self.....
Are you getting a good connection when you are grounding the pin? Mine was like way tiny compared to the picture, like there's nothing sticking out like that one picture that shows you how to do it. Are you grounding it to the leftover shield piece that surrounds it?
Anyways hope it works for you, it would be kinda nice to have more people interested in this.
 

MarvinMod

Senior Member
May 20, 2015
695
276
Samsung Galaxy A70
lol i combed this thread a lot over the years before i flashed mine, because i was chicken opening up.
From what I read you need a one from the early batches, because Amazon locked it down late 2019. Probably hard to tell which one you got other than going off by purchase date. I remember when I got mine I prob could of done the software flash, but I was dumb and didn't know how to go past the first boot up screen and connected it to the internet and it updated it self.....
Are you getting a good connection when you are grounding the pin? Mine was like way tiny compared to the picture, like there's nothing sticking out like that one picture that shows you how to do it. Are you grounding it to the leftover shield piece that surrounds it?
Anyways hope it works for you, it would be kinda nice to have more people interested in this.
Mine was purchased new in 2021 and has fire 7. Something on it. The pin is very small yes and if i keep it grounded, it stay at waiting for bootrom but as soon as i realease the short, it starts to go but ends with port protocal mismatch or something like that. I disconnect battery and try again with same results. Ive been reading alot of threds talking about the patch being fixed on newer devices but no ones actually confirmed it as you are right, theres no way to tell if you have a pre 2019 or not or at least i haven't been able to confirm that from the tablet but again, i did get it in 2021. I have several tablets, this ones not important to me so ill keep tinkering till i find a way to unlock it or break it lol. Thanks for the reply. 🖖
 

Michajin

Senior Member
Oct 23, 2012
1,364
547
Mine was purchased new in 2021 and has fire 7. Something on it. The pin is very small yes and if i keep it grounded, it stay at waiting for bootrom but as soon as i realease the short, it starts to go but ends with port protocal mismatch or something like that. I disconnect battery and try again with same results. Ive been reading alot of threds talking about the patch being fixed on newer devices but no ones actually confirmed it as you are right, theres no way to tell if you have a pre 2019 or not or at least i haven't been able to confirm that from the tablet but again, i did get it in 2021. I have several tablets, this ones not important to me so ill keep tinkering till i find a way to unlock it or break it lol. Thanks for the reply. 🖖
In Jan 2020 the bootrom was disabled, you can also tell by the serial number. Anything that was purchased from amazon after march of 2020 had the bootrom disabled. You can only get into the preloader. There may be a rooting option with it having a mali GPU, but i cant confirm anyone is working on it or it will work on this, and this will likely be root only.
 

Crazycat070

New member
Jun 30, 2022
2
0
Amazon Fire HD 6 and 7
Tried the hardware method on mine and it said something like incorrect serial and now it wont power on anymore. Anybody know how to fix this issue or can i not use it anymore?

Edit: I just shorted it again and it turned on
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 48
    Make sure to read this guide completely before starting.

    You will lose all data on the tablet, make a backup of important data before you start.

    What you need:
    - a Linux installation. Don't use a VM! Use a live USB, if you don't have Linux installed, but don't use a virtual machine.
    - a microusb cable to connect your tablet to the PC
    - (if you go with hw option) some way to open the tablet (pry tool, opening picks, etc)
    - (if you go with hw option) something conductive (metal tweezers, a paper clip, a piece of wire, etc)
    - (if you go with sw option) mtk-su from https://forum.xda-developers.com/android/development/amazing-temp-root-mediatek-armv8-t3922213
    - amonet-mustang.zip from this post
    - finalize.zip from this post
    - update-kindle-NS6312_user_1827_0002517050244.bin: https://fireos-tablet-src.s3.amazon...ate-kindle-NS6312_user_1827_0002517050244.bin
    - Magisk-v19.3.zip: https://github.com/topjohnwu/Magisk/releases/download/v19.3/Magisk-v19.3.zip

    Install python3, PySerial, adb and fastboot. For Debian/Ubuntu something like this should work "sudo apt install python3 python3-serial android-tools-adb android-tools-fastboot".

    0. Disconnect the tablet and all other Android devices from the PC.
    1. Back up whatever important data you have on the device and perform a complete factory reset of the tablet. When going through the initial setup, don't connect to a network (see below on how to do that).
    2. Disable or uninstall ModemManager from your Linux installation
    3. At this point you need to get your tablet into the bootrom download mode. There are two ways it can be achieved.
    a) If your tablet works, you can use the software method (which doesn't require opening the tablet) or the hardware method. Note that if something goes horribly wrong, you might still be required to open up the tablet.
    b) If your tablet doesn't boot (bricked), you can only use the hardware method

    ----------------------------------------------------------------------------------------------------

    Software method:
    This will get you into bootrom mode by obtaining temporary root and temporarily bricking the device.

    1. Download mtk-su from https://forum.xda-developers.com/android/development/amazing-temp-root-mediatek-armv8-t3922213
    2. Enable developer mode and USB debugging on the tablet
    3. Unzip the mtk-su archive
    4. Transfer the executable to your tablet: "adb push arm/mtk-su /data/local/tmp"
    5. Run "adb shell"
    6. Keep the screen on and run the following commands in the shell on the device:
    Code:
    cd /data/local/tmp
    ./mtk-su
    getenforce # Just to confirm it says Permissive
    echo 0 > /sys/block/mmcblk0boot0/force_ro
    dd if=/dev/zero of=/dev/block/mmcblk0boot0 bs=512 count=8

    This is the sort of output you should see for that step:

    Code:
    [email protected]:~/Downloads/mtk-su $ adb shell
    mustang:/ $ cd /data/local/tmp
    mustang:/data/local/tmp $ ./mtk-su                                                                                                                                                 
    New UID/GID: 0/0
    mustang:/data/local/tmp # getenforce                                                                                                                                               
    Permissive
    mustang:/data/local/tmp # echo 0 > /sys/block/mmcblk0boot0/force_ro                                                                                                           
    mustang:/data/local/tmp # dd if=/dev/zero of=/dev/block/mmcblk0boot0 bs=512 count=8                                                                                                
    8+0 records in
    8+0 records out
    4096 bytes transferred in 0.001 secs (4096000 bytes/sec)
    mustang:/data/local/tmp #

    Don't close the console just yet.

    Hardware method:
    This will get you into bootrom mode by opening up the tablet and shorting a point to the ground.

    1. Shut your device down and disconnect it from USB
    2. Use a pry tool to remove the back shell from the tablet. Start at the bottom and work your way up. There are no cables between the back shell and the motherboard.
    3. You will need to get something conductive and temporarily connect a point to the ground. A point suggested by @ggow is: https://forum.xda-developers.com/showpost.php?p=79683131&postcount=22. You will need to pop up the metallic shield to access it. Alternatively, there are multiple points on the back of the PCB which also work (marked as CLK/CMD/DAT0).

    ----------------------------------------------------------------------------------------------------

    4. At this point if you went with software method, you should have a root shell open, and if you went with the hardware method you should have a capacitor or a testpoint grounded to the shield.

    5. Now, open another terminal on your PC, extract amonet-mustang.zip, navigate to it, and run `sudo ./bootrom-step.sh`. It should print "Waiting for the bootrom".
    6.
    a) For the software method, you should already have the USB cable plugged in. Type "reboot" in the first terminal (the one you that's running "adb shell"). [If you're trying this for the second time because it didn't work for the first time, you won't have an "adb shell" terminal. In that case, just plugging the USB cable in should be enough.]
    b) For the hardware method, ensure the short is applied and then plug in the USB cable.

    7. You should see the following device appear in your "dmesg" log:

    Code:
    [1141765.113884] usb 3-1.4.3.1: USB disconnect, device number 59
    [1141783.057101] usb 3-1.4.3.1: new full-speed USB device number 60 using xhci_hcd
    [1141783.226498] usb 3-1.4.3.1: New USB device found, idVendor=0e8d, idProduct=0003, bcdDevice= 1.00
    [1141783.226502] usb 3-1.4.3.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [1141783.506877] cdc_acm 3-1.4.3.1:1.0: ttyACM0: USB ACM device

    This *must* be the device you see. If you see a "preloader" device instead, your short probably didn't work (for the hw method), or your system inexinexplicably didn't brick (for the sw method). Unplug everything and try again. If the tablet doesn't shut down, you might need to open it up and disconnect the battery.

    8. The script should now tell you to remove the short. If you went with hardware method, you do need to remove it first. Otherwise, just press Enter.
    9. The script will now proceed to downgrade your device and flash some essential files. Just let it be, it will take about 4 minutes. You should see the following output:

    Code:
    [2019-06-30 02:48:59.334098] Waiting for bootrom
    [2019-06-30 02:50:41.179571] Found port = /dev/ttyACM0
    [2019-06-30 02:50:41.180204] Handshake
    
     * * * If you have a short attached, remove it now * * * 
     * * * Press Enter to continue * * * 
    
    
    [2019-06-30 02:50:49.195782] Init crypto engine
    [2019-06-30 02:50:49.214278] Disable caches
    [2019-06-30 02:50:49.214801] Disable bootrom range checks
    [2019-06-30 02:50:49.229877] Load payload from ../brom-payload/build/payload.bin = 0x46B8 bytes
    [2019-06-30 02:50:49.233418] Send payload
    [2019-06-30 02:50:49.958957] Let's rock
    [2019-06-30 02:50:49.959812] Wait for the payload to come online...
    [2019-06-30 02:50:50.904341] all good
    [2019-06-30 02:50:50.904714] Check GPT
    [2019-06-30 02:50:51.240034] gpt_parsed = {'proinfo': (1024, 6144), 'PMT': (7168, 9216), 'kb': (16384, 2048), 'dkb': (18432, 2048), 'lk': (20480, 2048), 'tee1': (22528, 10240), 'tee2': (32768, 10240), 'metadata': (43008, 80896), 'MISC': (123904, 1024), 'reserved': (124928, 16384), 'boot': (141312, 32768), 'recovery': (174080, 40960), 'system': (215040, 6354944), 'vendor': (6569984, 460800), 'cache': (7030784, 1024000), 'userdata': (8054784, 22722527)}
    [2019-06-30 02:50:51.240157] Check boot0
    [2019-06-30 02:50:51.485287] Check rpmb
    [2019-06-30 02:50:51.695083] Downgrade rpmb
    [2019-06-30 02:50:51.696759] Recheck rpmb
    [2019-06-30 02:50:52.591407] rpmb downgrade ok
    [2019-06-30 02:50:52.837668] Clear preloader 1
    [1 / 1]
    [2019-06-30 02:50:52.859908] Clear preloader 2
    [1 / 1]
    [2019-06-30 02:50:52.882059] Flash lk-payload
    [4 / 4]
    [2019-06-30 02:50:53.214382] Flash tz
    [5547 / 5547]
    [2019-06-30 02:52:51.150851] Flash lk
    [651 / 651]
    [2019-06-30 02:53:05.192112] Inject microloader
    [4 / 4]
    [2019-06-30 02:53:05.524154] Flash preloader
    [271 / 271]
    [2019-06-30 02:53:11.525329] Restore preloader
    [8 / 8]
    [2019-06-30 02:53:11.695348] Reboot to unlocked fastboot

    If the script freezes at some point, you will have to restart it. Terminate the script, then immediately run `sudo ./bootrom-step.sh` again. The exploit it set up so that after about 40 seconds of inactivity it would reboot your device and drop you back into the bootrom mode, which the script is waiting for. If you cannot restart the process, you might have to open up the tablet and replug the battery to completely power off the device.

    10. You should see a success message: "Reboot to unlocked fastboot". Only proceed if you see the message.
    11. Once the device boots to fastboot (check with "fastboot devices"; you should also see amazon logo on the screen.), you can run "sudo ./fastboot-step.sh".
    12. At this point the device should boot into recovery, however the screen will be off. Just press the power button twice and the screen should turn on.
    13. Success! You now have a custom recovery installed that can be accessed by holding down power and volume down (the leftmost) buttons. At this point if you came here from a custom ROM thread you should probably follow the ROM installation instructions. Alternatively, the next steps will detail installing a stock firmware and rooting it with Magisk.

    ----------------------------------------------------------------------------------------------------

    14. We'll now upload required files to the recovery. On your PC, do:

    adb push update-kindle-NS6312_user_1827_0002517050244.bin /sdcard/fw.zip
    adb push Magisk-v19.3.zip /sdcard
    adb push finalize.zip /sdcard

    15. In the recovery, go to "Install", navigate to "/sdcard" and flash fw.zip
    16. Go to "Wipe" and do the default wipe, then reboot
    17. At the Fire setup screen, select your language. On the next screen, Wifi setup, select any password-protected network, then instead of entering the password press "cancel". Now, back at the wifi setup screen, press "Skip setup" and "Skip" in the dialog pop-up again
    18. Wait for the update to finish (wait until the updating fire notification disappears)
    19. Hold down the power button, press Restart and hold volume down to boot into recovery.
    20. In the recovery, go to "Install", navigate to "/sdcard" and flash Magisk-v19.3.zip
    21. Press back, select finalize.zip and flash it
    22. Once finalize.zip is flashed, press "Reboot System"

    VERY IMPORTANT STUFF:
    Only ever flash boot images from TWRP. Since nothing but TWRP is aware of the exploit, if you try to flash a boot image from Android, it won't have the exploit integrated into it! This includes Magisk as well, so do NOT install or uninstall it from Magisk Manager (However, installing modules should be fine; although it depends on the specific module).

    Due to how the exploit works, it takes over the first 0x400 bytes of boot.img/recovery.img. When flashing zips from the recovery, it will transparently remove and then reinstall the exploit when needed. So long as you flash zips from the recovery, you should treat the boot image normally. However, this means that you cannot use any other apps (e.g. FlashFire) to flash the boot or recovery partitions.


    To uninstall the hack and revert back to stock:
    - Download an update package to your PC (the update-kindle-NS6312_user_1827_0002517050244.bin file)
    - Flash revert-stock-mustang.zip from TWRP
    - Perform the default wipe
    - Reboot to recovery; you should see amazon recovery now
    - Select "apply update from ADB" in the recovery menu
    - Run "adb sideload update-kindle-NS6312_user_1827_0002517050244.bin" on your PC


    Other misc information / troubleshooting:
    - If you need to disconnect the battery, use a pair of tweezers to grab the wires and gently pull towards yourself. You can do bootrom-step.sh either with or without the battery connected, however fastboot-step.sh should be done with the battery connected.
    - If your device is bricked (e.g. from a downgrade), just follow the steps as-is.
    - If you're getting an error like "Serial protocol mismatch", or any other error in bootrom-step, try disabling or temporarily uninstalling ModemManager from your Linux
    - To remount /system as rw use "mount -o rw,remount /system". ("mount -o remount,rw /system" will not work)

    Thanks to: aftv2-tools contributors https://gitlab.com/zeroepoch/aftv2-tools: for an implementation of mtk download protocol, @diplomatic for mtk-su, @Michajin for testing the instructions.
    5
    They are working to port lineage OS 14.1 from the Fire 8 to it. Waiting for it too, will use my 7th gen tablet in the meantime :).

    https://forum.xda-developers.com/hd...e-hd8-2018-t3936242/post79915018#post79915018

    I already port it. The problem is that I don't have a good Wi-Fi since I'm not a thome this days.
    4
    Thanks for your work!

    On a side note, I also had adaptive storage on during the process. I was having crashing issues after install. I re-installed the firmware-wiped and booted. I followed the steps to boot without setup. Then booted back into TWRP, flashed magisk, but did not flash finalize. I like access to some of the amazon apps. Once I rebooted (I stayed off wi-fi) I sideloaded a package disabler and disabled the OTA. I registered then disabled the amazon bloat I didn't want. I have installed my sd card as portable this time, just to be safe.

    also, TWRP does not have backup and restore options, is this normal on this currently?
    3
    Thanks. We will look if it's possible to compile LOS 14.1 since it has the same processor as the HD8 2018.