[Fire TV Original Android Development] squigish:
My rooted fire tv 2 would no longer boot (after TWRP selected to boot normally, the amazon fire logo just stuck around for multiple hours). I tried using TWRP to wipe data, cache and dalvik, which showed an error (I don't remember the exact error message, but I think it mentioned a problem with the /cache partition). Unfortunately, it didn't occur to me that this could have damaged the recovery partition, and I rebooted to find that it could no longer even boot to TWRP. Instead it's in a bootloop with just the black-and-white amazon logo appearing for several seconds, then going away as it restarts and coming back.

I disassembled the box, and followed the instructions in the original post. I got a series of different errors, and the fire tv is still in the same bootloop.

I have tried many times since, both with and without shorting the data pin, and every time I now get the same error (the last one in the log, about Serial Protocol Mismatch).

Can anyone glean any insight from these errors? Maybe there's some sort of underlying hardware failure that caused the boot failures in the first place?

Console input and output:

:~/Downloads/sloane/amonet$ sudo ./bootrom-step.sh
[sudo] password for my-user:
You need to temporarily disable/uninstall ModemManager before this script can proceed
:~/Downloads/sloane/amonet$ sudo service ModemManager stop
:~/Downloads/sloane/amonet$ sudo ./bootrom-step.sh
[2020-07-06 14:59:02.361001] Waiting for bootrom
[2020-07-06 15:00:42.114207] Found port = /dev/ttyACM0
[2020-07-06 15:00:42.114622] Handshake
[2020-07-06 15:00:42.115113] Disable watchdog

* * * Remove the short and press Enter * * *

[2020-07-06 15:00:48.759410] Init crypto engine
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 501, in read
'device reports readiness to read but returned no data '
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main.py", line 164, in <module>
main()
File "main.py", line 86, in main
load_payload(dev, "../brom-payload/build/payload.bin")
File "/home/my-user/Downloads/sloane/amonet/modules/load_payload.py", line 114, in load_payload
init(dev)
File "/home/my-user/Downloads/sloane/amonet/modules/load_payload.py", line 16, in init
dev.write32(CRYPTO_BASE + 0x0C28, 0)
File "/home/my-user/Downloads/sloane/amonet/modules/common.py", line 145, in write32
self.check_int(self.dev.read(4), addr) # echo addr
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 509, in read
raise SerialException('read failed: {}'.format(e))
serial.serialutil.SerialException: read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
:~/Downloads/sloane/amonet$ sudo service ModemManager status
● ModemManager.service - Modem Manager
Loaded: loaded (/lib/systemd/system/ModemManager.service; enabled; vendor pre
Active: inactive (dead) since Mon 2020-07-06 14:59:00 PDT; 2min 32s ago
Process: 1207 ExecStart=/usr/sbin/ModemManager --filter-policy=strict (code=ex
Main PID: 1207 (code=exited, status=0/SUCCESS)

Jul 06 12:55:13 bionic ModemManager[1207]: <warn> (ttyACM0) could not open
Jul 06 12:55:13 bionic ModemManager[1207]: <warn> [plugin manager] task 6,
Jul 06 12:55:13 bionic ModemManager[1207]: <info> Couldn't check support f
Jul 06 13:18:05 bionic ModemManager[1207]: <info> Couldn't check support f
Jul 06 13:49:22 bionic ModemManager[1207]: <info> Couldn't check support f
Jul 06 14:54:42 bionic ModemManager[1207]: <info> Couldn't check support f
Jul 06 14:59:00 bionic systemd[1]: Stopping Modem Manager...
Jul 06 14:59:00 bionic ModemManager[1207]: <info> Caught signal, shutting
Jul 06 14:59:00 bionic ModemManager[1207]: <info> ModemManager is shut dow
Jul 06 14:59:00 bionic systemd[1]: Stopped Modem Manager.
:~/Downloads/sloane/amonet$ dmesg | less
:~/Downloads/sloane/amonet$ sudo ./bootrom-step.sh
[2020-07-06 15:02:27.239902] Waiting for bootrom
[2020-07-06 15:03:59.218954] Found port = /dev/ttyACM0
[2020-07-06 15:03:59.219454] Handshake
[2020-07-06 15:03:59.219974] Disable watchdog

* * * Remove the short and press Enter * * *

[2020-07-06 15:04:05.219902] Init crypto engine
[2020-07-06 15:04:05.237648] Disable caches
[2020-07-06 15:04:05.238095] Disable bootrom range checks
[2020-07-06 15:04:05.250190] Load payload from ../brom-payload/build/payload.bin = 0x48B0 bytes
[2020-07-06 15:04:05.251765] Send payload
[2020-07-06 15:04:05.779067] Let's rock
[2020-07-06 15:04:05.779583] Wait for the payload to come online...
[2020-07-06 15:04:05.783341] all good
[2020-07-06 15:04:05.783423] Check GPT
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 537, in write
n = os.write(self.fd, d)
OSError: [Errno 19] No such device

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "main.py", line 164, in <module>
main()
File "main.py", line 95, in main
switch_user(dev)
File "main.py", line 60, in switch_user
dev.emmc_switch(0)
File "/home/my-user/Downloads/sloane/amonet/modules/common.py", line 210, in emmc_switch
self.dev.write(p32_be(part))
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 571, in write
raise SerialException('write failed: {}'.format(e))
serial.serialutil.SerialException: write failed: [Errno 19] No such device
:~/Downloads/sloane/amonet$ sudo ./bootrom-step.sh
[2020-07-06 15:04:32.260693] Waiting for bootrom

[2020-07-06 15:05:03.615956] Found port = /dev/ttyACM0
[2020-07-06 15:05:03.655381] Handshake
[2020-07-06 15:05:03.678922] Disable watchdog
b''
b'\x00\x01'
Traceback (most recent call last):
File "main.py", line 164, in <module>
main()
File "main.py", line 83, in main
handshake(dev)
File "/home/my-user/Downloads/sloane/amonet/modules/handshake.py", line 11, in handshake
dev.write32(0x10007000, 0x22000000)
File "/home/my-user/Downloads/sloane/amonet/modules/common.py", line 150, in write32
self.check(self.dev.read(2), b'\x00\x01') # arg check
File "/home/my-user/Downloads/sloane/amonet/modules/common.py", line 87, in check
raise RuntimeError("ERROR: Serial protocol mismatch")
RuntimeError: ERROR: Serial protocol mismatch

dmesg entries:

[14577.799598] usb 1-1: new full-speed USB device number 6 using xhci_hcd
[14577.948443] usb 1-1: New USB device found, idVendor=0e8d, idProduct=0003
[14577.948445] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[14577.951906] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
[14578.502850] usbcore: registered new interface driver usbserial_generic
[14578.502860] usbserial: USB Serial support registered for generic
[14578.509624] usbcore: registered new interface driver option
[14578.509652] usbserial: USB Serial support registered for GSM modem (1-port)
[14584.624773] usb 1-1: USB disconnect, device number 6
[14588.327649] usb 1-1: new high-speed USB device number 7 using xhci_hcd
[14588.478073] usb 1-1: New USB device found, idVendor=0e8d, idProduct=2000
[14588.478075] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[14588.478076] usb 1-1: Product: MT65xx Preloader
[14588.478076] usb 1-1: Manufacturer: MediaTek
[14588.542260] cdc_acm 1-1:1.0: Zero length descriptor references
[14588.542263] cdc_acm: probe of 1-1:1.0 failed with error -22
[14588.582373] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[14590.986283] usb 1-1: USB disconnect, device number 7
[14712.914397] audit: type=1400 audit(1594072977.055:207): apparmor="DENIED" operation="capable" profile="/usr/bin/man" pid=15003 comm="man" capability=1 capname="dac_override"
[14774.817592] usb 1-1: new full-speed USB device number 8 using xhci_hcd
[14774.969835] usb 1-1: New USB device found, idVendor=0e8d, idProduct=0003
[14774.969836] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[14774.972248] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
[14782.163555] usb 1-1: USB disconnect, device number 8
[14782.163610] cdc_acm 1-1:1.1: acm_start_wb - usb_submit_urb(write bulk) failed: -19
[14785.861854] usb 1-1: new high-speed USB device number 9 using xhci_hcd
[14786.012125] usb 1-1: New USB device found, idVendor=0e8d, idProduct=2000
[14786.012126] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[14786.012126] usb 1-1: Product: MT65xx Preloader
[14786.012127] usb 1-1: Manufacturer: MediaTek
[14786.076654] cdc_acm 1-1:1.0: Zero length descriptor references
[14786.076656] cdc_acm: probe of 1-1:1.0 failed with error -22
[14786.116742] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[14788.649789] usb 1-1: USB disconnect, device number 9
[14838.978388] usb 1-1: new high-speed USB device number 10 using xhci_hcd
[14839.127691] usb 1-1: New USB device found, idVendor=0e8d, idProduct=2000
[14839.127692] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[14839.127693] usb 1-1: Product: MT65xx Preloader
[14839.127693] usb 1-1: Manufacturer: MediaTek
[14839.191298] cdc_acm 1-1:1.0: Zero length descriptor references
[14839.191306] cdc_acm: probe of 1-1:1.0 failed with error -22
[14839.231445] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[14861.342602] usb 1-1: USB disconnect, device number 10
[14998.668188] usb 1-1: new high-speed USB device number 11 using xhci_hcd
[14998.817489] usb 1-1: New USB device found, idVendor=0e8d, idProduct=2000
[14998.817492] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[14998.817493] usb 1-1: Product: MT65xx Preloader
[14998.817494] usb 1-1: Manufacturer: MediaTek
[14998.881570] cdc_acm 1-1:1.0: Zero length descriptor references
[14998.881587] cdc_acm: probe of 1-1:1.0 failed with error -22
[14998.921546] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[15001.325421] usb 1-1: USB disconnect, device number 11
[15099.793598] usb 1-1: new high-speed USB device number 12 using xhci_hcd
[15099.943056] usb 1-1: New USB device found, idVendor=0e8d, idProduct=2000
[15099.943057] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[15099.943078] usb 1-1: Product: MT65xx Preloader
[15099.943078] usb 1-1: Manufacturer: MediaTek
[15100.007267] cdc_acm 1-1:1.0: Zero length descriptor references
[15100.007271] cdc_acm: probe of 1-1:1.0 failed with error -22
[15100.047396] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[15118.349846] usb 1-1: USB disconnect, device number 12
[15157.422292] usb 1-1: new high-speed USB device number 13 using xhci_hcd
[15157.571696] usb 1-1: New USB device found, idVendor=0e8d, idProduct=2000
[15157.571697] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[15157.571698] usb 1-1: Product: MT65xx Preloader
[15157.571698] usb 1-1: Manufacturer: MediaTek
[15157.635762] cdc_acm 1-1:1.0: Zero length descriptor references
[15157.635766] cdc_acm: probe of 1-1:1.0 failed with error -22
[15157.676005] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[15185.738581] usb 1-1: USB disconnect, device number 13
[15473.690374] usb 1-1: new high-speed USB device number 14 using xhci_hcd
[15473.840212] usb 1-1: New USB device found, idVendor=0e8d, idProduct=2000
[15473.840213] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[15473.840214] usb 1-1: Product: MT65xx Preloader
[15473.840214] usb 1-1: Manufacturer: MediaTek
[15473.904769] cdc_acm 1-1:1.0: Zero length descriptor references
[15473.904771] cdc_acm: probe of 1-1:1.0 failed with error -22
[15473.944704] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[15499.346671] usb 1-1: USB disconnect, device number 14
[15512.938719] usb 1-1: new full-speed USB device number 15 using xhci_hcd
[15513.087401] usb 1-1: New USB device found, idVendor=0e8d, idProduct=0003
[15513.087406] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[15513.090942] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
[15514.556186] usb 1-1: USB disconnect, device number 15
[15552.699162] usb 1-1: new high-speed USB device number 16 using xhci_hcd
[15552.848957] usb 1-1: New USB device found, idVendor=0e8d, idProduct=2000
[15552.848958] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[15552.848958] usb 1-1: Product: MT65xx Preloader
[15552.848959] usb 1-1: Manufacturer: MediaTek
[15552.913298] cdc_acm 1-1:1.0: Zero length descriptor references
[15552.913300] cdc_acm: probe of 1-1:1.0 failed with error -22
[15552.953388] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[16010.269319] usb 1-1: USB disconnect, device number 16