clock-up-blog

junk-junction

Xperia Tablet Z Wi-Fi SGP312 の Android のバージョンを 4.2.2 から 5.1.1 に上げる

Androidその2 Advent Calendar 2016 の25日目の記事です。

Xperia Tablet Z WiFi SGP312 の Android のバージョンを 5.1.1 に上げたときのメモ。このへんの手順は備忘録残しておかないと今後も苦労しそうな気がするので記録する。

SONY Xperia Tablet Z Wi-Fiモデル SGP312 について

Xperia(TM) Tablet Z | Xperia(TM) Tablet | ソニー

f:id:kobake:20161225212658j:plain:w400
2~3年くらい使っている。ほとんど Kindle 専用で、ときどき Android アプリのデバッグに使ったりする。2013年のモデルなのでそれほど性能が良いわけでもないが、まだ動くのでとりあえず使い続けている。

でも日本のモデルだと Android の更新が 4.2.2 で止まってしまっていてさすがに古いなーと思うので、ファームをアメリカのやつに書き換えることにする。そうすると Android のバージョンは 5.1.1 に上がる。

前提

僕はときどき Android 開発をしたりするので作業マシンには Android SDK が入っている。なので adb コマンド等は既に使える状態。作業マシンとタブレットは USB ケーブルで繋ぐ。

Android バージョン等を USB 接続経由で確認する

作業マシンとタブレットを USB ケーブルで繋いだ状態にて。

> adb shell getprop ro.build.version.release
4.2.2

> adb shell getprop ro.product.model
SGP312

このように adb コマンド経由で作業マシンからタブレット情報が取得できていれば USB 接続はうまくいっている。逆にこれがうまくいかないようだと以降の作業もうまくいかない。

認識がうまくいっていない場合は Android実機デバッグ設定・トラブルシューティング - clock-up-blog あたりを参考にしてドライバ等を導入しておくこと。

ファームの入手

XperiFirm の導入

Xperia 用ファームを入手するために XperiFirm を用いる
http://forum.xda-developers.com/crossdevice-dev/sony/pc-xperifirm-xperia-firmware-downloader-t2834142 から
XperiFirm_5.0.0_(by_Igor_Eisberg).zip を入手。

解凍すると XperiFirm.exe という実行ファイルができる。
これを適当な場所(どこでも良い)に置いて実行。

XperiFirm によるファーム入手

XperiFirm 画面内にて

  • 左側ツリービューの [Tablet] - [Xperia Tablet] - [SGP312 Wi-Fi] を選択。
  • 画面右側の [1273-3867  US/CA/PR  VMo US/CA/PR  18.7.A.0.222 / R7E] を選択。
  • 右上の Available Firmware に [10.7.A.0.222 / R7E] と表示されるので、その部分をクリック。

f:id:kobake:20161225221554p:plain:w700

そうすると対象ファームのダウンロード確認ダイアログが出るので [Download] を押して先に進める。
f:id:kobake:20161225222006p:plain:w350
この後に保存先ディレクトリを聞かれるが、これはどこでも良い。今回は C:\_tmp\firms に保存することにする。

ダウンロード画面。今回のファームは 2GB 程度あったが回線に余裕があれば数分で終わる気がする(体感)。
f:id:kobake:20161225222338p:plain:w400

ファーム内容の確認

今回はファームのダウンロード先を C:\_tmp\firms とした結果、
C:\_tmp\firms\SGP312_VMo US-CA-PR_1273-3867_10.7.A.0.222_R7E というディレクトリができた。
f:id:kobake:20161225222606p:plain:w500

fwinfo.xml 内の network, swVer の値をあとで使うので控えておく。
f:id:kobake:20161225222832p:plain:w350

Flashtool の導入

ファーム書き換えのために Flashtool を用いる。

入手

http://www.flashtool.net/downloads.php から
flashtool-0.9.18.6-windows.exe (MD5 : af0c8cd70973243d3d13cea9a6046a44)
を入手。(※2016年12月25日現在では .torrent ファイルは消えており、Magnet link から BitTorrent を開くことになった)

最新版は 0.9.23.0 なのだが、今回はあえて古い 0.9.18.6 を使う。というのは
Xperia Tablet Z を Android5.0 Lollipop にするのに苦労したお話。:とあるソニー好きなエンジニアの日記:So-netブログ にて

Xperia Tablet Z を使うには必ず ver. 0.9.18.6 を使う必要があります。

と書かれていたのでそれに従うことにした。最新版については今のところ検証していない。

インストール

flashtool-0.9.18.6-windows.exe 実行によるインストールにより、デフォルトでは C:\Flashtool にファイル群が設置される。

ドライバのインストール

続けて C:\Flashtool\drivers\Flashtool-drivers.exe を起動し、ドライバのインストールを行う。
コンポーネントの選択画面で Flashmode Drivers, Fastboot Drivers, Xperia Tablet Z drivers の3項目にチェックを付けてインストールを行う。
f:id:kobake:20161225215330p:plain:w500
f:id:kobake:20161225215332p:plain:w500

途中で Cannot Complete the Device Driver Installation Wizard と言われたりしてとても気持ち悪いのだが、ここはスルーしても以後の操作には問題なかった(ように見えた)。
f:id:kobake:20161225215348p:plain:w500

Flashtool によるファーム書き込み

バンドル作成

C:\Flashtool\FlashTool64.exe を起動し、メニューの [Tool] - [Bundles] - [Create] を選択。
f:id:kobake:20161225223324p:plain:w500

やや雑な説明になるが Bundler ダイアログにて以下操作を行う。
f:id:kobake:20161225223753p:plain:w450

  • Select source … さきほど入手したファームのディレクトリのパス。今回の例であれば「C:\_tmp\firms\SGP312_VMo US-CA-PR_1273-3867_10.7.A.0.222_R7E」。
  • Device … ややわかりにくいが、入力欄をダブルクリックすると選択候補が出るので、そこから [Sony Xperia Tablet Z (SGP312)] を見つけて選択。
  • Branding … さきほどの fwinfo.xml 内の network 値
  • Version … さきほどの fwinfo.xml 内の swVer 値

folder list の全項目を選択して [->] ボタンを押すと以下のような見た目になる。
f:id:kobake:20161225224157p:plain:w450
[Create] ボタンを押してバンドル作成を進める。

以下のように「Bundle creation finished」が表示されればバンドル作成完了。バンドル作成にはだいたい10分くらいかかった気がする(体感)。
f:id:kobake:20161225224546p:plain:w600

Android タブレット側の設定

  • Android 設定画面で「提供元不明アプリのインストールを許可する」をONにしておく(詳細説明略。ググればすぐに分かる)
  • Android 設定画面で USB デバッグを ON にしておく(詳細説明略。ググればすぐに分かる)
  • タブレットは十分に充電しておく。(とはいっても 50% 程度たまっていれば大丈夫だと思う)
  • 上記を済ませた上で、タブレットの電源は切っておく。
  • タブレットに USB ケーブルが繋がっている場合は一旦外しておく。

ファーム書き込みの実行

Flashtool の左上の雷っぽいボタンを押す。
f:id:kobake:20161225225610p:plain:w300

Bootmode は Flashmode のままで OK。
f:id:kobake:20161225225528p:plain:w200

Firmware Selector ダイアログにて。Wipe 部分のチェックを付けっぱなしにしておくとファーム書き込み時に既存データが全部消えるので注意。今回は完全にクリーンにするつもりなのでチェックは残したまま [Flash] ボタンを押下し先に進める。
f:id:kobake:20161225225829p:plain:w400

数秒ほど待っていると「Wit for Flashmode」というダイアログが表示される。
f:id:kobake:20161225230006p:plain:w500

タブレットの電源を切った状態で、ボリューム下げるボタンを押しっぱなしにしたまま USB ケーブルを接続する。認識がうまくいくと上記「Wit for Flashmode」ダイアログは自動的に消え、ファーム書き込み処理が開始される。

以下のように「Flashing finished.」という表示が出れば書き込み完了。だいたい10分程度で完了した気がする(体感)。
f:id:kobake:20161225230403p:plain:w600

タブレットの起動

USB ケーブルは外しておく。
電源ボタン長押しでタブレットを起動すると新しい Android が起動するはず。
f:id:kobake:20161225230633p:plain:w600
アメリカ版ファームだけど一応日本語も選べる。好みの問題により今回は English のままで進める。

設定画面を開くと Android のバージョンが 5.1.1 になっていることが確認できる。
f:id:kobake:20161225230828p:plain:w600

おしまい

🎅っ ==🍬

今回は 4.2.2 (Jelly Bean) から 5.1.1 (Lollipop) に上げたわけですが、一応現在の最新は 7.1.1 (Nougat) です。