[Xperia Z Ultra C6833]band19 LTE プラスエリア化の覚書

2015-04-28

Xperia Z Ultra C6833をband19 LTEプラスエリアへ対応させた時の覚書。
Screenshot from 2015-02-15 21:22:07.resized

参考にさせていただいたサイト

この先は過去の記事を丸コピーしたうえで修正を加えました。
スクリーンショットはバラバラです。

PC環境

  • Windows 8.1 64bit版
  • android SDK、adbドライバ導入済み

Android

  • Xperia Z ultra C6833
  • Android4.4 (14.4.A.0.108)
  • bootloaderをアンロックし、root化済み。
    root化されていれば、bootloaderのアンロックは不要ですね。

2015/03/28追記
コメントで、bootloaderをアンロックしないとband19を掴まないという報告を頂きました。
この件は自分の環境では試していないので、

作業の流れ

  1. 全パーティションの完全バックアップ
  2. ドライバの署名を無効にする。
  3. PCのフォントサイズを変更
  4. 必要なファイルをダウンロード
  5. QPSTのインストール
  6. HTCDiagDrivers内のドライバファイルinfの書き換え
  7. DIAGモードに入ってドライバのインストール
  8. QPSTでの作業
  9. mzToolでの作業
  10. NV managerでの作業
  11. JAPAN BANDの選択
  12. QPST EFS Explorerでの作業
  13. QXDMでの作業
  14. LTEが有効になるかを確認

それでは作業開始です。

全パーティションの完全バックアップ

band19に対応させる際、危険を伴うのでCWM/TWRPなどのリカバリではバックアップを取れないパーティション領域をすべてバックアップします。
必要ないと思われる場合は飛ばしても構いません。後悔先に立たずですが。
こちらのサイトのやり方でバックアップが取れます。

やっていることはandroidのシェルからddコマンドを唱える、ということです。
AndMemさんのサイトで自動的にバックアップを取れるツールを公開していただいているので、Windows環境の方は一発でバックアップからファイルの抽出まで一気行うことができます。
上記サイトから「Androidパーティション自動バックアップツール」をダウンロードしておきます。
ファイル名は「Android_partition_auto_backup_v◯.zip」です。
ただし、「busybox」がandroidにインストールされていないとコマンドを実行することができないのであらかじめ、Google play からダウンロードしてインストールしておきます。

  • BusyBox
    Screenshot from 2015-02-14 15:15:42当然ですが、root権限が必要です。
    起動後、画面左下の「install」をクリックすればオッケーです。
    device-2015-02-14-175222.resized

使い方はAndMemさんのサイトに書いてありますので割愛します。
難しいことはありません。
SnapCrab_NoName_2015-2-14_15-45-51_No-00
作業が終了するのに20分程度かかりました。

ドライバの署名を無効にする。

ネットで情報を探すといろいろと出てきますので簡単かと思います。

タブレットPCの時はどうするのかとか細かいことは気にしない。
shiftキーを押しながら再起動をかけてみる。

PCのフォントサイズの変更

最初にやっておいたほうがいいです。
10インチ程度の小さなモニターを使っている場合、かつ、フォントサイズを「中」以上に大きくしている場合は「小」にすることをおすすめします。
のちのち、NV managerで必要な数値が出てこなくて焦ります。

必要なファイルのダウンロード

怪しいファイルですので、「必ずウィルスチェックをする」ことをおすすめします。
リンク切れしていたら、頑張って探していただくほかありません。

QPSTのインストール

実はここでいきなり行き詰まってしまいました。
こんなエラーが出るのです。
「PhoneModelLib.dll failed to register. HRESULT-2147010895.」E130-000021
で、解決策としてはQPSTと同じディレクトリにあるC++のライブラリ群をインストールすること。
「vcredist_x86」ディレクトリにある「vcredist_x86.exe」を先に実行しておく。E130-000020

その後に「setup.exe」を実行したらインストール出来ました。
E130-000019
これでエラーが出なければ終わり。

HTCDiagDrivers内のドライバファイルinfの書き換え

ダウンロードした「HTCDiagDrivers.zip」を解凍して、その中のファイルをいじる。
64bitなWindowsなら「Win x64」内の「HtcUsbMdmV64.inf」を、
32bitなWindowsなら「Win x86」内の「htcdiag.inf」をいじる。
自分の環境は64bitなので「HtcUsbMdmV64.inf」をテキストエディタで開く。
[Models.NTamd64]の項目を探しだしてみると

があるはずなのでこれを消し去って、

を書き足す。
場合によっては%OEM00%ではなくて%OEM%の場合もある。
その時は=以下を書き換えればいいみたい。
E130-000027
事前準備はこんな感じ。

DIAGモードに入ってドライバのインストール

なぞのDIAGモードに入ってみます。
XperiaをPCとadb接続して呪文を唱える。
shellでadb接続した後、SU権限で呪文を一言。

これでオッケー。
Xperiaの設定→開発者オプション→USBデバッグをオフにして、10秒くらい経ったらオンに戻す。
デバイスマネージャーを開くと?マークのデバイスが出てくる。
E130-000025
この「ほかのデバイス」と書かれた4つのC6833を順番に調べていく。
右クリックでデバイスを選択→プロパティ→詳細を開く。
プルダウンメニューの「ハードウェアID」を開く
ハードウェアIDの末尾が「MI_04」を探す。
E130-000028
見つけたらドライバの更新で、先ほど書き換えた「HtcUsbMdmV64.inf」または「htcdiag.inf」のあるディレクトリを指定する。
そうすればドライバのインストールが完了。
E130-000029
E130-000030

QPSTでの作業

いよいよ最終段階に入ってきました。
メンテナンスモードのままで作業を続けます。
「QPST Configuration」を起動。
「Ports」のタブを開く。
画面右下の「Add New port」をクリック。
画面が変わったら
「Show Serial and USB/QC Diagostic ports only」のチェックを外す。
表示されたデバイスをクリックして、OKボタン。
E130-000032
そうするとこんな感じに。
SnapCrab_QPST Configuration (vaio-pro11)_2015-2-14_17-58-7_No-00このCOMポートの番号を覚えておきます。
次にRF NV Managerを開きます。
これはエクスプローラーでC:\から追っていかないとダメみたい。
C:\Program Files (x86)\Qualcomm\QPST\bin\RF_NV_Manager.exe
を開きます。
Settings→Comport
を選択。
先ほどの覚えておいたCOM番号を選びます。
(たぶん、一個しか選べないと思いますが)
E130-000034
File→Read From Phoneを選ぶと読み込み始めます。
E130-000036
読み込みが完了したら「1877」の項目を選択。
ウィンドウ右側の枠内に数字が表示されていると思うので、
それを覚えるなり、コピーするなりしておく。
ここでは10進数で「562950069289856」でした。
SnapCrab_RF NV Manager 1434 - [RF NV ITEMS ONLY]_2015-2-14_17-59-56_No-00
Hexにチェックを入れると16進数、何も入れないと10進数です。

mzToolでの作業

mzTool_1.2.1a.exe.7zを解凍。
続けて、「wxmsw293u_gcc_custom.dll.7z」を解凍。
「wxmsw293u_gcc_custom.dll.7z」を解凍した中に「wxmsw293u_gcc_custom.dll」があるのでこれをコピーして、解凍したmzToolの中の「mzTool_1.2.1a.exe」と同じディレクトリに「wxmsw293u_gcc_custom.dll」をコピーする。コピーしておかないと起動できない。
mzTool_1.2.1a.exeを起動。
SnapCrab_mzTool_2015-2-14_18-0-59_No-00赤枠左側の「Decimal」を選択。
赤枠右側のDecimal内にNV Managerの1877で控えたおいた数字を入れます。
すると「Bit Information」のところに対応する周波数が出てきます。
テキストで表示させるとこれ↓
Bit Information
[Bit_07] GSM DCS 1800 band
[Bit_08] GSM Extended GSM (E-GSM) band
[Bit_09] GSM Primary GSM (P-GSM) band
[Bit_19] GSM 850 band
[Bit_21] GSM PCS 1900 band
[Bit_22] WCDMA Band I – EUROPE JAPAN & CHINA IMT 2100 band
[Bit_23] WCDMA Band II – US PCS 1900 band
[Bit_25] WCDMA Band IV – US 1700 band
[Bit_26] WCDMA Band V – US 850 band
[Bit_49] WCDMA Band VIII – EUROPE & JAPAN 900 band
これを見ながらチェックを入れる作業に入るのでこれもメモ帳とかにコピーしておいて見やすいようにしておいた方が良いかと思います。
次。
「Band Preference(NV Value)」のタブを選択。
SnapCrab_mzTool_2015-2-14_18-0-59_No-00赤枠左側の「None」のラジオボタンをクリック。(たぶん、はじめから選択されています)
次に先ほど「Bit Information」で表示された周波数にチェックを入れていきます。
例えば、[Bit_49]なら「[49] VIII ?Europ Japan 900」にチェックを入れます。
上の画像では青枠で囲ってあるところですね。。
またこれに加えてプラスエリアに対応させるために、

  • [27]VI-Japan 800

にもチェックを入れます。
先ほどの画像では緑色の囲みです。
ハードが対応していないのに、余計なチェックを入れて追加しないほうが良さそうです。
チェックを入れ終わったら、「Decimal」の15桁の数字をコピーしてメモ帳にでも貼り付けてください。
上の画像では紫色の囲みです。
3桁ずつ区切ってあるカンマは取っ払い、15桁の数字のみにして、コピー。
ここでは「562950203507584」となりました。

NV Managerでの作業

再びNV Managerに戻り、1877の項目を選択して、コピーした15桁の数値「562950203507584」と置き換える。
SnapCrab_Desktop_2015-2-14_18-4-44_No-00終わったら置き換えた文字列の上にある「Write NV」をクリック。
クリックしてもなんのアクションもない。
なんのアクションもないので不安になりましたが、引き続き「File」→「Write Changed NV Items to Phone」をクリックする。また、なんのアクションもない。
SnapCrab_RF NV Manager 1434 - [RF NV ITEMS ONLY]_2015-2-14_18-5-20_No-00

続いて、1878の数値をいじります。
ここをいじるのはLTE Band19への布石ですので、不要な場合は飛ばしてもオッケーです。
デフォルトで「13」、あるいはHEXにチェックが入っていれば「d」となっています。
SnapCrab_RF NV Manager 1434 - [RF NV ITEMS ONLY]_2015-2-8_15-56-41_No-00
この数値を書き換えます。
「13」なら「17」へ
Hexにチェックが入っていて「d」だったら「11」に書き換えます。
終わったら置き換えた文字列の上にある「Write NV」をクリック。
引き続き「File」→「Write Changed NV Items to Phone」をクリックする。
NV Managerでの作業は以上です。
端末を再起動させます。
USBケーブルは抜いても構いません。

JAPAN BANDの選択

再起動したら、PCと端末をUSBケーブル接続して、呪文を唱えます。

もし、ここで「adb shell」と呪文を唱えても、「error: device not found」と出たら失敗ですので再起動してもう一度トライしてみる。
コマンドを唱えたら、USBケーブルを抜いてOK。
電話アプリを起動して
*#*#4636#*#*
を入力するとこんな画面が出る。(最初に起動したときは時間がかかりました。)
Screenshot_2014-02-23-10-43-02_resize
「携帯電話情報」をタッチして、画面が変わったらメニューボタンを押す。
んで、「無線バンドを選択」をタッチ。
Screenshot_2014-02-23-10-44-48_resize
「JAPAN BAND」を選択出来るようになりました。
Screenshot_2014-02-23-10-44-53_resize
再起動する必要があるかどうか分かりませんが、再起動。
電話アプリを起動して「*#*#7378423#*#*」と打ち込む。
「UMTS_BC6」の項目があれば一応、成功です。
Screenshot_2014-01-21-21-43-00

QPST EFS Explorerでの作業

まずはLTEプラスエリア化に必要なファイルをダウンロードしておきます。
こちらのスレッドで249氏が用意してくれたファイルを使わせていただきました。

ダウンロードしたら解凍しておきます。
もう一度、端末とPCをデバッグ接続して、diagモードに入ります。
デバッグ接続のオンオフを忘れずに。

>adb shell
shell@C6833:/ $ su
su
root@C6833:/ # setprop persist.usb.eng 1
setprop persist.usb.eng 1

続いて、QPST->QPST EFS Explorerを起動します。
起動して認識しているとこのように表示されます。
SnapCrab_Phone Selection_2015-2-14_18-8-52_No-00
もし、認識していなかったりするとこのようになります。
SnapCrab_NoName_2015-2-15_15-53-57_No-00
きちんと認識されていたら「OK」ボタンをクリック。
いちいち通信するのに時間がかかります。
のんびりと行きます。
SnapCrab_NoName_2015-2-14_18-9-19_No-00

ツリー表示されたら、[nv]->[item_files]->[rfnv]と展開していきます。
SnapCrab_QPST EFS Explorer - MSM8974_2015-2-14_18-9-55_No-00
右側のウィンドウにファイルが大量に表示されるので、ファイルを一つ選択したらctrl+Aで全選択します。いちいち遅いので焦らずに。
SnapCrab_QPST EFS Explorer - MSM8974_2015-2-14_18-10-27_No-00
この状態でドラッグアンドドロップですべてのファイルを任意の場所にコピーすることができます。
とりあえずデスクトップにでもフォルダを作って、コピーしておきます。
SnapCrab_NoName_2015-2-14_18-11-3_No-00今思いましたが、左側のツリーの状態で「rvnf」フォルダごとデスクトップにコピーできるような気がします。
249氏が用意してくれたファイルをすべて、端末へコピーします。
やり方は同じでドラッグアンドドロップで出来ました。
これも時間がかかります。
SnapCrab_NoName_2015-2-14_18-12-26_No-00
ファイルの追加は以上です。

QXDMでの作業

QXDM Professionalを起動。
Options→Comunicationsをクリック。
E130_2014-7-27_15-18-7_QXDM Professional (Disconnect) - [NV Browser[3]]_No-00
ウィンドウ下の「Target Port」をQPST Configurationで追加したポートと同じものにします。
ここでは「COM4」として、OKボタン。(多分、これも1つしか出ないと思いますが。)
E130_2014-7-27_15-21-54_NoName_No-00
元の画面に戻ったら、
「View」を「NV Browser」
「Category Filter」を「LTE」
としてください。
続いて、Itemのところ、ID「06828」、Description「LTE BC Config」をクリック。
するとウィンドウ下の「Filelds」に項目が出てきます。
E130_2014-7-27_15-34-33_QXDM Professional (COM4 4083) - [NV Browser[4]]_No-00
右下の「Read」ボタンを押すと、Filelds」の値が出てきます。

SnapCrab_QXDM Professional (COM3 4083) - [NV Browser]_2015-2-14_18-13-36_No-00
上段の「Input」の数値をコピーします。
(選択できるようにするのが、何故か難しいw
数値を左クリックやら右っクリックで連打するとかエンターキーを押すとかしてようやく選択できるようになりました)
SnapCrab_NoName_2015-2-14_18-13-51_No-00-2
ここでは「524511」でした。
この「524511」は10進数ですので、これを「2進数」にします。
やり方はどのようでもOKですが、Windowsの電卓を使います。
電卓を起動→表示→プログラマ
E130_2014-7-27_15-42-47_電卓_No-00

10進数モードで「524511」を貼り付け。
SnapCrab_電卓_2015-2-14_18-14-31_No-00
2進数のラジオボタンをクリックすると数値が2進数に変換されます。
SnapCrab_電卓_2015-2-14_18-14-37_No-00
2進数になったのがこれ。「10000000000011011111」
右から順にbandとなっているそうです。
下の表で、上段がband、下段が2進数。こういうことらしい。

21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1

まず、自分はプラスエリアのみを確かめてみたかったのでband19以外、すべて無効にしました。
なので数値はこうなります。
01000000000000000000
これを先ほどの電卓で10進数に戻すと
262144
になります。
(もしプラスエリアのみ周波数を有効にするという実験を省くなら、はじめから必要なbandに1を立てる。
自分は最終的に、band1、band3、band4、band8、band19を有効にしたので、数値は「01000000000010001101」となりました。)
SnapCrab_電卓_2015-2-14_18-15-45_No-00
この数値をコピー。
QXDM Professionalに戻り、先ほど苦労して選択したFileldsのInputの項目に「262144」を貼り付けます。
SnapCrab_QXDM Professional (COM3 4083) - [NV Browser]_2015-2-14_18-16-4_No-00数値が変わったら、ウィンドウ右下の「Write」をクリックして終わり。特に何も出ないので不安になります。
これで端末を再起動してオッケーです。

LTEが有効になるかを確認

再起動したあと、デバッグ接続して、diagモードを無効にします。

>adb shell
shell@C6833:/ $ su
su
root@C6833:/ # setprop persist.usb.eng 0
setprop persist.usb.eng 0

電話アプリを起動して「*#*#7378423#*#*」と打ち込み、「Configuration」をタッチ。
「Working band/s:」のところに「LTE_BC19」のみを確認。
device-2015-02-14-181836
APNをiijimioに設定。
device-2015-02-14-182024
なかなかLTEにならなかったので再起動。
LTEになりましたー!device-2015-02-14-182231-2
と、LTE band19を味わったあとはきちんと、他の周波数も追加しましょう。
面倒ですが、Diagモードで接続、QXDM Professionalを起動。
2進数でband1、band3、band4、band8、band19を有効にしました。
この辺はdocomoとソフトバンクの周波数を利用したいがための設定です。
数値は「01000000000010001101」です。
これを10進数にすると「262285」となりました。。
SnapCrab_QXDM Professional (COM3 4083) - [NV Browser]_2015-2-15_15-18-45_No-00
数値を書き換えて、Write、再起動です。
無事に追加されました。
device-2015-02-15-152219.resized
いやー長い。
けど、慣れてしまえば5分くらいで出来てしまいます。
こんな作業を一つ一つ検証しながら、成功に導いた249氏、991氏を始めとした「【マイナー周波数】スマホでプラスエリア」スレッドの皆様には敬意を払いたく思います。