所長!OnePlusのスマホってVoLTEに対応していないのですか?
いやぁ。してないなんじゃなくて、機能が隠されているんだよな。下記の手順で開放できるので参考にしてみてくれ。
ガジェット探偵事務所へようこそ!所長のマーロウ(@marlowesgadget)です。
本記事は中華スマホOnePlusの「VoLTE開放」についての解説です。公開してから2年が経つのでだいぶ中身が増えて長くなっていますので、目次で調べてご覧ください。
VoLTE開放ってどゆこと?
日本で正規販売されているスマホには高品質な通話ができるVoLTE(Voice over LTE)の制限はかかっていないのですが、海外向けの中華スマホには制限がかかっていることがあります。
VoLTEの設定に対応していない国や地域があるというのが理由だそうです(もちろん中国国内で使う場合には制限がかかっていません。国内正規販売されていないのに輸入して使おうとするのが悪いというロジック)。
このVoLTE閉鎖にはメーカーによって対応が異なります。例えばXiaomiスマホであればも電話アプリで特定のコマンドを入力することで開放できるようになっています。これくらい簡単なら良いのですが、OnePlusは以下に説明するようなわけのわからない難しい手順を踏まないといけません
ということで具体的な手順を解説していきたいと思います。
・・・ここまで制限する意味がまったくわからないなぁ・・。Xiaomiと同じようにしてくれればよいのに。まったく困ったことをしてくれたもんだ。
Android 11でさらに難しく…
さらにAndroid 11(OxygenOS 11)になってからは、さらに制限が強くなり、より面倒になりました(;´д`)トホホ…
2021年5月時点でVoLTE開放には大きく2種類の方法があります。
- PDCを使う方法(従来型)
- EfsToolsを使う方法
いまだと②の方法をおすすめします(特に楽天モバイルは)。
いずれもPC、ドライバー、USBケーブルなどの環境によって失敗する可能性があります。というかかなりの確率でトラブりますので、時間があるときに作業したほうが良いと思います。あとできれば複数台のPC環境があるのが望ましいです(PC環境要因を切り分けるため)。
でも根気強くやれば、かならずゴールにたどり着けると思います(根拠ない自信…)。
自分で初心者だと思う方は、VoLTEは諦めてドコモかソフトバンク回線で使用する、またはOnePlus 9シリーズ限定ですが、中国向けColor OSで運用する方法をおすすめします⬇。
隠れているVoLTEボタンを表示させる(共通)
まずは本来ならばSIM設定の中に表示されるはずのVoLTEのON/OFFボタンを表示させることから始めます。PDC方式、EFSTools方式いずれにも必要です。
まず2つのアプリをインストールします。
下記リンク先からどうぞ。APKファイルなので「この種類のファイルはお使いの端末に悪影響を与える可能性があります」というメッセージが出て警告してきますが、OKします。
※Logkitは最新のものだとできないことがあるようです。1.0でお試しください。
電話アプリを開き「*#800#」を入力するとすぐに遷移します。
上の画像は最後の#を押す前ですのでお間違えなく。
通常はFactoryModeのみですが、Engineerモード(後述)をインストールしているどちらを立ち上げるか聞いてきますので、FactoryModeを選択します。
またまた警告画面ですが、無視してENTERを押して進みます。
メニューからoneplus Logkitを押すと、OnePlusLogKitというアプリが立ち上がります。
※機種によってはこの画面がでないことがあります。
Function Switchへ進みます。
VoLTE switchのチェックボタンをクリックしてマークをつけます。VoWifiは日本では使いみちがないのでOnでもOffでもどちらでも良いです。
「再起動が必要ですか」と聞いてくるのでRebootします。
システム[設定]→[Wi-Fi&インターネット]→[SIM&ネットワーク]→[SIM1]を開くとVoLTEの項目が現れているのでONにしておきます。再起動を促されるので再起動しておきましょう。
なんとなくこれでOKな気がするが、ボタンが現れただけで、VoLTEは機能していない。あるサービス項目が邪魔をしているので、そいつをやっつけに行くぞ(;´д`)トホホ…。
PCとの接続環境を整える(共通)
初期設定ではPCからの制御(デバッグ)を受け付けないようになっていますのでスマホとPCそれぞれに設定しておきます(内部ストレージのマウントは自動で可能)。過去に接続経験のある方はスキップOKです。
1.USBデバッグをONにする(スマホ側)
[設定]→[デバイス情報]→[ビルド番号]を7回クリックすると開発者オプションが有効になります。[開発者向けオプション]は[システム]設定の中に現れています。
USBケーブルでPCと通信ができるようにUSBデバッグをONにします。[開発者向けオプション]の中にあります。
なおUSBデバックは作業終了後にOFFに戻しておきましょう。銀行アプリなどが使用できなくなります。
試しにPCとUSBケーブルで接続してみましょう。スマホ側にUSBデバッグで接続したよという通知が来ます。このときUSB接続がファイル転送モードになっているか確認しておきましょう。
※充電モードになっていて接続できないというミスがよくあります。
続いてこのPCを信頼してよいかという確認(RSA認証)がきますので「許可」しておきます。
※この認証を忘れると、ADB通信のときに「unauthorized」になります。
2.QualcommドライバーをPCにインストールする
OnePlusスマホをWindows PCに接続すると自動でドライバーがインストールされ、内部ストレージがマウントされる状態になります。しかしそれだけでは不十分なようで、Qualcomm製SoC向けUSBドライバーのインストールが必要です。
QualcommUSBドライバーは各種あるのですが、他のツールとまとめてQPST Toolをインストールするのがオススメです。ドライバーだけでよければQUD.WIN.1.1 Installerをどうぞ。
※すでにQualcommドライバーがインストールされている場合は競合を警告するメッセージがでることがあります。その場合は、古い方を一旦無効にして下さい。
3. バックアップ(スキップ可)
ここから先はちょっとディープな領域です。安全のためバックアップを取っておきましょう。メンドクセーという方は飛ばしてもいいですが自己責任です。バックアップには次の2種類の方法があります。
- QPSTでネットワーク設定を吸い出し、バックアップを取る
- リカバリーソフトTWRPを導入してEFSのバックアップを取る
①の方法が比較的簡単ですが、もし間違って設定し、ファイルを壊した場合、復旧できるかどうか少し怪しいところがあります。怖いようであれば①と②両方取っておくことをおすすめします。
(ただよほど乱暴なことをしない限り、OSを焼き直せばほとんどの場合、復旧します。またFTMモードで動かなくなっても電源+音量+同時長押しで、だいたい再起動します。)
ここでは①の方法を紹介しておきます。
QPSTはQualcommからの流出ソフトであって、公式ソフトではありませんので失敗しても文句を言うのはやめましょう。2で紹介したQPSTツールをダウンロードして下さい。
インストールしたQPSTはアプリ一覧から探すのが早いでしょう。いろいろとアプリがインストールされていますが、まずはQPST Configurationを開きます。
PhoneのところにMSM8998のようなSoCの認識番号で表示されればスマホと接続されているとわかります。
QPSTの上部メニューの[Start Clients]→[Software Donwload]を開きます。タブを[Backup]のタブに切り替えると下記の画面になります。
Browseから保存先とファイル名を指定します。ファイル名は何でも良いですが、OnePlusなどとわかる名称をつけておきましょう。またこのときファイル形式はQCN形式にしておいてください。
セットできたらStartボタンを押します。すぐにバックアップが始まり、1分もかからずセーブできます。もしトラブルがあればRestoreからこのQCNファイルを選択して、復旧ができます(はず・・・)。
これでQCNファイルのバックアップが取れましたが、不安であればEFSのバックアップも取っておきましょう(こちらの方が確実)。
ただEPSのバックアップのためにはリカバリーソフトのTWRPを焼くところから始めないといけませんので、ここでは割愛します。下記リンクをご参考ください。
- https://twrp.me/Devices/OnePlus/
- https://forum.xda-developers.com/7t-pro/development/recovery-unofficial-twrp-recovery-t3989333
(方法1)PDCを使う
QPST Toolsに含まれているPDCというアプリを使って設定を変更する方法です。PDCへの通信が安定しておらず、PC環境によって失敗することがあるようです。
Android11が主流になってきたため、11を前提に記述しています。Andoroid 10以下の場合はSTEP.1から4を飛ばしてSTEP.5を参照して下さい。
下記のリンク先のGoogle Driveから次のドライバーをダウンロードしてください。
Qualcomm driverフォルダ内の
- qualcomm-dpl-data-90ed-893819.zip
- qualcomm-qdss-test-interface-1234-0103-1-1039779.zip
ダウンロードしたZIPファイルは解凍してください。
Windowsは署名されていないドライバーを勝手にインストールさせてくれませんので、その設定を無効化します。
コマンドプロンプトで次のコマンドを入力します。
bcdedit /set TESTSIGNING ON
詳しくは下記のリンク先記事もご参考ください。⬇
「この操作を正しく終了しました」と出たら成功ですので、PCを再起動します。すると画面右下にテストモードであることが表示されているはずです。
なおテストモードは次のコマンドを入力すればもとに戻ります。
bcdedit /set TESTSIGNING OFF
先程ダウンロードして解凍したドライバーのファイルの中にあるqcser.infファイルを右クリックからインストールします。
2つともインストールします。
スマホとPCをUSBで接続します。コマンドプロンプトでADB接続します。ADB環境とはなんぞや?という方は下記記事をご参考ください。そんなに難しくないです。
【TIPS】ADB環境を導入する方法|初心者にもわかりやすく解説【Android】ADB接続を確認したら、コマンドプロンプト(またはPowerShell)にて次のコマンドを入力して、Factory Test Modeにします。
adb reboot ftm
するとスマホのディスプレイに中国語でなにか表示されて、しばらくして画面が消えます。続いて次のコマンドを順に入力します。
adb shell setprop sys.usb.config diag,serial_cdev,rmnet,adb
これでディアッグポートが開きました。
(Andoroid11の場合はスキップして下さい!)
エンジニアモードをインストールします。
続いて電話アプリで「*#801#」を押します。
今度はEngineerModeを選択します。
メニューが現れますので、このうちFull-port switchをONにします。
ONにするのはFull-port switchのみです。Serialを触わるとアプリがクラッシュすることがあります。
PDCはQPSTのフォルダに入っています。
※うまく接続できないときは「管理者として実行」でアプリを開いてみてください。
アプリを開くと次のような画面になります。Deviceのタブが最初は空白になっていますが、プルダウンからQualcomm〜がでてきますので、選択します。
※PDCで接続されているかの確認
デバイスマネージャーを開いて、ポート(COMとLPT)にQualcomm HS-USB〜と出ていれば接続できるはずです。出てなければドライバーが上手くインストールできていないと思われます。
下記のように各サービスの一覧が表示されます。悪者はOversea-Commercial DSという項目だそうです。
まず項目を選択して、右クリックからメニュー表示し、Sub0とSub1をDeactivateします。すると表示がPendingに変わり、しばらくしてInactivateになります。機種によってはSub0のみがActiveの場合もあるようです。
続いて項目を選択して、下のRemoveボタンを押し、項目ごと抹殺します!
これでにっくきOversea-Commercial DSは無くなりました。
最後にDescriptionの欄にでてくる設定項目のうち1つ(または2つ)という項目をActiveに変更します。さきほどと同じように項目を選択して、右クリック→SetSelectedConfigからSub0を選択して下のActivateボタンを押して起動させます。※Sub0はSIM1です。
SIM2もこの設定で良ければSub1も同様にActiveにします。ことなる場合はSIM2のみ異なるDiscriptionでもOKです。Activeにできるのはいずれか一つです。
OnePlus 8ではVolte-CUが最も汎用性が高かったのですが、OnePlus 9ではVoLTE-PTCRBが良いようです。
なお筆者が試した限り、DocomoとSoftbankはVoLTE-PTCRBでOKで、auは不可でした。auはItaly-VoLTE-Vodafoneでうまくいきました(Softbankも可)。
以上で一連の作業が完了です。
スマホはFactory Test Modeで真っ暗のままなのですべて終わったら再起動しましょう。
再起動は次のコマンドを入力してください。
adb reboot
※もし上のコマンドが効かない場合はexitと入力してshellを終了してから、再度入力してみてください。
※最悪、どうしようもなければ電源ボタン+音量プラス長押しで再起動してみてください。
以上、入力した結果は次のとおりになります。
上記の方法は次のリンク先を参考にしています。
(方法2)EFS Toolsを使う
最近はこちらの方法の方が成功率が高いように思います。いろいろなところで紹介されていますが、下記のAndroPlusさんの記事が最も最新だと思います。⬇
実際に筆者もOnePlus 9 ProおよびOnePlus Nord(OxygenOS11Openbeta 5)にてこの方法で開放できることを確認しました。(ただOnePlus 8ではなぜかできません…。)
手順は上に示した「隠れているVoLTEボタンを表示させる」「PCとの接続環境を整える」まで共通です。
※現在執筆中です。画像などはのちほど追加します。
EFS領域に変更を加えるアプリEfsToolsを下記リンク先からDLして、ZIPファイルを展開します。
XDAの記事ではEfsTools-0.10-modded-1.2-win32が紹介されているので、そちらでも可能かと思います。v.0.14xはAndroPlusさんがv.0.14をSIM2も変更できるよう改造されたものです。
※筆者のWin10環境だと.NET 5.0 Runtimeおよび.NET Core 3.1をインストールしなさいとエラーメッセージが出たのでインストールしたところ実行できました。
.mbnの拡張子がついたプロファイル(Mobile Broadband Network Profie)が各通信会社ごとに用意されています。
XDAの記事にMi 9TとPixel4向けのmbnプロファイルが掲載されており使用できると思いますが、AndroPlusさんがOnePlus 9 ProのColorOS版からプロファイルを抽出してくれていますので、そちらを使用するのが万全だと思います⬇。
※楽天モバイルは上記のMi 9TとPixel4には含まれていません。ColorOSのもの⬇をご利用下さい。
あとmcfg_autoselect_by_uimというファイルも必要です。下記のパッケージに含まれています。
(※これは自動切り替えの機能を停止するもので、中身は空です)
ZIPファイルを展開するとAPACというフォルダに各通信会社ごとにmcfg_sw.mbnファイルがあります。名前はすべて同じmcfg_sw.mbnです。
自分が使用する通信会社のmbnプロファイルをEfsToolsのフォルダにコピーします。
SIM2も利用する場合は、ファイル名が重複するので、名称を変更する必要があります。名前は何でも良いです。
例1)ソフトバンク:mcfg_sw.mbn → mcfg_sw_sbm.mbn
例2)楽天:mcfg_sw.mbn → mcfg_sw_rakuten.mbn
名称変更したmbnプロファイルをそれぞれEfsToolsのフォルダにコピーします。
またmcfg_autoselect_by_uimもEfsToolsのフォルダにコピーします。
エンジニアモードをインストールします。
続いて電話アプリで「*#801#」を押します。
今度はEngineerModeを選択します。
Rndis,diag switchをONにします。
スマホとPCをUSBケーブルで接続します。上で説明したとおり、USBデバッグをONにして、デバッグの許可(RSA認証)の確認をお忘れなく。
EfsTools.exeを展開したフォルダに移動し、Shift+右クリックでPowershellを起動します
(コマンドプロンプトでcdで移動しても可)。
EfsToolsが機能するかを確認するため次のコードを入力します。(コマンドプロンプトの場合は./を取って下さい。以下同)
./EfsTools.exe efsInfo
Use Serial Port ‘COM X’
Version ; 1〜とでてきたらOKです(Xはスマホが使用しているポート名)。
赤字でCritical Errorと出てきたら失敗です。ドライバーやケーブル、アプリのバージョンなどPC環境が原因ですので個別に見直ししてみて下さい(筆者もはまりました…)。
続いて下記のコードを実行します。
SIM1用
./EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim
SIM2用
./EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim -s 1
引き続き、次のコードを実行します。
コードは事前に書き換えた通信会社用mbnプロファイル名に置き換えて下さい。
SIM1用(mcfg_sw.mbn → mcfg_sw_sbm.mbnに書き換えた場合)
./EfsTools.exe uploadDirectory -i mcfg_sw_sbm.mbn -o / -v
SIM2用(mcfg_sw.mbn → mcfg_sw_rakuten.mbnに書き換えた場合)
./EfsTools.exe uploadDirectory -i mcfg_sw_rakuten.mbn -o / -s 1
お疲れ様でした。以上で作業が終了。スマホを再起動すると反映されます。
※ADB環境がある方は下記のコードを実行するのが手早いです。
adb reboot
この方法でRakuten MobileもVoLTE化できました。
VoLTEが開放されたか確認
ディスプレイ最上部の通知欄にVoLTEマークが表示されれば成功。
さらに携帯電話情報(またはスマートフォン情報)で[音声ネットワークの種類]の値が通話中にずっとLTEのままであればOKです。VoLTEが開放されていなければ値がUMTSなどの3G表示に変わります。
*#*#4636#*#*
ソフトバンクの場合は、さらに電話で「1406」にかけて、「このサービスはご利用になれません」とのアナウンスが流れれば完璧です。
まとめ:けっこう大変
以上、OnePlus スマホでVoLTE開放の手順を紹介してみました。スマホだけで完結せず、PCと接続しなくてはならないのが面倒くさいですね。
いろいろと完成度の高いOnePlusのスマホですが、これだけは本当におせっかい以外の何物でもないですね。
うまく成功したなら、コメント欄に成功報告してもらえると嬉しいです。他の方の参考になると思います。
テンプレ)⬇
- 機種名:OnePlus 9 Pro
- OS:Oxygen OS 11.2.5.5
- 方法:EFS Tools v.014x
- キャリア:Softbank、楽天モバイル
- 備考:○○して苦労しました。など
長文解説、最後まで読んでくれてありがとう。参考にしてもらえると嬉しいぞ。
お疲れさまでした!
\ あわせて読みたい /
【2022年5月最新】Geekbench 5ベンチマークランキング|SoCやメーカー別にグラフ化|スマホ性能評価
【TIPS】OnePlus 8にOPPOのColorOSを焼く方法【AndroidカスタムROM入門】
【レビュー】OnePlus 9 Pro向け爆速ワイヤレス充電器 |50W Wireless Charger
【TIPS】OnePlus 8にPixelExperienceを焼いてみた【AndroidカスタムROM入門】
OnePlusとはどんな会社?ブランドについて知っておくべきこと【高級中華スマホ】
【レビュー】RHINOSHIELD SolidSuit+Impact Flex|米軍仕様の耐衝撃!OnePlus 9 Pro向け保護ケース+フィルム