ZenPad 7.0をリフレッシュ

 古いAndroidを再生する際に、端末の初期化を行うと不具合が発生したのでファームウェアを上書きした。
 わたしが誰かに上書きを勧めようとするものではなく、他の人がやってうまくいかなくても自己責任とはなるが、誰かの参考になるかもしれないので記録しておく。

背景

 タブレット売り場を見に行ったらファーウェイだらけだったので、ファーウェイをめぐる米中対立が収まるかどうか当面様子を見ようと思い、稼働が下がっているASUS ZenPad 7.0(Z370KL)を延命することにした。
 この機種は、市場投入時に稼働時間を伸ばすPower Caseと、電池・スピーカー内蔵のAudio Coverの2つを特典として付けるというお買い得な機種だった。Power CaseもAudio Coverも使わない場合は単なる板を取り付けることで一番薄くなり、スーツのポケットなどにも入れて持ち運べた。重ささえ気にしなければAudio Caseはカバー代わりともなるので、新発売時に困るアクセサリー入手の手間をなくし、マイナー機種の販促としては見本となる特典だった。その後今ほどASUSを含む各社のタブレットが衰退するとは思わなかったが、買った当時はいいなこれ、と思っていた。
 特典2品を活用し、3 wayの使い方が可能ではあるが、課題としては本体とこれらをつける爪がとてもきつく、外出先では着脱交換不可能だった。思いっきり引っ張れば取れそうなものだが、爪(自分の手とタブレット側との両方が心配)が割れてしまっては困るので、家でマイナスドライバーなどを使いながら丁寧にはがす必要があった。何度も着脱しているので緩くなったものの、今でも緊張する。
 さて、Google開発者サービスの不具合からか、ある時からAndroid Playストアが使えなくなってしまった。非公式のサイトにAPKが置いてあるものの、時間があったので初期化することにした。
 初期化はAndroid端末の設定からできるので、誰でもできる*1

初期設定で障害発生

 再起動すると、購入したときに見た「ようこそ」の画面が現れたが、数秒立って、Googleカレンダーがバックグランドで落ちた。

問題が発生したため、com.google.android.calenderを終了します。

 悪い予感がしたが、とりあえず言語を選択して無線LANに接続する。ASUSの規約に同意したあとGoogleのアカウントにサインインする流れなのだが、

接続を確認中
しばらく時間がかかります

と出て、その先に進めない。画面省エネは初期値の1分で設定されていて変更できないので、1分経つと画面が消えてしまうが、この時の設定がオートセーブ時に回線を切断する設定かどうかこの時点では確認する方法がなく、画面は真っ暗でも進んでいるのかな、いや、進んでいないのかな、と悩む状況だった。
 しかし、半日放置しても1日放置しても画面は進まない。
 初期設定の間は他の画面を開くことができないので、何も調査ができない。これまで正常動作していたSIMがさしてはあるが、まだAPNを設定していないのでまともには動いていないだろう。LANは認証までしっかりしていることだし、ハードウェアには問題ないだろう。するとやはりGoogleコンポーネントが異常終了したのが気になる。そして、リセットもできない。

セーフモード等も失敗

 ネットで調べたところ、リカバリーモードで起動する方法があるということで、試してみる。ボリューム下と電源を同時押しで起動するというものだ。

  • キャッシュの削除
  • セーフモードでの起動
  • 工場出荷時に戻す

 いくつかの手があったがカレンダーが異常終了する症状に変化なしである。何度か試したがYouTubeも終了することがあった。もちろん、自分で起動したわけではない。なぜ初期設定前にYouTubeなのだろう。

ファームウェアを入手

 さらにネットで調べたところ、ファームウェアが入手できるという。さすがASUS。ただ、古い機種だけあって最終更新がやや古いのが気になるが、古い機種のモジュールも無料提供してくれるのは好感を持てる*2
[用意するもの]

  • もちろんZenPad本体
  • SDカード ZenPad初期化前に使っていたものをそのまま使用。空き容量が1~2GB必要だが空きがあれば初期化する必要はない
  • SDカードが読めるPC ZenPad単体でもファームウェアのダウンロードはできるが今は機能しないため端末を用意 ブラウザとダウンロード機能があればOSは問わない

[作業手順]

  1. PCでASUSのダウンロードセンターにアクセス。
  2. 製品名を選択し、製品画像と機種名が現れたら、「ドライバーとツール」を選択。
  3. Driver & Tools (なぜかアルファベット)が現れたら、「BIOS & FIRMWARE」を選択。
  4. OSを選択。「Android
  5. Firmwareの欄の最新をダウンロード。Zipのまま保存。
  6. ZipをSDカードに転送 ディレクトリー直下でよい

ファームウェアZenPadで展開

 SDカードをZenPadに挿して、ファームウェアを展開する。

  1. Volume下を押しながら電源を投入。
  2. 振動したら電源を離す。
  3. Android Recoveryが現れたらVolumeキーでカーソルを動かしApply update from SD cardを選択。
  4. Install /(SDカードのパス名) ... が現れ、その後処理が終わるのを待つ。結構時間がかかる。
  5. Reboot system nowを選択し、再起動。

参考: 処理中の画面例

Install /sdcard/UL-P002-JP-13.6.2.27-user.zip ...
Finding update paceage...
Opening update package...
Verifying update package...
Installing update...
Target: asus/JP_P002/P002:0.0.1/MMB29P/13.6.2.27-20160804:user/release-keys
Patching firmware images...
script succeeded: result was [/system]

Install from SD card complete.

ファームウェア適用後

 再起動実施後は初期化前に戻った。いや、初期化前よりひどくなった。

問題が発生したためGoogle開発者サービスを終了します。

 起動直後に開発者サービスが異常終了する上、それが頻発する。ただ、ファームウェア適用前に発生していたカレンダーの異常終了は見られなくなった。
 だめもとでようこそ画面に進む。すると成功した。「接続を確認中」画面はすぐに終わった。ちなみに「しばらく時間がかかります」というメッセージは他の言語で実施してみるとしばらくというニュアンスの言葉は出てこない。日本人はせっかちだからしばらくと入れたのだろうか。
 初期設定は無事完了。この後、ソフトウェアを最新にしていく必要がある。先に書いたが、開発者サービスがないとPlayストアが使えないが、非公式サイトが開発者サービスのAPKが提供しているので、自己責任でダウンロードして導入してみた。すると、動いた。もしかしたらマルウェアかもしれない。ウィルスチェックを念入りにしておこう。

まとめ

 Androidは2018年12月現在、9まで登場。6のサポートが見送られるようになる日は近いと思うが、少しの延命であれば初期化に失敗してもすぐにあきらめる必要はなく、ファームウェア上書きは有効な手段である。ただ、ベンダーが上書きのためのモジュールを提供しているかどうかが大きな問題である。ASUSはよさそうだが、自己責任で調べてみてほしい。他のベンダーでも可能かもしれない。

*1:ただし、パスワードロックが解除できることが前提なので、ロックをかけておけば他人に初期化される懸念はない

*2:このときにシリアル番号が必要とか、ID・パスワードが必要と言われるととても萎える