Xperia ray(ST18i)のroot奪取

Xperia ray(ST18i)のrootを取得して、中国語風の日本語フォント(中華フォント)を見慣れた日本語フォントに置き換えた記録です。

先日購入したXperia ray(ST18i)は、オリジナルのままでも日本語表示に対応しています。そのためロケーションを日本に設定してアクセスポイントを設定するだけで普通に使えます。

ただちょっと気になるのが日本語のフォントです。文字化けとかは無く日本語を表示するのですが、漢字の「今」や「空」の字形が見慣れた日本語のフォントとは違ってなんとなく中国語風(中華フォント)です。明らかな中国語のように省略されたような漢字では無いので、困るというほどではありませんが、やはり何ともしっくりきません。

そこで日本語フォントを見なれた字形のフォントに置き換えることにしました。フォントはシステムファイルで通常は変更できないので、rootを取得してフォントを置換しました。

root取得にはセキュリティホールが必要

ソフトウエアにはバグが付きもので、バグには危険なセキュリティホールが潜んでいることがあります。そのため発売後に発見されたバグは、ファームウエアの更新によってふさがれていきます。

起動する時の設定でrootを取得できる機種もあるようですが、今回はセキュリティホールを突いてrootを取得する方法を使います。ただし今回使いたいセキュリティホールはビルド番号4.0.2.A.42までにしかなく、それ以降のファームいエアではセキュリティホールが塞がれています。よってビルド番号4.0.2.A.0.6が導入されている私のXperia rayでは、一手間かけないとrootを取得できません。

ファームウエアのダウングレード

最新のファームウエアではrootを取得できないので、ファームウエアを古いバージョンにダウングレードします。

ファームウエアのダウングレードには、wotanserver.comを使用します。この春までははファームウエアのダウングレードは無料でしたが、最近有料になりました。有料と言っても1.99ユーロと安価です。

  1. 端末の種類を選びます。
  2. 「SONY ERICSSON XPERIA RAY FIRMWARE FLASHING」の代金をPayPalで支払います。
  3. USB Flash DriverとWotanClient 3をダウンロードしてパソコンにインストールします。
  4. WotanClientを起動して、説明に従ってボリュームを下げるボタンを押しながら電源を切ったXperia rayを接続します。
  5. Enable advanced settingをチェックします。
  6. Firmwareから4.0.2.A.42と、CDAから適当な国を選びます。香港で購入したXperai rayなのでHong Kongを私は選びました。
  7. 後はNextボタンをクリックして先に進みます。
  8. ファームウエアのダウングレートが完了するとXperia rayが再起動されます。この時ロゴが表示されたまま固まったようになりますが、再起動に時間がかかるので慌てずに気長に待ちます。
  9. ビルド番号が4.0.2.A.42になっていることを確認します。

Android SDKをインストール

rootの取得には、Android SDKに含まれるプログラムが必要です。そこでAndoroid DevelopersのページからAndroid SDK(installer_r18-windows.exe)をダウンロードしてインストールします。

電源が入った状態のXperia rayを接続して、コマンドプロンプトからadb devicesコマンドを実行します。これでXperia rayがリストに表示されればOKです。

C:Program FilesAndroidandroid-sdkplatform-tools>adb devices
List of devices attached
434235313156534E5352    device

初めて電源が入った状態のXperia rayをパソコンにつなぐとSony PC Companionをインストールするか聞かれます。インストールすると、より最新のファームウエアが利用できると言われますが無視します。

rootの取得

rootの取得には、XDA developersにある[04/Jan][ROOTING/UNROOTING] Xperia 2011 Easy Rooting Toolkit [v4.0](zergRush Exploit)を使います。

  1. Download LinksからDooMLoRD_v4_ROOT-zergRush-busybox-su.zipをダウンロードします。
  2. DooMLoRD_v4_ROOT-zergRush-busybox-su.zipを展開してrunme.batを起動します。
  3. Before u beginに書かれていることを確認・実行して先に進みます。

アプリ一覧にsuperuserというアプリが入っていれば、rootの取得成功です。さらにadb shellコマンドからsuでプロンプトが「$」から「#」になることを確認できればrootを取得できたことが確実です。

C:Program FilesAndroidandroid-sdkplatform-tools>adb shell
$ su
su
# exit
exit
$ exit
exit

ファームウエアのアップデート

rootを取得後はセキュリティーホールが不要ですので、安全のためにアップデートしておきます。

具体的には、設定の端末情報→ソフトウエア更新を選ぶと4.0.2.A.0.62が利用できると表示されるので、指示に従ってファームウエアをアップデートします。

日本語フォントの置換

日本語フォントにはいくつか種類があるようですが、最も標準的な「モトヤマルベリ」に置換しました。「ゆかりんフォント」というフォントも一部ユーザには人気のようです。

  1. android / platform_frameworks_baseからモトヤマルベリ(MTLmr3m.ttf)をダウンロードします。
  2. ダウンロードしたMTLmr3m.ttfをDroidSansJapanese.ttfにリネームします。
  3. adbコマンドでフォントファイルを書き込めるように準備します。
    C:Program FilesAndroidandroid-sdkplatform-tools>adb shell
    $ su
    # mount
    /dev/block/mtdblock0 /system yaffs2 ro,relatime 0 0
    # mount -o remount,rw /dev/block/mtdblock0 /system
    # mount
    /dev/block/mtdblock0 /system yaffs2 rw,relatime 0 0
    # chmod 777 /system/fonts
    # exit
    $ exit
  4. ファイルを書き込めるようになったら、リネームしておいたフォントを書き込みます。
    C:Program FilesAndroidandroid-sdkplatform-tools>adb push DroidSansJapanese.ttf /system/fonts
    2592 KB/s (2871020 bytes in 1.081s)
  5. (オプション)ディレクトリーのパーミッションを元に戻し、ファイルのパーミッションなどを他のフォントと合わせます。
    C:Program FilesAndroidandroid-sdkplatform-tools>adb shell
    $ su
    # chmod 755 /system/fonts
    # chown root /system/fonts/DroidSansJapanese.ttf
    # chgrp 0 /system/fonts/DroidSansJapanese.ttf
    # chmod 644 /system/fonts/DroidSansJapanese.ttf
    # ls -l /system/fonts
    ls -l /system/fonts
    -rw-r--r-- root     root      2871020 2012-03-31 15:34 DroidSansJapanese.ttf
    # exit
    $ exit
  6. 最後にXperia rayを再起動させます。再起動すると、インストールした日本語フォントで表示されるようになります。

置換しても日本語のフォントがおかしい時には、フォントファイルのファイル名が間違っていないかスペルを確認して下さい。

Amazon限定の上限500MBプラン、こんなMVNOサービスを待っていた

スマートフォンは便利ですが、パケット通信費定額オプションが必須で月々の維持費がかなりかかります。そこで維持費を安くするためにMVNOの回線を使う・使いたいユーザーが増え、MVNOサービスが増えてきた気がします。

通信に制限を付けることで割安に

MVNOの回線が安いのは、通信に色々な制限を付けるからです。この制限には、主に次の三種類あります。

  • 回線の通信速度を制限する。
  • 使用できる時間帯を制限する。
  • 通信量の上限を制限する。

この内スマートフォンと最も相性がいい制限、言い換えると制限されている気がしない制限は、「通信量の上限を制限する」プランです。このプランであれば通信量が上限に達するまでは、回線の最高速度で24時間いつでもネットに接続できます。そのため普段は制限があることに気が付きません。

通信量は月平均300から400MB

私は、朝夕やお昼にTwitterでツイートしたり・読んだり、Gmailでメールの読み書き、Google ReaderでブログやWebマガジンを読むのが主で、たまに地図を参照したり電車の乗り換え案内を調べたりする程度のライトユーザです。アプリをインストールしたり週末にガシガシ使うと一日で60MB位の通信量があることもありますが、一月の通信量はだいたい300MBから400MB位でした。

通信量制限プランは1GBで3000円が相場

これまでの通信量を制限するプランは、各社だいたい横並びで上限1GBで月額約3000円でした。現在IIJmioの「高速モバイル/D・ファミリーシェア1GBプラン」を使っていますが、一月に1GB以上使ったことが無いので全く制限があることを気にせず使えています。逆に言うと最大1GBに対して実際の使用量が半分以下なので、通信量の上限をもっと抑える代わりにさらに安いプランがあれば乗り換えたくらいです。

最大が300MB以下であれば、IIJmioの「高速モバイル/D」のままで節約が可能です。

IIJmioの「高速モバイル/D」には、「ファミリーシェア1GBプラン」の他に「ミニマムスタート128プラン」というのもあります。このプランは、基本は通信速度が128kbpsに制限されていますが、100MB分のクーポンを追加購入することで通信量の上限までLTEを含めた最高速度で使用できるプランです。

このプランを使うと、通信量が300MB以下であれば「ミニマムスタート128プラン」の基本使用料にクーポン300MB分を合わせても約2500円ですみ、「ファミリーシェア1GBプラン」よりもお得です。

しかし私は400MBは越えることはまずないのですが300MBはほぼ確実に超えるので、クーポンを追加購入する煩わしさを嫌って「ファミリーシェア1GBプラン」です。

Amazon限定プランは500MBで1980円

ここにちょうど欲しかった通信量の上限をこれまでの1GBから500MBに下げる代わりに料金も抑えたサービスをAmazonが始めました。正確にはMVNOの老舗b-mobile(日本通信)のAmazon限定プランです。

このプランは、一月の通信量が上限500MBに制限される代わりに通信費が1980円と安く設定されています。通信量の上限まではLTEを含め最高速度で使用出来るのはIIJmioの「高速モバイル/D」と同じですが、上限を超えると新しくクーポンを購入しない限り通信が出来なくなってしまいます。またクーポンの単位が500MB(1980円)となっているので、基本通信量の500MBを越えると「ファミリーシェア1GBプラン」よりも割高になってしまいます。

通信速度に不安が残るが気軽に試せる

もう一つAmazon限定プランで気になるのは、b-mobile(日本通信)の回線であることです。b-mobileはMVNOの老舗ですが、以前回線速度を比較した時はIIJmioの「高速モバイル/D」に比べて明らかに遅かったので、実際の通信速度に不安があります。

ただし嬉しいことにAmazon限定プランは長期契約の縛りがありません。そのため初期費用と一月分の通信費の合計約5000円で、通信速度を含めた使い心地を気軽に試してみることが可能です。

前回IIJmioの「高速モバイル/D」と通信速度を比較した時から時間が経っているので、今は通信速度が改善していることを期待して注文しました。