Android端末の対応バンド(周波数)の変更について、情報をまとめてみました。
※対応バンドの変更はあらゆる面で自己責任となります!※
2014/12/19…RFNVについて追記
2014/12/4…書き換えツールについて追記
2014/11/3…値の計算アプリを追記・更新
2014/10/25…「値の形式変換」を追記
2014/9/29…「NTTdocomoプラスエリア対応の可能性」を追記
2014/3/6…Nexus 5(LG-D821)で検証してみました
2014/2/17…記事を一部修正・参考サイトリンクを追記
また、逆に記述されている値からどのバンドに対応しているかを表示することもできます。
「Band Preference (Bit info)」タブで、値を入力することで「Bit infomation」欄に対応バンドが表示されます。左側のボタンで、10進数(Decimal)・16進数(Hex)入力を切り替えできます。
入力する値にスペースやカンマが含まれていると正しく表示できないため、数値のみを入力します(例:Decimal 115,868,544→115868544、Hex 0000 0000 06E8 0380→0000000006E80380)。
6828番は単純にバンド番号と対応しているので、Windows付属の「電卓」等を使って2進数から10進数に変換すると簡単に計算できます。
Windows付属の「電卓」の詳しい使用方法はこちらの記事を参照して下さい。
~2014/11/3追記~
参考までに、Nexus 5をDIAGモードで接続する方法は、こちらを参照して下さい。
また、その他の端末についてのDIAGモードでPCに接続する方法は、こちらのページの各端末の「DIAGモードでPCに接続する」記事を参照して下さい。
※対応バンドの変更はあらゆる面で自己責任となります!※
2014/12/19…RFNVについて追記
2014/12/4…書き換えツールについて追記
2014/11/3…値の計算アプリを追記・更新
2014/10/25…「値の形式変換」を追記
2014/9/29…「NTTdocomoプラスエリア対応の可能性」を追記
2014/3/6…Nexus 5(LG-D821)で検証してみました
2014/2/17…記事を一部修正・参考サイトリンクを追記
この方法に対応している端末
この方法に対応する端末は、Qualcomm製のモデムチップ(Modem)を搭載したAndroid端末のみです。端末製造メーカーの制限はありません。
但し、root権限を取得している必要があります(Samsung製端末は非rootでも可能)。
※WCDMA バンド6,19を有効にする際には、バンド5も有効にしていないと電波を掴まないという報告がありました。但し、root権限を取得している必要があります(Samsung製端末は非rootでも可能)。
変更する項目
変更することが出来る領域は、大きく以下の2つになります。
NV(NVM)
NV(NVM)には、主にIMEIやIMSIなどの端末固有の情報であったり、バンドの有効・無効に関する情報など全体的な設定が書かれています。
その中のいくつかの項目を変更することで、ソフトウェア上の対応バンドが変わります。
端末によっては、この領域の書き換えだけで対応させることが出来ます。
今回説明しているのは、このNV(NVM)に記述されている内容になります。
その中のいくつかの項目を変更することで、ソフトウェア上の対応バンドが変わります。
端末によっては、この領域の書き換えだけで対応させることが出来ます。
今回説明しているのは、このNV(NVM)に記述されている内容になります。
RFNV(EFS)
RFNVは、EFS内に存在するものです。
上記のNV(NVM)と似ていますが、主に各バンドのゲイン(増幅)値などの個別の設定が書かれています。(NVに書かれているBandもあります)
特に、LTE B19(800MHz帯)については、すべての設定値がこちらの領域に書かれています。
LTEに関して、ほとんどの端末ではNV(NVM)だけではなくこの領域も書き換えないと対応できません。
多くのツールでは、値を編集するのではなく、領域に入っているファイルを差し替える(移植)ことで変更を行います。
RFNVの移植元は、移植先の端末と同じSoCやモデムを使用している端末である必要があるようです。
RFNVの移植元は、移植先の端末と同じSoCやモデムを使用している端末である必要があるようです。
※実際には、EFS内にNV(NVM)も存在しているのですが、多くのツールでは別の扱いとなっているため、今回は分けています。
変更して対応できる可能性
そもそもハードウェア(アンテナやアンプなど)が対応していないと、上記のようなソフトウェアを変更したところで対応することが出来ません。
対応させたいバンドを元々対応しているバンドが内包している場合やそれに近いバンドに対応している場合、または兄弟機が対応している場合は、可能性が高いと言えます。
しかし、端末が元々対応しているバンドとは全く異なるバンドは、可能性が低くなります。
NTTdocomoプラスエリア(800Mhz)の例
元々Band5(WCDMA・LTE)に対応していないと書き換えで対応する可能性は低くなります。(B5はB19を内包しているため)
WCDMA B6/19に関しては、元々B5に対応していればNV(NVM)の書き換え対応のみできることがほとんどです。
しかし、LTE B19に関しては、NV(NVM)のみの変更では対応できない場合がほとんどで、RFNV(EFS)の変更も必要になります。(それでも掴めない場合もあります)
実際の例としては、Nexus 5(LG-D821)を兄弟機(LG-D820)からRFNVを移植することでLTE B19に対応させたものがあります。(詳細はこちら)
NV(NVM)について
変更する項目とその意味
変更する項目は、2G/3GとLTEで異なります。変更が必要な項目は以下の通りです。
- 2G/3Gの場合…1877番と441番・946番・2954番の4つ
- LTEの場合…6828番と6829番の2つ(6829番は端末によっては不要)
※LTEの場合、この他にRFNVという部分の書き換えも必要になる場合があります。
2G/3Gの場合
- 1877番(NV_RF_BC_CONFIG_I)
3Gの対応バンドを指定する。記述方法は後述。 - 441番(NV_BAND_PREF_I)
1877番に記述する数値の内、下位16ビット分(Bit_00~Bit_15)の数値を記述する。 - 946番(NV_BAND_PREF_16_31_I)
1877番に記述する数値の内、下位17ビット目から32ビット目(Bit_16~Bit_31)の数値を記述する。 - 2954番(NV_BAND_PREF_32_63_I)
1877番に記述する数値の内、下位33ビット目から64ビット目(Bit_32~Bit_63)の数値を記述する。
LTEの場合
- 6828番(LTE BC Config)
LTEの対応バンドを指定する。記述方法は後述。 - 6829番(LTE BC Config DIV)
#6828番と同じ値を記述する(端末によっては変更の必要無し)。
記述する内容
基本的には、「2進数表記において、対応させたいバンドに対応する桁を1にする」ように記述します。0で無効、1で有効です。
しかしながら、1877番(2G/3G)と6828番(LTE)とでは記述する方法が異なります。
なお、書き換えツールによってどのような形式(2進数・10進数・16進数・リトルエンディアンなど)で表示されるかが大きく異なります!
実際に記述する際には、使用しているツールがどのような形式で表示されているのかを必ず確認し、その形式に合わせて記述して下さい。
しかしながら、1877番(2G/3G)と6828番(LTE)とでは記述する方法が異なります。
なお、書き換えツールによってどのような形式(2進数・10進数・16進数・リトルエンディアンなど)で表示されるかが大きく異なります!
実際に記述する際には、使用しているツールがどのような形式で表示されているのかを必ず確認し、その形式に合わせて記述して下さい。
2G/3Gの場合
- 1877番
「mzTool」というソフトを用いて算出した値を記述する。
※441番・946番・2954番については上記「変更する項目の意味」を参照して下さい。
mzToolはこちら(もしくはこちら)から入手できます。最新版は1.2.1a(2014/2/17時点)です。
使用するには、mzTool本体と同じフォルダに「wxmsw293u_gcc_custom.dll」を置いておく必要があります(required_dll_fileからダウンロード可能)。
mzToolを使えば、2G/3Gの対応バンドを簡単に計算することが出来ます。
「Band Preference (NV Value)」タブで、対応させたいバンドにチェックを入れることで、下部に441番・946・2594・1877番が表示されます(Binaryは2進数、Decimalは10進数、Hexは16進数表記)。
使用するには、mzTool本体と同じフォルダに「wxmsw293u_gcc_custom.dll」を置いておく必要があります(required_dll_fileからダウンロード可能)。
mzToolを使えば、2G/3Gの対応バンドを簡単に計算することが出来ます。
「Band Preference (NV Value)」タブで、対応させたいバンドにチェックを入れることで、下部に441番・946・2594・1877番が表示されます(Binaryは2進数、Decimalは10進数、Hexは16進数表記)。
チェックを入れると数値を計算してくれる |
しかし、このツールではNTTdocomoのFOMAプラスエリアでサービスされている「WCDMA バンド19」が表示されていません。
このツールで「WCDMA バンド19」に相当するのは「Etc-2」の欄にある「[Bit_60] Reserved for BC10-1700 band class」になります。
また、逆に記述されている値からどのバンドに対応しているかを表示することもできます。
「Band Preference (Bit info)」タブで、値を入力することで「Bit infomation」欄に対応バンドが表示されます。左側のボタンで、10進数(Decimal)・16進数(Hex)入力を切り替えできます。
入力する値にスペースやカンマが含まれていると正しく表示できないため、数値のみを入力します(例:Decimal 115,868,544→115868544、Hex 0000 0000 06E8 0380→0000000006E80380)。
LTEの場合
- 6828番
「対応させたいバンドに対応する桁」は、2進数で「一番右をバンド1として、LTEバンドの番号の桁」になります。
例えば、LTEバンド1,3,10ならば、2進数表記では右から1,3,10桁目を1にした「1000000101」となります。
Windows付属の「電卓」の詳しい使用方法はこちらの記事を参照して下さい。
~2014/11/3追記~
こちらのアプリでも値の計算をすることが出来ます。
値の形式変換
上記で説明した値の表示形式はあくまでも一例です。
書き換えツールによってどのような形式(2進数・10進数・16進数・リトルエンディアンなど)で表示されるかが大きく異なります。
実際に記述する際は、必ず使用しているツールではどのような形式で表示されているのかを確認し、その形式にあわせて記述する必要があります。
実際に記述する際は、必ず使用しているツールではどのような形式で表示されているのかを確認し、その形式にあわせて記述する必要があります。
各進数の相互変換
各進数の相互変換はWindows付属の「電卓」などを使用して下さい。「電卓」の詳しい使用方法はこちらの記事を参照して下さい。16進数のビッグエンディアン→リトルエンディアン変換
普通の16進数(ビッグエンディアン)から16進数(リトルエンディアン)への表記変更方法を説明します。
- Windows付属の「電卓」などで、16進数表記の値に変換する。
※最初から16進数表記である場合は不要です。
- 得た値を一番下(右)から2桁ずつ区切る。
※一番上(左)が"1桁"の場合は、先頭に"0"を付け加えて下さい。
- 一番下(右)から順に書き直し、反転させる。
- 2桁ずつ左右の値を入れ替える。
記述例
例として、GSM 850/900/1800/1900、CDMA2000 BandClass 0/6、WCDMA Band 1/5/6/19、LTE Band 1/3/19/21に対応させるような記述をしてみます。
まず、mzToolで該当するバンドにチェックを付け、計算すると
まず、mzToolで該当するバンドにチェックを付け、計算すると
- 1877番
10進数:1,152,921,504,814,991,235
16進数:1000 0000 0C68 0783 - 441番
10進数:1,923
16進数:0000 0000 0000 0783 - 946番
10進数:3,176
16進数:0000 0000 0000 0C68 - 2954番
10進数:268,435,456
16進数:0000 0000 1000 0000
となります。なので、実際にこれらの値を記述するときには
- 1877番
10進数:1152921504814991235/16進数:100000000C580783(ツールに依存) - 441番
16進数:0783 - 946番
16進数:0C68 - 2954番
10進数:268435456
とすれば良いことになります。
また、LTEに関しては
- 6828番
2進数:101000000000000000101
10進数:1310725 - 6829番
6828番と同じ
となるため、実際にこの値を記述するときには
- 6828番
10進数:1310725 - 6829番
6828番と同じ
とすれば良いことになります。
RFNV(EFS)について
作成中
変更する方法
準備
DIAGモードへの変更
値を書き換えるには、基本的に端末のroot権限を取得(Samsung製除く)し、DIAGモード(診断モード)にした上、PCにドライバをインストールする必要があります。
DIAGモードへの設定方法は端末ごとに異なります。
ドライバに関して、端末メーカーのものがない場合は、他社のもの(例えば、HTCやLG)を少し書き換えることで端末に対応させることが多いようです。
ドライバに関して、端末メーカーのものがない場合は、他社のもの(例えば、HTCやLG)を少し書き換えることで端末に対応させることが多いようです。
参考までに、Nexus 5をDIAGモードで接続する方法は、こちらを参照して下さい。
また、その他の端末についてのDIAGモードでPCに接続する方法は、こちらのページの各端末の「DIAGモードでPCに接続する」記事を参照して下さい。
書き換えツールについて
実際の書き換えにはツールが必要になります。
書き換えツールには様々ありますが、例として無料の「DFS CDMA Tool」を挙げておきます。
このツールは、NV(NVM)とRFNVの両方を変更することが出来ます。
このツールは、NV(NVM)とRFNVの両方を変更することが出来ます。
NV(NVM)の変更
実際の変更の流れは、以下の様な場合がほとんどです。
- mzToolなどで現在対応しているバンドを把握
- 現在対応しているバンドに、対応させたいバンドを追加して値を計算
※NV(NVM)の変更には大きなリスクが伴います!変更は自己責任です!※
RFNV(EFS)の変更
作成中
その他
NV(NVM)には、端末のIMEIなども含まれています。
何らかの事情でIMEIが飛んでしまって通信ができなくなってしまった場合は、元の値に書き換えることで復旧できる場合があります。
何らかの事情でIMEIが飛んでしまって通信ができなくなってしまった場合は、元の値に書き換えることで復旧できる場合があります。
実際の変更例
参考サイト
- W-CDMA - Wikipedia
- Long Term Evolution(LTE) - Wikipedia
- PHOTONがFOMAプラスエリアに対応か? - feelmie
※電波増幅設定値の変更に関する記述あり - LTEトライバンド化? - feelmie
- LTEクアッドバンド化?・・・玉砕です。 - feelmie
- プラスエリア非対応のNexus 4をプラスエリアに対応させる方法・手順と実際にプラスエリアを掴むか試してみた。 - AndroidLover
- Xperia Z Ultra LTE (C6833)でプラスエリアが使えないか、がんばってみた(駄目) - よくわかってないBlog その2
- Xperia Z Ultra LTE (C6833)でプラスエリアが使えないか、がんばってみた(最終確認まだです) - よくわかってないBlog その2
- Xperia Z Ultra LTE (C6833)でプラスエリアを検証してみた気がする(続く) - よくわかってないBlog その2
- Xperia Z Ultra LTE (C6833)でプラスエリアを検証してみた - よくわかってないBlog その2
- Xperia SP(C5303)をFOMAプラスエリアに対応させました。 - シエルのぼやき
- [モバイル][ドコモ]隠れFOMAプラス対応端末リスト - モバイルをバックパックにつめこんで
※コメント欄に多数機種の報告あり - スマホのプラスエリア対応のまとめ - セクロス
- [Qualcomm] Complete List of NV Items - xda developers
※少し古いものなので、現在と異なる可能性あり - 【root不要】Nexus 5 LG-D820でLTE Band 41 (WiMAX2+/SoftBank 4G) を有効化する方法 - ガジェットショット
※本記事の方法ではなく、無効化されているものを有効化するもの - 【ROM機】海外ROM機を国内で使う【夢が見たい】 - 2ch
※バンド関連の記述や考察(特に、HTCのROM機に関して) - 【マイナー周波数】スマホでプラスエリア Part3 - 2ch
※Nexus 5(LG-D821)のLTE Band19対応化に関する記述