Skip to main content

firebreak

firebreak unlocks an Echo Dot (2nd Generation) over USB, moves it between amonet targets, or returns it to stock. Run it again with another target to move the Dot. A stopped run picks up where it left off.

target the Dot ends with time
amonet-biscuit-v1.1.0-bboe (default) rooted Fire OS 5.5.5.4 on amonet v1.1.0, TWRP 3.7.0_9-bboe2 about 9 min from stock
amonet-biscuit-v1.1.0 the same, with amonet v1.1.0's TWRP 3.2.3 about 10 s from amonet-biscuit-v1.1.0-bboe
amonet-biscuit-v2.0.0 rooted Fire OS 6 8146 on amonet v2.0.0; opens your browser to download boot-root.zip from the amonet XDA thread about 5 min from amonet-biscuit-v1.1.0-bboe
stock [BUILD] stock Fire OS 6 at that build, 8149 when left out, with the Dot erased about 3 min from amonet-biscuit-v1.1.0-bboe

Run it

It needs adb and fastboot from Android platform-tools, and uv, which runs firebreak from PyPI and fetches a Python for it when needed. Each release also has firebreak.pyz, which runs as python3 firebreak.pyz on Python 3.9 or later.

uvx firebreak@latest asks PyPI for the newest release on each run. Without a network it fails, and uvx firebreak runs the copy uv already has.

macOS

These commands use Homebrew. Without it, download Google's platform-tools.

brew install --cask android-platform-tools uv
uvx firebreak@latest              # amonet-biscuit-v1.1.0-bboe
uvx firebreak@latest stock        # 8149, or name 4315, 4405, 5041, 6302, 8138, 8142, 8146

Linux

These commands are for Debian and Ubuntu. Run firebreak without sudo.

sudo apt install adb fastboot curl
curl -LsSf https://astral.sh/uv/install.sh | sh
uvx firebreak@latest

Windows

Run these in PowerShell. Open a new terminal after the installs.

winget install Google.PlatformTools
winget install astral-sh.uv
uvx firebreak@latest

The bootrom step also needs MediaTek's VCOM driver. It runs for --short, for a Dot on amonet v2.0.0 left in fastboot, and to resume a run stopped while it rewrote the bootloader; the script says when. The driver is "MediaTek USB Port" 3.0.1504.0 from the Microsoft Update Catalog. Install it from an administrator PowerShell:

cd $env:TEMP
curl.exe -o mtk.cab https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2016/07/20896845_fdc6bb5aa9a9bac99adf85d931d6c21d1130a96e.cab
mkdir mtk; expand -F:* mtk.cab mtk
pnputil /add-driver mtk\cdc-acm.inf /install

It has x86 and x64 builds only, so Windows on ARM cannot run the bootrom step.

Notes

  • From stock, the script asks for the fastboot gesture.
  • A ring that stays solid blue at the fastboot gesture can mean a bad USB connection. Unplug, then try again or try another port.
  • Do not set up a stock Dot in the Alexa app before you unlock it. On Wi-Fi it can update to a build the script does not support.
  • docs/rooting.md says why each step is there.

Bootloaders

From stock, only the LK decides whether firebreak can unlock a Dot. fastboot getvar lk_build_desc reads it.

lk_build_desc ships in
63cb91b-20221007_072309 Fire OS 6 4405 to 8149
41fb3ce-20221007_151724 Fire OS 6 4310, 4313, 4315
beb022a-20211202_231918 Fire OS 5.5.5.4
a828f29-20210822_210511 Fire OS 5.5.4.9, 5.5.5.0
f379dba-20170906_000423 Fire OS 5.5.3.1 to 5.5.4.6
0e1d0d9-20161018_220224 Fire OS 5.5.0.3
  • The maintainer has not unlocked a Dot on Fire OS 5.5.0.3.
  • The maintainer has unlocked Fire OS 5.5.5.4's LK only on a Dot that fell back to it, not on a stock 5.5.5.4 Dot.
  • docs/devices.md has each build's preloader, TEE and anti-rollback versions.

--short

Use --short when the Dot shows no light and gives no fastboot. The run reaches the Dot's bootrom by shorting its eMMC bus as it powers up, writes amonet v1.1.0, and then goes on to the target. It takes any target; --short to amonet-biscuit-v2.0.0 has not been run on a Dot. On Windows it needs the VCOM driver.

  1. Open the Dot with a Torx T8 screwdriver. Lift the shield's lid off the eMMC by its corners; its metal frame stays on the board.
  2. Find the passive marked in this photo, in the row between R60 and C52 beside the eMMC (where that is on the board). Do not use C52, which is a capacitor.
  3. With the Dot unplugged, run uvx firebreak@latest --short.
  4. When the script prints "Short the Dot's test point and plug it in", hold a wire from that passive to the shield frame beside it, which is ground, and plug the Dot in. A Dot plugged in before that message can go unseen. On "Short … missed", unplug it and try again.
  5. Take the wire off when the script prints "The short may come off now".

Reporting a problem

When a run fails, run it again with --report, then please stop by #support-device-unlocking in the EchoMuse Discord and paste what it prints. It starts the Dot's recovery, prints what the Dot, its eMMC and this computer are, and the Dot's partition table, and writes no partition. A Dot already in a recovery stays there, and the Dot is left in its recovery afterwards.

--report also names the device and lists its USB devices. firebreak supports only the Echo Dot (2nd Generation), but the report is the same on other Echo devices, such as the Echo (2nd Generation), and helps add them.

--write-test then tells a failing eMMC from a failing cable. It pushes a pattern into the Dot's RAM, then has the Dot write it over its own cache partition and read it back, so nothing crosses USB. It erases cache, which holds nothing the Dot needs, and leaves an empty filesystem there, or says it could not.

Licence

firebreak uses the BSD 2-Clause licence, in LICENSE.txt. This repository contains no Amazon code, and firebreak is not affiliated with, endorsed by, or supported by Amazon.

Metadata

Release files for firebreak 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for firebreak 0.3.0
File Size Uploaded
firebreak-0.3.0.tar.gz 256.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for firebreak 0.3.0
File Interpreter ABI Platform
firebreak-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 351.8 kB

Release files / firebreak-0.3.0.tar.gz

Download URL firebreak-0.3.0.tar.gz
Size 256.8 kB
Tags Source
SHA-256 checksum
How to use checksums
81a064805f69656fa0efa921d0d7a0d5693991b7c8e4f838c2dd5c8c76993f80
BLAKE2b-256 checksum
How to use checksums
19910fd594004e4f3375734e792271bdbad4a5f6861c3540026ee2d47eee589b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / firebreak-0.3.0-py3-none-any.whl

Download URL firebreak-0.3.0-py3-none-any.whl
Size 95.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d32deada1a5e76d5c47d4d67c0bd13a56f0126537e142cec21d8266ffe406f50
BLAKE2b-256 checksum
How to use checksums
376249590db0bc8ad12f0f521ffca31412847722778d70bec7b21487d0ac2fdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page