中華スマホ MTK6577 ZOPO ZP300+ でmvno simを使う
pandawill(http://www.pandawill.com/) からデュアルコアの中華スマホ ZOPO ZP300+ を買ったので格安データ通信であるMVNOのSIMが使えるようにします。
まず結論から、下記のSIMが使えることが確認できました。
- ServersMan SIM 3G 100
- iijmio mio高速モバイル/D
まずServersMan SIM 3G 100ですが、SMSオプション付きの契約だったのでzp300+にSIMを差し、APNの設定をするだけでOKでした。
ただし、APNの設定に罠があります。
認証タイプ(Authentication Type)を「PAP or CHAP」にするとNGで「CHAP」のみとするとOKでした。
海外のスマホの制限なのか、対応している3G帯域の相性なのかよくわかりませんが、CHAPのみとしなければデータ通信が開始されません。
SIMと一緒に同梱されてくる説明書には認証タイプ「PAP or CHAP」を設定するようにと書いてありますが、ServersMan SIM 3G 100のウェブサイトのオンラインマニュアルは認証タイプ「CHAP」となっています。ここではウェブサイトの方に合わせることになります。
APN ynmbl.net
ユーザ名 user@3gd.ynmbl.net
パスワード 3gd
認証タイプ CHAP
ServersMan SIM 3G 100(SMSオプション付き)で注意すべきは上記だけです。
最後にROOTを取りたい場合は Root_with_Restore_by_Bin4ry_v18 (http://forum.xda-developers.com/showthread.php?t=1886460) を実行してrootを取得します。
{ドライバは http://www.zopomobileshop.com/en/content/9-download-zopo-mobile-latest-rom のZOPO MTK6577 DRIVERからダウンロードしてインストールしておく必要があります)
次にiijmio(ServersMan SIM 3G 100 SMSオプション無し版も多分同様)ですが、そのままSIMを入れてもアンテナが立たないためframework.jarにパッチを当てる必要があります。いわゆるアンテナピクト問題とかセルスタンバイ問題などと言われているものと同様です。
私はこちらのサイトを参考にさせて頂きました。
http://creamsnexus.blogspot.jp/2012/09/iphone-4s-ultimate-edition.html
zp300+用のドライバを http://www.zopomobileshop.com/en/content/9-download-zopo-mobile-latest-rom のZOPO MTK6577 DRIVERからダウンロードしインストールしておきます。
framework.jarにパッチを当てるためのスクリプトを公開されている方がいらっしゃいますので、ありがたく下記サイトからダウンロードします。
ブローヴちゃん http://bl.oov.ch/2012/01/android-sim.html
smaliの最新版である baksmali-1.4.1.jar とsmali-1.4.1.jar を下記からダウンロードし、パッチの展開したフォルダに入れます。
http://code.google.com/p/smali/downloads/list
※バージョンUPなどによりファイル名が変わっている場合は以降のコマンドで指定しているファイル名を適宜修正してください。
Root_with_Restore_by_Bin4ry_v18 (http://forum.xda-developers.com/showthread.php?t=1886460) をダウンロードして展開し、RunMe.batを実行、1を選択して、エンターを押していくとスマホ上でリカバリするか聞かれるのでリカバリを選択(右下のボタン)を押してrootを取得します。
あとは、パッチを展開したフォルダでコマンドプロンプトを開き、下記のコマンドを実行していきます。
事前にJavaのインストールとパスは通しておいてください。
(Javaインストールは http://www.searchman.info/java_eclipse/1010.html などを参考に)
mkdir temp adb pull /system/framework/framework.jar temp\framework.jar adb pull /system/framework/framework.odex temp\framework.odex adb pull /system/framework temp\framework java -Xmx512m -jar baksmali-1.4.1.jar --api-level 15 -c:core.jar:bouncycastle.jar:ext.jar:framework.jar:android.policy.jar:services.jar:core-junit.jar -d temp\framework -o temp\lv15 -x temp\framework.odex cscript //Nologo data-only-sim-smali-fixer.wsf temp 15 0 0 cd temp copy data-only-sim-fix.smali .\lv15\com\android\internal\telephony\gsm\GsmServiceStateTracker.smali cd ..
\lv15\com\android\internal\telephony\gsm\GsmServiceStateTracker.smali ファイルをテキストエディタで開き、6427行あたりから始まるコードが下記のようになっていることを確認してなっていなければ手動で設定します。
:pswitch_data_22 .packed-switch 0x0 :pswitch_1d ←ここに上書き :pswitch_1d ←これをコピーして :pswitch_1d ←ここに上書き :pswitch_1d ←ここに上書き :pswitch_1c :pswitch_1d ←ここに上書き :pswitch_5 :pswitch_5 :pswitch_5 :pswitch_5 :pswitch_1d ←ここに上書き :pswitch_5 :pswitch_1d ←ここに上書き :pswitch_1d ←ここに上書き :pswitch_1c .end packed-switch .end method
続けて下記コマンドを実行していきます。
java -Xmx512m -jar smali-1.4.1.jar --api-level 15 -o temp\classes.dex temp\lv15 cd temp ..\7za u -tzip framework.jar classes.dex ..\adb push framework.jar /data/local/tmp cd .. adb push busybox /data/local/tmp/ adb shell chmod 755 /data/local/tmp/busybox adb shell su mount -o remount,rw /system cd /system/framework cp framework.jar framework.jar.orig cp framework.odex framework.odex.orig busybox cp /data/local/tmp/framework.jar ./ rm framework.odex sync reboot
ここでスマホが再起動されます。
起動中のロゴ画面でループして起動しなくなりますが、気にせず起動ロゴが表示されて少しした後、下記コマンドを実行していきます。
adb shell su mount -o remount,rw /system busybox cp /data/dalvik-cache/system@framework@framework.jar@classes.dex /system/framework/framework.odex cd /system/framework busybox dd if=./framework.odex.orig of=./framework.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
ここまでコマンドを打てば正常起動してくるはずです。
もしして来なければ reboot を実行してください。
最後にiijmioのSIMをさして、APN設定を行います。
APN設定はServersMan SIM 3G 100の場合と同じく認証タイプを「PAP or CHAP」ではなく「CHAP」にする必要があります。