文鎮化した amazon fire 5th generationのリカバリ
Amazon Fire 5th genで、5.1.1から5.0.1でダウングレードすると、 UBOOTコードの不整合で、見事にSoftBrick(文鎮化)してしまった場合のリカバリ方法が紹介されました。
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ですが、ファームバージョンは、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”]