文鎮化した amazon fire 5th generationのリカバリ

最終更新日

Amazon Fire 5th genで、5.1.1から5.0.1でダウングレードすると、 UBOOTコードの不整合で、見事にSoftBrick(文鎮化)してしまった場合のリカバリ方法が紹介されました。

UBOOTコードがやっとこさ、マッチしてくれました
UBOOTコードがやっとこさ、マッチしてくれました

MEDIATEKのSoC-USBシリアルドライバをPythonで書いてくださっており、mmcのリードとライトコマンドが提供されています。
すげー、ありがてー、元気にHackingするなぁー ということで、早速?手元に文鎮化したAmazon Fire 5th genをリカバリしてみました。
#このウェブの昔の記事みて、ごにょったら、見事にbrickしちまったぢゃねーか!という知人のものですが、価格が価格だから「あげる」といわれて、そのまま放置してただけです。

スクリプトにpython3を使っているので、MacOS上でhomebrew経由でインストール(インストール方法は割愛)

必要なもの:

MacOS :今回オペレーションしたバージョンは、 OS X EI Capitan
python3:Homebrewからインストール
AFTV2-Tools:thanks to Zeroepoch
lk.bin:5.1.1のファームウェアから抽出

pythonの確認

$ python3 –version
Python 3.5.2

手持ちのMacにはいってるPython3のバージョンは、3.5.2でした。

ということで、

 

文鎮化しちゃったAmazon Fire 5th genをリカバリーしていきます

スクリプトで使うpythonモジュールのインストール

$ python3 -m pip install py2exe
Collecting py2exe
Downloading py2exe-0.9.2.2-py33.py34-none-any.whl (270kB)
100% |████████████████████████████████| 276kB 2.0MB/s
Installing collected packages: py2exe
Successfully installed py2exe-0.9.2.2

$ python3 -m pip install pyserial
Collecting pyserial
Downloading pyserial-3.2.1-py2.py3-none-any.whl (189kB)
100% |████████████████████████████████| 194kB 2.1MB/s
Installing collected packages: pyserial
Successfully installed pyserial-3.2.1

モジュールがインストール終わったら、

$ ./handshake.py

と打って、文鎮化したAmazon Fire 5th genをUSBでMacにつなげて電源ON。

Waiting for preloader…

とのことでしばし待つ。

Found port = /dev/cu.usbmodemFA130
Handshake complete!

数秒ほどで、ハンドシェークが完了とのメッセージがでます。
次に、ブートループの原因になっていたUBOOTコードの整合性をとるために、5.1.1のアップデードファイルから、lk.binを抽出して書き込んであげます。

$ ./write_mmc.py $((0x1460000)) lk.bin
Addr: 0x1460000
Addr: 0x1460200
:
Addr: 0x14c3800
Addr: 0x14c3a00

書き込み終わったら、USBデバイスの切り離しコマンドを入れます。

$ ./read32.py 0 1

ここまでやって、Amazon Fire 5th gen からUSBはずして、電源ON
で、無事ブートできました。
これで一件落着!

左が、文鎮から復旧したAmazon Fire 5th gen
左が文鎮から復旧したばかりのAmazon Fire 5th gen。ファームのバージョンは、5.0.1(笑)

文鎮から復活したAmazon Fire 5th genですが、ファームバージョンは、5.0.1とは出てるけど、bootloaderは、5.1.1なはずだよなぁ?
ってことで、簡単に確かめるなら、fastboot関連コマンドが生きてるか、削られてるかを確かめてみることに。

 

文鎮した時点のbootloaderは、どうなった?

% adb reboot bootloader
% fastboot devices
G0K0H4045XXXXBTN fastboot

% fastboot boot TWRP_Fire_2.8.7.0_adb.img
downloading ‘boot.img’…
OKAY [ 0.292s]
booting…
FAILED (remote: unknown command)
finished. total time: 0.294s

はい、やっぱり、fastbootは、使えませんね。
以上で、bootloaderは5.1.1だけど、OSは5.0.1という、ややこしい状態ではあるので、5.1.2へsideloadでバージョンアップして、すっきりした上で、AOSPなり、CMなりにして、利用することにします。

追伸

必要なスクリプトとUBOOTイメージをアーカイブでくれ!って言われたので、添付しておきます。ご利用は自己責任でお願いします。

MD5 (tiny_restore_amazon_fire_5th_gen_501_downgrade_bricked_by_aftv2-tools.zip) = 40839beea0a8623939320180f558866b

[sdm_download id=”189″ fancy=”0” color=”blue”]

makoti