2019年9月29日日曜日

FireHD10 Unbrick

約1週間が過ぎ、時間ができたのですこし本腰を入れてみました。

参考になるというかそのものの手順が
https://forum.xda-developers.com/hd8-hd10/orig-development/unlock-fire-hd-10-2017-suez-t3913639
に書いてあり、今回私の最悪の文鎮化状態の場合は、コメントの#2でUnbrickと書かれている場所から始める必要があります。

Unbrickで必要なものは、xdaでも書かれていますが、
・Linuxベースの環境
・Usbケーブル
・基板上でショートさせるためのジャンパ線か何か
・FireHD10の分解するためにコーキングナイフかピックとか
・FireHD10の基盤を取り外すためのトルクスドライバ(サイズはT4)
・ハックするためのいくつかのファイル
以上です。

分解手順は(https://bunkai.biz/fire-hd-10)に記載されていますが、思った以上に苦労しました。
原因はピックを使ったことだとは思いますが、補足事項としてスピーカーの部分はクッションがあるので、差し込む際にはスピーカーの穴が開いている部分は差し込まない方が良いということ。差し込むためにはかなり薄くないと差し込みにくいのと、じっさいに爪を外す際にはそれなりの力が必要なので、何種類か厚さを用意して外した方がよさそうです。実際にカバーを外すには、ふちの部分だけでなく、少し内側にも爪があるので、適度に加減しながら開けることになりました。手持ちのピック3枚をダメにするつもりで無理をして使ってみましたが、一番薄いピックは結構ガタガタになっちゃいました。

分解は完全に分解する必要はなく、バッテリーのコネクタを抜いた後は、ディスプレイケーブルを外し、フロントとリアのカメラを外してネジを外せばマザーボードがひっくり返せました。

両手しかないので、必要な個所をなんとか片手でショートさせてもう片方の手でUSBコネクタをRaspberry piに差し込む必要があるのでそれなりに練習してから、スクリプトを実行させてみました。
先週はエラーで落ちていた部分がすんなりと進み、スクリプトが一時停止しました。
第一関門突破です。
これ以降はショートさせる必要がないので外してから、スクリプトを継続させます。
全体的に書き換えられていますが、残念なことに途中でストップしました。
ストップしたら再実行すればオッケー見たいなことが書かれているし、ショートさせる必要もないっぽいので、再度実行しましたが…スクリプトはエラーで終了しました。
ショートさせるのが失敗していてもエラーで終了するだけなので、手順としては
1 マザーボード側のUSBを接続
2 ターミナルでスクリプト(sudo ./bootrom-step.sh)を実行。
3 SDカードのスロットの金属と基板上のポイントをしっかり確実にショート状態にする。
4 Raspberry piへUSBの接続
という感じがお勧めです。

2度目は最後まで書き込めたので、マザーボードを戻してハード的に一通り戻しました。
蓋まで戻すと面倒そうなのでこの状態で実際に動かしてみると…画面に電池のマークが表示されるようになりました。
一週間放置したので、おそらくひたすらリブートし続けて電池がスッカラカンになってしまったのだと思います。

一歩前進したのでしばらく充電してみます。
しばらくすると、起動音も出るようになりamazonのロゴが表示され画面の下にはHacked Fastbootとの表示が。

これで少し前進しました。

電源ボタンを押して電源を入れなおしてみると、リカバリーメニューも表示されました。
ただ、画面の下にはバッテリーが低下してるので
E:Battery level is too low to perform update or factory reset.
の表示が。さらに充電することにしました。

今回はroot化したり、カスタムするのが目的ではないので充電後試しにこのままファクトリーリセットをかけてみることにしました。
するとfireロゴが表示され、初期画面が表示されるようになりました。言語選択後、そのままwifi接続なし、アカウントなしで起動し、バージョンを確認したところ
5.6.4.0(636558520)
となっていました。
636558520は先週サイトロードしたバージョンだと思うので、問題なさそうなのでこの状態で使い始めることにしました。

気になる点としては文鎮化した原因がアップデートに起因するということ。ストレージのフラッシュメモリーがダメになりつつあるのかもしれないし、もっと根本的な部分かもしれないので、しばらくはおとなしく使って様子を見ようと思います。

やっぱり動画を見るにはこのぐらいのサイズがちょうどいいのを実感しました。

ただ、日本国内向けのFireHD10はなくなるんじゃないか的な書き込みを見かけたのでかなり残念な気がします。Showモードがついた段階で機能的にEchoとバッティングして、値段的にEchoよりFireHD10の方が有利になってしまって販売戦略的には無くしたがってるような気はします。

2019年9月22日日曜日

FireHD10 brick

さっきまでプライムビデオを見てそのまま放置していたFireHD10が、気づいたら画面にリカバリーメニューが表示されていました。

このような経験がないので嫌な予感しかしませんが、考えられるのは自動アップデートで失敗したぐらいしか考えられません。

リブートしたり、ワイプしたり、出荷時の状態にしたりと、やれることはやりつくしたのですが、何をしても画面に起動時のAmazonロゴの表示が一瞬消えたあと、再度表示されしばらく経ってからリカバリーメニューが表示される状態に陥りました。

リカバリーメニューから工場出荷状態にしてもダメとなってしまったので、正当にやれそうなことからやり始めました。

アマゾンから最新のイメージをダウンロードしてリカバリーメニューから行えるサイドロードでfireHDへ流し込んでみます。

注意点としては、FireHD10のバージョンより古いバージョンを入れると文鎮化するっぽいのですが、公式ページからダウンロードすれば問題ないはず…

C:\>adb.exe sideload update-kindle-40.6.3.6_user_636558520.bin
* daemon not running; starting now at tcp:5037
* daemon started successfully
Total xfer: 2.00x

このあと自動的に画面が暗転したのか、リカバリーメニューから再起動させたのか、覚えていませんが、その後はなにをやっても画面が点灯する事はなくなりました。

完璧な文鎮化です。

新しいFireHD10が出てきそうな雰囲気ですが、最近のFireシリーズはスペックアップがほとんど無く、マイナーアップデートばかりですが、ちょっと期待したいところ。

ですが、目の前の文鎮となったものは主にプライムビデオ再生機として使っていて、古いFireHD8を代用してみましたが、アレクサのハンズフリーが無いのと、画面の解像度が低いのと小さいのとでちょっともやもやが止まらず、もう少し何とかならないかと試すことにしました。

検索して気づくのは、日本語ソースの情報が少なく、この手のサイトはxdaぐらいしか情報がなさそうだったこと。

いやな予感しかしませんが、目の前の(ry

現行のFireHD10のGen7はカバーを開けずにusb接続だけでrootがとれる状態の様なのですが、一番の問題はリカバリーメニューも死んでいるためにSoCのバックドアを利用するしか無さそうということ。FireHD10はMTKのSoCを採用しているので、それ系の方法で攻めることができそうなのがわかりました。

このバックドアを利用する一般的な方法はバッテリーを外した状態からゴニョゴニョする様なのですが、windowsで確認したところなんとなくusb接続までは確認できました。
windows10ではそれまでドライバをどこかから入手する必要があった様ですが、現行の10では別途用意する必要はありません。
が、そこから先に進めず途方に暮れることに。

原因がwindows10のドライバなのか、文鎮なのか不明なために、気が済むまで様子を見ました。ドライバを強制的に入れたりもしてみました。
結論としてはFireHD10の第七世代機はSoCのバックドアをハード的に制限しているということが書かれている記事を見かけました。

とりあえずここまでで、電源投入からWindows10とFireHD10をUSB接続してスクリプトを実行してデバイスとしてMTKのUSB接続(MediaTek PreLoader USB VCOM Port)までは確認できました。

しかしこれ以上何とかするためにはWindowsではなくLinuxベースの環境が必要となりそうです。
幸いにもUSBがついている環境としてRaspberry piが絶賛稼働中なのでそれを利用することにしました。

最初はまったく上手く行かず、USBの接続すらできない状態だったのでかなり悩んだのですが、接続したRaspberry piが、ターミナルで開いているものではなく、別の部屋のRaspberry piだったという…。

そんなに大変なセットアップではないのですが、面倒なので移動して接続するとあっさりとハンドシェイクまで無事確認できました。

ただ、そこからが全く進まず、やはりハード的に細工しないとこれ以上は無理そうな感じでした。
時間も無くなり、これ以上はいったんあきらめることにしました。