Xperia Z3 SOL26 でイギリスの SIM を使う

Xperia Z3 SOL26 を au 以外のモバイルオペレータで使う場合、 root 権限を取得していろいろ変更する必要があります。
特に、日本以外のモバイルオペレータで使う場合さらに一手間あります。
今回、イギリスで 現地 SIM を使うための方法を備忘録として残します。

前提条件


事前準備

必要な FTF を入手する

AndroPlusXperia FTF から docomo 版と au 版の KitKat を入手します。 Lollipop もここから入手できますが、 Flashtool の XperiFirm 機能で入手することもできます。

USB デバッグ用デバイスドライバを PC に組み込む

SOL26 で USB デバッグを有効にして PC に接続します。 ソニーモバイルの開発者用サイト から Z3 用デバイスドライバ をダウンロードし、インストールします。

SIM ロック解除コードを入手する

sim-unlock.net などで解除コードを購入します。
なお、解除コードが発行されるまでにオーダーから1週間前後かかることに注意します。

sim-unlock


SOL26 の OS イメージの入れ替え

ここから実際に SOL26 に変更を加えていきます。

SO-01G の KitKat のイメージを書き込む

SIM ロック解除コードを入力するため、 23.0.B.1.38 などの SO-01G の kitKat を書き込みます。

SIM ロックを解除する

事前に購入した NCK コードを入力します。

SOL26 sim-unlock

root 権限を取得する

キューブ実験室の Xperia各機種ワンクリックroot取得(Z/Z1/Z2/Z3) の rootkitXperia_20150926.zip を展開し、 USB デバッグを有効にした SOL26 を PC につないで install.bat を実行します。
何度試してもうまく行かないときは SOL26 23.0.C.0.350のイメージで試します。

SOL26 rootkit SOL26 rootkit

カスタムリカバリをインストールする

続いて XZDualRecovery の Z3-lockeddualrecovery2.8.26-RELEASE.combined.zip を展開し、 install.bat を実行します。
このとき、root 権限を要求されますので、Xperia 側で必ず許可をします。

SOL26 TWRP SOL26 TWRP SOL26 TWRP SOL26 TWRP

PRFCreator で Lollipop prerooted イメージを作成する

PRFCreator v1.3 を使用して SOL26_23.1.G.2.155_1288-3749_R17C.ftf と SuperSUXZDualRecovery から prerooted イメージを作成します。
同様に SO-01G_23.1.B.1.197_1290-5930_R10C.ftf の prerooted イメージも 作成します。 このとき、SO-01G 用 prerooted イメージの作成では PRFCreator の右側のチェックボックスの Modem のみチェックしないでおき ます。

できあがった2つのイメージを SOL26 の内蔵ストレージか micro SD カードに転送します。

SOL26 PRFCreater SOL26 PRFCreater

SOL26 の prerooted イメージをインストールして Lollipop にアップグレードする

再起動してソニーロゴ表示中に音量の下ボタンでリカバリーモードに入り、 SOL26 の prerooted イメージを選択してインストールします。
このとき、docomo の 情報が残らないように必ず system と data を wipe します。
リブートして起動したら、USB デバッグを有効にして PC に接続します。 そして、シェルを起動して root になったら、 Felica 関連ファイルをユーザ領域にコピーしておきます。

E:\> adb shell
shell@SOL26 $ su
# cp -r /system/etc/kddi /storage/sdcard1
# cp -r /system/etc/felica /storage/sdcard1

SO-01G の prerooted イメージをインストールする

再起動してソニーロゴ表示中に音量の下ボタンでリカバリーモードに入り、 今度は SO-01G の prerooted イメージを選択してインストールします。
インストール後に au の 情報が残らないように、 インストールする前には必ず system と data を wipe します。


各種機能の調整

Felicaの移植

リブートして起動したら、USB デバッグを有効にしてPCに接続します。 そして、シェルを起動して root になったら、 今度は /system を RW でマウントし、 Felica 関連ファイルを /system/etc にコピーします。

E:\> adb shell
shell@SO-01G $ su
# mount -o rw,remount /system
# cp -pr /system/etc/felica /system/etc/felica.docomo
# cp -r /storage/sdcard1/kddi /system/etc
# cp -r /storage/sdcard1/felica /system/etc
# chmod 755 /system/etc/kddi
# chmod 755 /system/etc/kddi/nfc
# chmod 444 /system/etc/kddi/nfc/*
# chmod 755 /system/etc/felica
# chmod 444 /system/etc/felica/*

Assisted GPS を有効にする

海外で使うときにシャッター音を消す

テザリング

docomo のイメージを使いますので、 このままではイギリスの SIM では当然テザリング不可です。 テザリングできるように settings.db を設定します。

E:\> adb shell
shell@SO-01G $ settings put global tether_dun_required 0

HANPEN-BLOGの Xperia/Galaxy/Optimusの非root MVNOテザリング有効化ツール を使う方法もあります。

ただし、これだけではテザリングできないようです。 後述の APN の設定を合わせて行うことでテザリングできるようになります。


APN情報を変更する

設定画面のアクセスポイントの設定で EE か BT Mobile のどちらかを選んで APN を設定します。
このとき、APN タイプはひとまず設定せずに保存します。 そのあと、今度は編集で APN タイプを設定して保存を試みます。 エラーで保存はできませんがこれでテザリングができるようになるようです。

Operator name numeric mcc mnc apn user password apn type
EE EE Internet 23430 234 30 everywhere eesecure secure default,supl,dun
BT Mobile BT Mobile Internet 23430 234 30 btmobile.bt.com bt bt default,supl,dun

一旦再起動します。

LTEをつかむ

APNにEEを設定したので無事EEのLTEでつながり、 EEのTOP UP画面にアクセスできました。
(ステータスバーが4G表示になっているのはauのOSイメージを使用し たときの画面をコピーしたからです。 docomoのOSイメージではLTE表示となります。)
SOL26 EE

APNにBT Mobileを設定して再起動してみたところ、同じようにLTEをつかみました。


補足

当初は au の OS イメージのまま運用しようと思い、 以下の手順を用いていました。 しかし、イギリスのSIMでは通話機能に不具合が出ることがわかり、 docomo の OS イメージで運用する方針に変更しています。
通話機能を使わないのであれば au の OS イメージでもいいかもしれません。

au の OS イメージで運用する場合

通常、AndroidのAPN設定は設定画面にて行いますが、 auの端末はAPN設定画面が出ないようになっています。 せっかくSIMロックを解除してもこのままではAPNが設定できず、 LTEでネットワークに接続できません。 コマンドラインから無理やりAPN設定画面を出そうと思ってもエラーとなっ て出せないという困った仕様です。

shell@SOL26 $ am start com.android.settings/.ApnEditor

auのMVNO SIMならCPA接続で設定を行うことができますが、 イギリスの SIM では当然それもできません。 よって、 APN情報を格納したtelephony.dbファイルを直接編集してAPNを設定します。

telephony.dbのコピー

telephony.dbのオリジナルファイルをバックアップしたあと、 ユーザ領域にコピーしてPCにコピーします。

E:\> adb shell
shell@SOL26 $ su
# cd /data/data/com.android.providers.telephony/databases 
# cp -p telephony.db telephony.db.orig
# cp telephony.db /storage/sdcard1

telephony.dbの編集

EEかBT Mobileのどちらかを選んで DB Browser for SQLite で編集します。

Operator name numeric mcc mnc apn user password current protocol profile_type
EE LTE NET 23430 234 30 everywhere eesecure secure 1 IP apn
BT Mobile LTE NET 23430 234 30 btmobile.bt.com bt bt 1 IP apn

編集したあとは SOL26 に書き戻します。

E:\> adb push telephony.db /storage/sdcard1/telephony.db.new
E:\> adb shell
shell@SOL26 $ su
# cd /data/data/com.android.providers.telephony/databases
# cp /storage/sdcard1/telephony.db.new .
# chown radio:radio telephony.db.new
# chmod 660 telephony.db.new
# cp -p telephony.db.new telephony.db

一旦再起動するとLTEをつかみます。


参考


Xperia