【TIPS】OnePlus 7 / 8 / 9シリーズのVoLTE機能を開放せよ!手順を詳しくレポート!

アン秘書
アン秘書

所長!OnePlusのスマホってVoLTEに対応していないのですか?

マーロウ
マーロウ

いやぁ。してないなんじゃなくて、機能が隠されているんだよな。下記の手順で開放できるので参考にしてみてくれ。

ガジェット探偵事務所へようこそ!所長のマーロウ(@marlowesgadget)です。

本記事は中華スマホOnePlusの「VoLTE開放」についての解説です。公開してから2年が経つのでだいぶ中身が増えて長くなっていますので、目次で調べてご覧ください。

VoLTE開放ってどゆこと?

日本で正規販売されているスマホには高品質な通話ができるVoLTE(Voice over LTE)の制限はかかっていないのですが、海外向けの中華スマホには制限がかかっていることがあります。

VoLTEの設定に対応していない国や地域があるというのが理由だそうです(もちろん中国国内で使う場合には制限がかかっていません。国内正規販売されていないのに輸入して使おうとするのが悪いというロジック)。

このVoLTE閉鎖にはメーカーによって対応が異なります。例えばXiaomiスマホであればも電話アプリで特定のコマンドを入力することで開放できるようになっています。これくらい簡単なら良いのですが、OnePlusは以下に説明するようなわけのわからない難しい手順を踏まないといけません

ということで具体的な手順を解説していきたいと思います。

マーロウ
マーロウ

・・・ここまで制限する意味がまったくわからないなぁ・・。Xiaomiと同じようにしてくれればよいのに。まったく困ったことをしてくれたもんだ。

auとRakutenはVoLTE開放が必須

4Gにおける通信方式の関係から、auとRakutenモバイルではVoLTEを開放しないと通信すらできない場合があります。回線を選ぶ際にはご注意を。とくにRakutenはトラブルが多いように思います。

Android 11でさらに難しく…

さらにAndroid 11(OxygenOS 11)になってからは、さらに制限が強くなり、より面倒になりました(;´д`)トホホ…

2021年5月時点でVoLTE開放には大きく2種類の方法があります。

  1. PDCを使う方法(従来型)
  2. EfsToolsを使う方法

いまだと②の方法をおすすめします(特に楽天モバイルは)。

いずれもPC、ドライバー、USBケーブルなどの環境によって失敗する可能性があります。というかかなりの確率でトラブりますので、時間があるときに作業したほうが良いと思います。あとできれば複数台のPC環境があるのが望ましいです(PC環境要因を切り分けるため)。

でも根気強くやれば、かならずゴールにたどり着けると思います(根拠ない自信…)。

自分で初心者だと思う方は、VoLTEは諦めてドコモかソフトバンク回線で使用する、またはOnePlus 9シリーズ限定ですが、中国向けColor OSで運用する方法をおすすめします⬇。

Color OSだとVoLTEは閉鎖されていない

OnePlus 9シリーズから、中国国内向けのH2OSは廃止されて、OPPOが提供しているColorOSに統合されました。ColorOSは中国国内向け仕様のため、最初からVoLTEが開放されている上、日本語にも対応しています。もちろんOxygenOSのような洗練された雰囲気はありませんし、Google Playをいちからインストールしないといけませんが、実用上の問題はありません。PCレスでスマホのみでインストールできるのも魅力です。→追って記事を追加する予定です。

文鎮化リスクがある(免責事項)

ご承知だと思いますが、本記事で解説している内容は改造行為に当たりますので、すべて自己責任で行って下さい。最悪の場合、一部機能の損失または起動しない状態(文鎮化)になる可能性があります(よほど乱暴なことをしない限りなりませんが…)。解説内容は当サイト管理人が実際に試してみた内容ですが、プロではありませんので、記述が必ずしも正しいとは限りません。あくまでも参考とし他サイトの情報と比較の上、慎重に行動して下さい。本記事によって発生した損失については当サイトは一切の責任を負いかねます。

隠れているVoLTEボタンを表示させる(共通)

まずは本来ならばSIM設定の中に表示されるはずのVoLTEのON/OFFボタンを表示させることから始めます。PDC方式、EFSTools方式いずれにも必要です。

まず2つのアプリをインストールします。

Log Kit app’s APKをインストール

下記リンク先からどうぞ。APKファイルなので「この種類のファイルはお使いの端末に悪影響を与える可能性があります」というメッセージが出て警告してきますが、OKします。

※Logkitは最新のものだとできないことがあるようです。1.0でお試しください。

電話アプリで魔法の呪文「*#800#」を入力

電話アプリを開き「*#800#」を入力するとすぐに遷移します。

上の画像は最後の#を押す前ですのでお間違えなく。

通常はFactoryModeのみですが、Engineerモード(後述)をインストールしているどちらを立ち上げるか聞いてきますので、FactoryModeを選択します。

またまた警告画面ですが、無視してENTERを押して進みます。

OnePlusLogKitアプリでVoLET SwitchをONにする

メニューからoneplus Logkitを押すと、OnePlusLogKitというアプリが立ち上がります。
※機種によってはこの画面がでないことがあります。

Function Switchへ進みます。

VoLTE switchのチェックボタンをクリックしてマークをつけます。VoWifiは日本では使いみちがないのでOnでもOffでもどちらでも良いです。

「再起動が必要ですか」と聞いてくるのでRebootします。

設定にVoLTE項目が出現しているのでONにする

システム[設定]→[Wi-Fi&インターネット]→[SIM&ネットワーク]→[SIM1]を開くとVoLTEの項目が現れているのでONにしておきます。再起動を促されるので再起動しておきましょう。

マーロウ
マーロウ

なんとなくこれでOKな気がするが、ボタンが現れただけで、VoLTEは機能していない。あるサービス項目が邪魔をしているので、そいつをやっつけに行くぞ(;´д`)トホホ…。

PCとの接続環境を整える(共通)

初期設定ではPCからの制御(デバッグ)を受け付けないようになっていますのでスマホとPCそれぞれに設定しておきます(内部ストレージのマウントは自動で可能)。過去に接続経験のある方はスキップOKです。

1.USBデバッグをONにする(スマホ側)

開発者オプションを開放する

[設定]→[デバイス情報]→[ビルド番号を7回クリックすると開発者オプションが有効になります。[開発者向けオプション]は[システム]設定の中に現れています。

7回クリック
USBデバッグをONにする

USBケーブルでPCと通信ができるようにUSBデバッグをONにします。[開発者向けオプション]の中にあります。

なおUSBデバックは作業終了後にOFFに戻しておきましょう。銀行アプリなどが使用できなくなります。

PCとUSB接続できるか確認する

試しに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ドライバーがインストールされている場合は競合を警告するメッセージがでることがあります。その場合は、古い方を一旦無効にして下さい。

接続がうまくいかないならドライバーを見直してみる

Qualcomm USBドライバーもいろんなバージョンがあるようです。もし接続がうまくいかない(PDCにつながらない)場合は、ドライバーを見直してみるのも一つの手です。ネットをいろいろと検索してみて下さい。

3. バックアップ(スキップ可)

ここから先はちょっとディープな領域です。安全のためバックアップを取っておきましょう。メンドクセーという方は飛ばしてもいいですが自己責任です。バックアップには次の2種類の方法があります。

  1. QPSTでネットワーク設定を吸い出し、バックアップを取る
  2. リカバリーソフトTWRPを導入してEFSのバックアップを取る

①の方法が比較的簡単ですが、もし間違って設定し、ファイルを壊した場合、復旧できるかどうか少し怪しいところがあります。怖いようであれば①と②両方取っておくことをおすすめします。

(ただよほど乱暴なことをしない限り、OSを焼き直せばほとんどの場合、復旧します。またFTMモードで動かなくなっても電源+音量+同時長押しで、だいたい再起動します。)

ここでは①の方法を紹介しておきます。

QPST Flash toolをインストール

QPSTはQualcommからの流出ソフトであって、公式ソフトではありませんので失敗しても文句を言うのはやめましょう。2で紹介したQPSTツールをダウンロードして下さい。

Portからスマホが接続されているか確認

インストールしたQPSTはアプリ一覧から探すのが早いでしょう。いろいろとアプリがインストールされていますが、まずはQPST Configurationを開きます。

PhoneのところにMSM8998のようなSoCの認識番号で表示されればスマホと接続されているとわかります。

Backup項目へ移動し、QCNファイルを保存

QPSTの上部メニューの[Start Clients]→[Software Donwload]を開きます。タブを[Backup]のタブに切り替えると下記の画面になります。

Browseから保存先とファイル名を指定します。ファイル名は何でも良いですが、OnePlusなどとわかる名称をつけておきましょう。またこのときファイル形式はQCN形式にしておいてください。

セットできたらStartボタンを押します。すぐにバックアップが始まり、1分もかからずセーブできます。もしトラブルがあればRestoreからこのQCNファイルを選択して、復旧ができます(はず・・・)。

これでQCNファイルのバックアップが取れましたが、不安であればEFSのバックアップも取っておきましょう(こちらの方が確実)。

ただEPSのバックアップのためにはリカバリーソフトのTWRPを焼くところから始めないといけませんので、ここでは割愛します。下記リンクをご参考ください。

(方法1)PDCを使う

QPST Toolsに含まれているPDCというアプリを使って設定を変更する方法です。PDCへの通信が安定しておらず、PC環境によって失敗することがあるようです。

Android11が主流になってきたため、11を前提に記述しています。Andoroid 10以下の場合はSTEP.1から4を飛ばしてSTEP.5を参照して下さい。

ドライバーをPCにダウンロード

下記のリンク先のGoogle Driveから次のドライバーをダウンロードしてください。

Qualcomm driverフォルダ内の

  • qualcomm-dpl-data-90ed-893819.zip
  • qualcomm-qdss-test-interface-1234-0103-1-1039779.zip

ダウンロードしたZIPファイルは解凍してください。

Windowsの署名チェックを無効化するためにテストモードに

Windowsは署名されていないドライバーを勝手にインストールさせてくれませんので、その設定を無効化します。

コマンドプロンプトで次のコマンドを入力します。

bcdedit /set TESTSIGNING ON

詳しくは下記のリンク先記事もご参考ください。⬇

「この操作を正しく終了しました」と出たら成功ですので、PCを再起動します。すると画面右下にテストモードであることが表示されているはずです。

なおテストモードは次のコマンドを入力すればもとに戻ります。

bcdedit /set TESTSIGNING OFF
ドライバーをインストール

先程ダウンロードして解凍したドライバーのファイルの中にあるqcser.infファイルを右クリックからインストールします。

2つともインストールします。

ADBでFactory Test Modeにしてポートを開く

スマホと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

これでディアッグポートが開きました。

(Android10の場合)通信をシリアルモードにする

(Andoroid11の場合はスキップして下さい!)

エンジニアモードをインストールします。

続いて電話アプリで「*#801#」を押します。

今度はEngineerModeを選択します。

メニューが現れますので、このうちFull-port switchをONにします。

ONにするのはFull-port switchのみです。Serialを触わるとアプリがクラッシュすることがあります。

PDCアプリを開く

PDCはQPSTのフォルダに入っています。

※うまく接続できないときは「管理者として実行」でアプリを開いてみてください。

アプリを開くと次のような画面になります。Deviceのタブが最初は空白になっていますが、プルダウンからQualcomm〜がでてきますので、選択します。

※PDCで接続されているかの確認

デバイスマネージャーを開いて、ポート(COMとLPT)にQualcomm HS-USB〜と出ていれば接続できるはずです。出てなければドライバーが上手くインストールできていないと思われます。

Oversea-Commercial DSを取り除く

下記のように各サービスの一覧が表示されます。悪者はOversea-Commercial DSという項目だそうです。

まず項目を選択して、右クリックからメニュー表示し、Sub0Sub1Deactivateします。すると表示がPendingに変わり、しばらくしてInactivateになります。機種によってはSub0のみがActiveの場合もあるようです。

続いて項目を選択して、下のRemoveボタンを押し、項目ごと抹殺します!

これでにっくきOversea-Commercial DSは無くなりました。

適切な設定をActiveにする

最後に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も可)。

VoLTE-CUの場合

以上で一連の作業が完了です。

いろんな設定を試してみる

OnePlus 8ではVoLTE-CUが良かったです。他にもspain_VoLTE_ VodafoneIndia-VoLTECZ-Volte-vodafoneで成功例が報告されています。楽天UN-LIMITではRomania-VoLTE-Vodafoneにすると通信とSMSが可能という報告があります。コメント欄もご参考下さい。

スマホを再起動

スマホはFactory Test Modeで真っ暗のままなのですべて終わったら再起動しましょう。

再起動は次のコマンドを入力してください。

adb reboot

※もし上のコマンドが効かない場合はexitと入力してshellを終了してから、再度入力してみてください。

※最悪、どうしようもなければ電源ボタン+音量プラス長押しで再起動してみてください。

以上、入力した結果は次のとおりになります。

上記の方法は次のリンク先を参考にしています。

(方法2)EFS Toolsを使う

最近はこちらの方法の方が成功率が高いように思います。いろいろなところで紹介されていますが、下記のAndroPlusさんの記事が最も最新だと思います。⬇

実際に筆者もOnePlus 9 ProおよびOnePlus Nord(OxygenOS11Openbeta 5)にてこの方法で開放できることを確認しました。(ただOnePlus 8ではなぜかできません…。)

手順は上に示した「隠れているVoLTEボタンを表示させる」「PCとの接続環境を整える」まで共通です。

※現在執筆中です。画像などはのちほど追加します。

EfsToolsをダウンロード

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プロファイルをダウンロード

.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_uimEfsToolsのフォルダにコピーします。

スマホをEngineerモードにする

エンジニアモードをインストールします。

続いて電話アプリで「*#801#」を押します。

今度はEngineerModeを選択します。

Rndis,diag switchをONにします。

EfsToolsが使用できるか確認

スマホと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環境が原因ですので個別に見直ししてみて下さい(筆者もはまりました…)。

接続失敗の場合
MCFGの自動切り替えを停止

続いて下記のコードを実行します。

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プロファイルのアップロード

引き続き、次のコードを実行します。

コードは事前に書き換えた通信会社用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が開放されたか確認

OOnOneOnO

ディスプレイ最上部の通知欄にVoLTEマークが表示されれば成功。

さらに携帯電話情報(またはスマートフォン情報)で[音声ネットワークの種類]の値が通話中にずっとLTEのままであればOKです。VoLTEが開放されていなければ値がUMTSなどの3G表示に変わります。

携帯電話情報を表示するには?
ふたたび電話アプリにて魔法の呪文を唱えてください!
*#*#4636#*#*

ソフトバンクの場合は、さらに電話で「1406」にかけて、「このサービスはご利用になれません」とのアナウンスが流れれば完璧です。

OSアップデートのたびにやり直し(¯―¯٥)

OxygenOSのマイナーアップデートでも、EFSがすべて書き換えられるようです。システムがアップデートしろよと通知してくるので、迂闊にやってしまうとアチャーとなります。

逆に言うと、失敗しても、OSを焼き直せばほとんどの場合復活します。

まとめ:けっこう大変

以上、OnePlus スマホでVoLTE開放の手順を紹介してみました。スマホだけで完結せず、PCと接続しなくてはならないのが面倒くさいですね。

いろいろと完成度の高いOnePlusのスマホですが、これだけは本当におせっかい以外の何物でもないですね。

うまく成功したなら、コメント欄に成功報告してもらえると嬉しいです。他の方の参考になると思います。

テンプレ)⬇

  • 機種名:OnePlus 9 Pro
  • OS:Oxygen OS 11.2.5.5
  • 方法:EFS Tools v.014x
  • キャリア:Softbank、楽天モバイル
  • 備考:○○して苦労しました。など
マーロウ
マーロウ

長文解説、最後まで読んでくれてありがとう。参考にしてもらえると嬉しいぞ。

アン秘書
アン秘書

お疲れさまでした!

\ あわせて読みたい /