2017-02-10

ASUS Zenfone2が壊れたのでファームを焼き直した

普段Zenfone2を使っているのだけれど、年明け頃から、たまにアプリのアイコンがおかしくなったり、 突然再起動するようになったりと、変な動作をするようになっていた。

そして一昨日、朝起きるとまだ充電は十分残っているはずなのに起動しなくなっていた。

起動しないというのは、正確に言うと起動時のASUSロゴの後、くるくる輪っかが回ったままずっと OSが立ち上がらない状態になってしまった、ということである。

満充電にしようが、キャッシュを削除しようが、SIMやSDカードを取り外そうが、全くくるくるから 先にむことはなくなってしまった。 立ち上がらないスマホはただの文鎮だ、と昔の人が言ったとか言わないとか。

しかし端末自体は起動するのだ。 ハード的にどこか死んでしまっている可能性もあるが、 それよりもOS起動に必要な領域のどこかが壊れてしまっている可能性が高い。いやそう思ってあがきたい。

少なくとも新しい端末を購入する数万円の出費はできれば避けたかったのだ。

ということで以下の方針を立てた。結果としては2で再度使えるようになったので助かった。

  1. 工場出荷状態に戻す。

    工場出荷状態に戻して、起動すればそれでよし。

  2. 工場出荷状態で駄目なら、自分でファームを焼く。

  3. 焼いたファームでも駄目なら、仕方なく端末を買う。

同じ状態になってしまうことも今後もあるかもしれないということで、 自分でファームを焼くところまで調査して実行した結果を残す。

1. Zenfone2 をリカバリーモードで起動し工場出荷状態に戻す

調べたところ、Zenfone2にはどうやらリカバリーモードというモードがあり、ユーザデータを削除して 工場出荷状態に戻す機能を持っているとのこと。

公式サイトにも手順の記載があるが、以下にもメモしておく。

ZenFone 2 (ZE551ML) 工場出荷時へのリセット方法 - OS起動前での実施

  1. 本体の電源が切れた状態にする。

  2. 本体裏のボリュームアップキーと電源ボタンを同時に押し続ける。

    ブルッと振動したら電源ボタンのみ離す。ボリュームアップキーは押し続ける。

  3. 倒れたドロイド君のお腹がパカっとあいた画像が背景の画面が出てくるので、ボリュームアップキーで「RECOVERY MODE」を選択する

  4. 「RECOVERY MODE」が選ばれた状態で電源ボタンを押す(押したら離して良い)

  5. 画面が暗転し、再度倒れてお腹パカ状態のドロイド君の画像が出てくるので、その画面で電源ボタンとボリュームアップキーを同時に押して離す。(押し続けるのは駄目)

    失敗するとそのままの画面なので、もう一度同時に押して離す。結構失敗するので何度かトライしてみると良い。

  6. メニューが選べるような画面になる。

    ファームのバージョンによって選べるメニューが若干違うようだが、

    • reboot system now
    • apply update from ADB
    • wipe data/factory reset
    • wipe cache partition
    • reboot to bootloader
    • power down
    • view recovery logs

    といったメニューが出て来るはず。

  7. ボリュームキーで wipe data/factory resetを選択し、電源ボタンを押す。

  8. 次の画面で「No」の中に混じって「Yes – delete all user data」が選択できるので、ボリュームキーで操作して選択し、電源ボタンで決定する。

  9. ズラーッとログが出て工場出荷状態に戻される。

  10. 終了後は5の画面に戻るので、reboot system nowを選択すればZenfone2が再起動する。

若干ボタン操作が難しいが、スマホ単体でリカバリできるので、作業としては楽だと思う。

しかし僕の場合は工場出荷状態に戻しても残念ながら起動しなかったので、ファームを自分で書き込むことにした。

2. Zenfone2に公式のファームを書き込む

ここからが若干面倒。

まずはWindowsPCを準備し、Zenfone2用USBドライバをインストールし、Windows上でADBコマンドが利用できる状態にする。

「あ、OKOK、ADBコマンドね」

とすぐに分かる人は普段Androidアプリ開発や今まで他の端末にカスタムファームと呼ばれるファームを書き込んだことの ある人だと思うが、僕はAndroidアプリ開発はしたことが無いのでそこを調べるのもなかなか面倒だった。

2.1 Zenfone2用のUSBドライバをインストールする

Zenfone2はIntelのCPUが乗っている、あまり見かけない端末である。

で、インストーラ付きのUSBドライバがIntelから公開されているので、それを利用する。

Intel USB Driver for Android* Devices

上記ページの下の方にある、IntelAndroidDrvSetup1.10.0.zipをダウンロードし、解凍して中のexeを起動する。

通常のソフトと同じようにインストールすれば良い。

# 実はこのUSBドライバを探すのに一番時間がかかった。

2.2 ADBコマンドを利用できるようにする

ADB(Android Debug Bridge)コマンドをWindowsから利用できるようにするには、Android Studioを入れるのが通常の道筋だが、

別にアプリ開発をしたいわけではないので、もっとシンプルにADBコマンドだけ利用できる環境を作りたい。

で、その環境を簡単に作れるツールを海外で作ってくれている人がいるようなので、それをありがたく頂戴する。

[TOOL]Minimal ADB and Fastboot [1-6-17]

インストーラ付きで非常にわかりやすくシンプルで助かりました。

通常のソフトと同じようにインストールする。

インストール後はWindowsメニューに「Minimal ADB and Fastboot」というメニューが出るようになるので、起動すればコマンドプロンプトが立ち上がる。

2.3 Zenfone2用公式ファームをダウンロードする

ASUSがZenfone2の公式ファームを公開してくれている。

下記サイトから公式ファーム(だいたい1GBを超えるので、ダウンロードに結構時間がかかる)をダウンロードする。

ドライバー&ツール

Zenfoneのモデルによって、ファームが異なるようだが、JPの場合は

バージョン JP-52.20.40.197

などのJP-hogehogeを選べば良いようだ。

今回はバージョン JP-4.21.40.196 を選択した(197はダウングレード用のファームで、気づかずにダウンロードして書き込みに失敗した...)

2.4 Zenfone2をリカバリーモードで起動しファーム書き込みの準備をする

Zenfone2を1の手順でリカバリーモードで起動し、リカバリーモードのメニューから

wipe cache partition

を選択し、キャッシュを一度削除しておく。

その後、

apply update from ADB

を選択する。

2.4 ファームを書き込む

Zenfone2とADBコマンドが使えるようになったWindowsをUSBケーブルで接続する。

「Minimal ADB and Fastboot」を起動し、コマンドプロンプトで以下のコマンドを実行する。

Minimal ADB and Fastboot>adb devices

成功するとsideload という名前(なのか?)で接続されているZenfoneが見える。

次のコマンドでファームの書き込みを開始。

Minimal ADB and Fastboot>adb sideload [ダウンロードしたzip形式のファームへのパス]

書き込みが終わるまで結構時間がかかるので放っておく。

書き込みが終わると、Zenfone2の画面に書き込み終了的なメッセージが出るので、USBケーブルを抜いてしまって良い。

最後に、起動する前にリカバリーモードのメニューからwipe cache partitionを選択し キャッシュを削除しておくこと。 削除せずに再起動すると、僕の端末は起動ができなかった。

以外とファーム書き込みは簡単だったので、また次の端末を買ったら、Zenfone2にカスタムファームを書き込んで遊んでみたいと思う。

2017-02-10