データー通信 SIM on ZOPO ZP300+
6 日に届いた ZOPO ZP300+ Field Plus ですが, 先日書いたとおり, 神行者 i10 搭載 LCD の発色が少々悪い (青が強い。) のと「殆ど同じスペックの WXGA (1280x720) 機が存在するなら そちらを使ってみたい」という理由で, SNS 向け職場用テザリング要員として使っている i10 の後継として入手したものです。 元々 i10 を買う前の機種選定段階で既に その思い (高解像度志向) はあったのですが, i10 以上に情報が少なかったため安全策で当時はスルーしたのでした。 その後も何だかんだいいながら入手タイミングを計っていたものの, なかなか安く出品されているものに巡り会えず, 結果として このタイミングとなっています。 (笑)
「i10 の後継」というからには当然ながらデーター専用 SIM の適用が前提となります。 そして, 使用する SIM も b-mobile の「スマート SIM 980 Turbo」に決定しています。 というわけで, 届いた 6 日にも試してみたかったのですが, 平日だったのと初期設定等に思いの外手こずったせいで, この週末まで作業が お預けとなったのでした…。 いえ, 一番時間を要したのは, 2D アクセラレーター確認用に使っている「Kanon」のダウンロードですけれど。 400MB とないアプリなのに, なぜか時間を要してしまいました。 …おっと, 閑話休題。 (笑)
i10 の記事でも書いたとおり, MTK657x 機は中華スマートフォンとしては良く出回っているものの, 中華タブレットに比べるとマイナーで, 情報の かなり少ないのが実情です。 その中でも比較的情報の多かった i10 (OEM 元のオリジナル機種である Newman N1 を含む。) でさえ,ドイツ語やロシア語サイトのお世話になる必要があったわけですが, ZP300+ は さらに情報が少なかったりします。 救いは, ZOPO 製品の Web 販売を行っている ZOPO Mobile Shop のサイトへ行くと, 比較的まとめて情報を得られることでしょうか? 幸いにも英語圏向けのサイトですし, 環境さえ合えば Web の海を渡り歩かなくてもツール共々入手が可能です…「環境さえ合えば」。 (笑)
私はといえば, 「同じ MTK6577 機である i10 用に各種ツールを入手済みだから, そんなに苦労はしないだろう」と, 状況を把握しつつも楽観視していました。 MTK6577 用のドライバーが導入済みの上, 「CPU が同じならツールやドライバーを そのまま使えるケースが殆ど」という経験則もありましたし…。 が, そこには種々の罠と壁が立ちはだかっていたのでした。 ええ, Web の そこかしこで登っていたネタ一通りが…。 これまで同様顛末の形で書くのも一興なのですが, それだと解りづらくなってしまいますので, 引っ掛かったネタだけ先に書いておきます。 (笑) >順不同
- 最大最悪…といいますか一番想定外だったのが, 「SP Flash Tool での ROM 焼きを行えなかった」ことです。 i10 で使用したドライバーだろうが, Web での ROM 焼きの報告どおり ZP300+ 用のドライバーを入手して使用しようがダメ。 手元の PC 8 台が全滅で, どれも「USB ケーブルが存在しない」のエラーとなったのでした。 同様の報告多数なところを見ると, i10 辺りと異なり ZP300+ は相当相性問題が激しいようです。 ともあれ, せっかく CWM を入手したのに適用できず…。 (^^;) 必須のツールでなかったのが救いですね。
- IMEI 情報消失。 結果論からすると Slot 2 の情報しか表示されないのは仕様なのかもしれませんが, 書き込みを行うまで全く認識しなかったところを見ると, 消失していたのは確かなようです。 ZP300 と異なりツールを使えない (実際使えなかった。) ので, エンジニア用メンテナンス画面で AT コマンドを叩いて直接 IMEI を書き込みました。 ちなみに, カスタム ROM 化…といいますか, ROM 焼き (OS 本体。) を行うと IMEI 情報が消失するらしいです。
- W-CDMA 周波数帯の設定。 バンド IX 等が無効なのは良いとして, 初期値は ALL 設定だったのですが, 結果的には, 商品ページで対応周波数帯として紹介されている 800/2100 (バンド I・ バンド XIX。) のみ有効とする必要がありました。 メンテナンス画面を使用して変更。
- APN 設定での認証タイプ未設定。 b-mobile は「PAP or CHAP」なのですが, Web 上には「PAP のみとする必要あり」という情報が散見されます。 が, それでもダメで, 結果論としては「Not set」…つまり未設定にする必要がありました。 一度何かを指定するとアウト (二度と未設定に出来ない。) なので, その場合は当該 APN 設定を削除して, 登録し直して下さい。 「None」指定とは別物なので注意。
- regCodeToServiceState(I)I の変更箇所。 SAMSUNG GALAXY Note SC-05D や i10 と同じ 2/3/12/13 の変更のみで良いかと思ったのですが, それだと ちょくちょく認識に失敗してしまいます。 Web の情報に従って 0/2/3/5/10/12/13 の全てを 1 と同じ返却値にしましょう。
- 引っ掛かったわけではありませんが, ちゃんと 3G の有効化をしておきましょう。 あと, GSM は使わないわけですから, 「W-CDMA only」を指定しておいたほうが良いかもしれません。
上記で鍵となりそうなのは 2~4 番目の項目です。 私の場合は特に 3 番目が重要だったわけですが, この辺りは「当該ユーザーが どのような状態のブツを入手したか」で変わってくると思います。 何しろ, i10 辺りと比べて海外 SHOP から入手するケースが遙かに多いでしょうから。 私も「香港の業者がシンガポールから発送」したブツ (中華設定なるも一応英語圏向け。) でしたし…。 とにもかくにも, i10 以上に「日本? 何だ,それ? 食えるのか?」な機種ですから, その大前提をしっかり認識した上で手を出す必要があります。 (^^;)
今回 ZP300+ を弄るのに使ったツール等は以下のとおりです:
- ZOPO ZP300+: 本体。 結果として, (データー通信専用 SIM を使うには) 神行者 i10 より随分ハードルの高い機種でした。 良い機種ではありますが, 「笑ってゴミ箱」が可能な方以外は手を出さないことを お勧めします。 (笑)
- 作業を行うための PC: デバッグモードでの接続さえ行うことが可能なら良かったので, 東芝 dynabook Qosmio T851/D8CR を そのまま使っています。 i10 を弄った際のまま使えたことから, 今回はドライバーの導入等を何も行っていません。 (^^;)
- root 化のツール: 私は使い慣れている Superuser を使用しましたが, バッチを実行するだけで済みますので, Web に情報のある Root_with_Restore_by_Bin4ry_v18.7z を使うのが楽かもしれません。 当該バッチを実行して導入されるのは SuperSU です。 ともあれ, 今回は CWM を使用できなかったので root 化は必須です。
- USB ドライバー: i10 を弄った際に導入したものが そのまま使えたことから, 今回入手していません。 ZOPO Mobile Shop 辺りで入手可能なドライバーがダメだった場合は, ロシア語サイトのお世話になる必要があるかもしれません。 (^^;) 必要になるのはコンポジット用のドライバーですので, 導入してデバッグモードで接続を行えるようにしておいて下さい。
- Android JDK: adb.exe と dll が含まれているものなら何でも良いわけですが, これが基本ということで…。
- smali / baksmali: Android dex のコンパイラーと逆コンパイラーです。 framework.odex を改変するのに必要となります。 GALAXY Note を弄る際に入手した 1.4.1 を使用。
- Java: smali, baksmali が Java スクリプトなので, 何らかの Java 実行環境が必要となります。 x64 環境なら x64 用が必要となりますので注意。 前もってインストールしておいて下さい。
- ZIP 書庫を操作可能なアーカイバー: 元から入手済みのコンソール版 7-Zip 9.2 を使用。
- busybox: 署名を書き込むためのツールです。 GALAXY Note を弄る際に使用したものを使用。
やることは i10 の時と同じなのですが, 今回は CWM を使えないのでバッチではなく手動での作業となります。 とはいうものの順番に進めるだけなので難しいことは何もありません。 適宜 su を実行して「/system」と「/data」の読み書きマウントが挟まるだけです。 途中半文鎮化するわけですが, adb での作業は行えますのでご安心を…。 オリジナルの framework.jar と framework.odex さえ前もってバックアップしておけば, 後は何とでもなります。 (ほかを壊しさえしなければ, その 2 つを元に戻せば半文鎮化からの復旧が可能。) 手順については「GALAXY Note のアンテナピクト問題 (再改変)...」や「データー通信 SIM on 神行者 i10...」の記事を参考にして下さい。
先に書いたとおり, 今回は GALAXY Note や i10 と変更箇所が異なりますので, 該当部分を示しておきます。 要点は, 例の 2, 3, 12, 13 だけでなく, 0, 5, 10 についても変更を行っていることです。 薄い青色が純粋に追加したコードで, 省略してある部分もコピーしているのは以前と同様:
6447:.method private regCodeToServiceStateForCS(I)I
6448: .registers 5
6449: .parameter "code"
6450:
...
6500:
6501: :pswitch_data_22
6502: .packed-switch 0x0
6503: :pswitch_1d
6504: :pswitch_1d # 1 is "in service"
6505: :pswitch_1d # 2 is "searching"
6506: :pswitch_1d # 3 is "registration denied"
6507: :pswitch_1c # 4 is "unknown" no valid in current baseband
6508: :pswitch_1d # 5 is "in service, roam"
6509: :pswitch_5
6510: :pswitch_5
6511: :pswitch_5
6512: :pswitch_5
6513: :pswitch_1d # same as 0, but indicates that
emergency call is possible.
6514: :pswitch_5
6515: :pswitch_1d # same as 2, but indicates that
emergency call is possible.
6516: :pswitch_1d # same as 3, but indicates that
emergency call is possible.
6517: :pswitch_1c # same as 4, but indicates that
emergency call is possible.
6518: .end packed-switch
6519:.end method
6520:
見てのとおり 0, 5, 10 でも pswitch_1d を指定していて, もう何でもかんでも通している気がしてきます。 (^^;) それはともかく, 今回も CS コール用の regCodeToServiceStateForCS(I)I を作成していますので, regCodeToServiceState(I)I を呼び出している handlePollStateResult メソッド内の 2 カ所のうち, CS 側のほうのみ regCodeToServiceStateForCS(I)I を呼び出すように変更します:
10518:.method protected handlePollStateResult(ILandroid/os/AsyncResult;)V
10519: .registers 19
10520: .parameter "what"
10521: .parameter "ar"
10522:
...
10997: move-object/from16 v0, p0
10998:
10999: invoke-direct {v0, v9}, Lcom/android/internal/
telephony/gsm/GsmServiceStateTracker;
->regCodeToServiceStateForCS(I)I
11000:
11001: move-result v13
11002:
11003: invoke-virtual {v12, v13}, Landroid/telephony/ServiceState;->setState(I)V
11004:
変更自体は単純なのですが, 先に書いたとおり今回はバッチではなく手動での作業ということで, とっても面倒な点だけが問題です。 ええ, 打ち間違いによる半文鎮化が…。 (一度やらかしました。 ^^;) ともあれ, 本来なら この変更だけで b-mobile SIM が使えるはずなのですが, 今回は これだけではダメでした。 SHOP によって手入れの程が様々なので, 運が良ければ この時点で大丈夫かもしれませんが, 私の場合は次の操作が必要でした。
まず行ったのが, ZOPO Mobile Shop のフォーラムで話題に登っていた「IMEI 情報消失」の対処です。 ZP300 と異なり ZP300+ では件のスレッドでリンクの張られているツールは使用できません (MTK6575 専用なのです。) ので, 別のスレッドで説明のある「エンジニア用メンテナンス画面を使用しての IMEI 情報直接書き換え」を行う必要があります。 一歩間違えると完全文鎮化どころではない「ZP300+ の息の根を完璧に止める」結果を招きますので, IMEI の書き換えは「ほかを全てやってもダメだった」際の最後の手段にとっておいて下さい。 やっていることは単純で, AT コマンドを使用して各スロットに IMEI 情報を書き込んでいるだけです。
この「IMEI 情報の消失」は, 純正 ROM なら大丈夫なのですが, カスタム ROM 等何らかの ROM (OS 部分。) を書き込むと発生するようです。 結果論ですが, データー通信は行えなくとも通話を行えていたことから, 手持ちの ZP300+ で これを行う必要はなかったのかもしれません。 なお, この操作を行っても, 設定画面その他での IMEI 情報表示はスロット 2 についてしか表示されないようです。 あ, メンテナンス画面の表示方法については, ZOPO Mobile Shop のフォーラムを参照して下さい。 エンジニア用だけあって, この画面自体危険認定なので…。 GALAXY Note 等 GALAXY スマートフォンでの例の画面と同じです。 もちろんコールする番号は異なりますけれど…。
次に行ったのが「使用 W-CDMA 周波数帯の設定」です。 例えば GALAXY Note では LTE や W-CDMA の周波数帯の設定を行えますが, ZP300+ でも同じように設定を行えるようになっています。 ただ大きく異なる点があって, GALAXY では「ALL」を指定しておけば大丈夫なのですが, ZP300+ では「当該 SIM が使用する周波数帯を明示的に指定」する必要があるのでした。 正規の販売先であれば「ALL」相当の全指定でも大丈夫なのかもしれませんし, 実際手元の ZP300+ は最初そのような設定となっていたのですが, 日本国内での使用は想定されていませんので, 残念ながら それでは SIM を認識しても APN のサーチが行えないのでした。 (電波を拾えない。)
対処法ですが, ZP300+ の商品ページを見ると 3G の対応バンドとして 800/2100 と書かれています。 そう。 要は その 2 つのみを指定すれば良いのでした。 設定に使用するのは上述のメンテナンス画面で, 実際には次のような指定を行うことになります。 これ以外の指定では認識してくれません:
b-mobile 以外でも NTT の FOMA 回線を使用しているものなら多分これで大丈夫だと思います。 WCDMA-IMT-2000 を指定しているとソフトバンクのネットワークも認識しますが, さすがにソフトバンクの SIM を使うのは無理でしょう。 (^^;)
最後に行ったのが APN の登録です。 いえ, これは必ず行うことになるわけですが, その設定方法に ちょっとした罠が仕掛けられていたのです。 b-mobile では APN の認証タイプとして「PAP or CHAP」を指定することになりますが, ZP300+ 方面の情報を漁ると「PAP のみを指定する必要がある」との記述が散見されますので, そのように設定してみました。 結果は…2 割しか接続できない不安定な結果しか得られませんでした。 (^^;) もう, 両方指定しようが PAP だけにしようが CHAP だけにしようが…, もちろん None を指定してもダメでした。 一時は途方に暮れかけたのですが…:
「指定してダメなら何も指定しなければ良いじゃないっ!!」というわけで, mopera 辺りと同様の「Not set」状態のままにしたところ, 普通に接続が可能となりました。 一度でも何かを指定すると二度とこの状態に戻りませんので, その際には当該 APN の登録を削除して, 再度登録し直して下さい。 あと, 「Not set」は「None」とは別物です, 念のため。
…と, これだけの作業を行ったところ, 冒頭右画像のとおり b-mobile の SIM を使えるようになりました。 i10 と同じで すぐにサーチ状態のアンテナ表示となってしまいますが, 返却値に対する処理を無理矢理変更しているわけですから仕方がありません。 「繋がれば良い」ということで気にしないことにしましょう。 (笑) あと, 余談ですが, ZP300+ は i10 に比べて電池の消耗が激しいようです…。 もちろん, GALAXY 組や HTC J butterfly HTL21 よりは遙かにマシなわけですけれど。 (^^;)
Mar.11,2013 追記
Xi サービスエリア内では状況が異なる (3G 専用 SIM on GALAXY Note で経験済み。) ということで, 職場でも試してみたところ, Xi エリア内での接続とテザリングが ちゃんと可能でした。 もちろん, Xi での接続は出来ませんけれど…。
|