OnePlus 8Tを含む、Android 11搭載端末で非root状態でVoLTEを有効化する方法が発見されました。
懐かしのFTM
Android 11のOnePlus 8TやOnePlus 8 Proでは、これまでのようにLogkit・Engineering Modeを使ってQPST/PDCを動かせる状態にすることができなくなっています。
OnePlus 8Tレビュー。5万円台で120Hz AMOLED + S865 + UFS 3.1 + 65W充電はコスパ最高! – AndroPlus
root化した状態でないと有効化できない状況でしたが、こちらのフォーラムで投稿されている方法で非rootでもPDCを動作させられるようになり、VoLTEを解放できるようになりました。
使うのは懐かしの「FTM (Factory Test Mode)」です。FTMはデバッグ用途に使われるモードで、通常の状態に比べセキュリティが弱くなっておりroot権限が必要な操作も一部できてしまうというものです。
2016年時点で危険性が指摘されており、とっくに塞がれているものだと思っていましたが、少なくともOnePlusスマートフォンでは健在のようです。
OnePlusのFactoryModeを非root・APK追加なしで使えるようにする方法 – AndroPlus
OnePlus 8TでFTMを使ってVoLTEを使えるようにする手順は
- OnePlusLogKitをダウンロード&インストールする
- 電話アプリで*#800#をダイヤルする
- Function Switch→VoLTE switchをONにして再起動する
- このページで配布されているドライバーとQPSTをインストールする (署名チェックを無効化する必要あり)
- コマンドウインドウで下記コマンドを実行する
adb reboot ftm
- 中国語で何か表示された後画面が消えるので、コマンドウインドウで下記コマンドを実行する
adb shell
setprop sys.usb.config diag,diag_mdm,qdss,qdss_mdm,serial_cdev,dpl,rmnet,adb
※駄目な場合はsetprop sys.usb.config diag,serial_cdev,rmnet,adb
を試してみてください - PDCを開く
※PDCに何も出てこない場合、コンピュータの管理→デバイスマネージャーでドライバーをインストールする必要があります。
正常時はポート (COMとLPT)に
Qualcomm HS-USB MSM Diagnostics 90E5
Qualcomm HS-USB MDM Diagnostics 90E5
モデムに
Qualcomm HS-USB Modem 90E5
などと出ます。 Oversea-Commercial DS
をSub0とSub1ともにDeactivateした後、Removeで削除する
※エラーでPDCが閉じたら開き直してやり直してくださいVoLTE-PTCRB
を選び、右クリック→SetSelectedConfigでSub0 (SIM 1の場合)・Sub1 (SIM 2の場合)を選ぶ
※ない場合はVoLTE-CUやSmart-VoLTEを使ってみてください- Activateを押す
- OnePlus 8Tのモバイルネットワーク設定でVoLTEを有効化する
です。PDCの使い方など詳しくは調べてください。
なお、VoLTE有効化をした際にAPN情報がおかしくなることがあるようなので、上記手順をしてもデータ通信できない場合はAPNを一旦削除して追加し直してみてください。APNタイプに半角スペースが混じっていないかも確認してください。
なお、8の手順の代わりにこちらの各キャリアのフォルダに入っているmcfg_sw.mbnをダウンロードして保存し、Loadボタンを押してそれを読み込めば他国のプロファイルを使わなくても各キャリアに適したものを使えるようになります。
VoLTE-PTCRBはテスト用のプロファイルなので、各キャリア向けに調整されたプロファイルのほうが良いと思います。
CommercialフォルダはOnePlus 9 Pro由来、pixel_CommercialはPixel 4由来のファイルで、環境によってはPixelのほうでないと動かないことがあるようです。
root化して接続するより動作が不安定なようで、PDCに何も出なかったりフリーズしたりするので、安定するまで何度か繰り返してみてください。
これでY!mobileや楽天モバイル (MNO、Rakuten UN-LIMIT 2.0) でもVoLTEで通話できるようになります。
楽天モバイルではRakuten LinkのSMS認証等もちゃんとできました。
VoLTE-CUなどではなくVoLTE-PTCRBを選ぶことで、CA (キャリアアグリゲーション) も有効化されるようです。
若干手間が掛かるのは変わらないですが、非rootでもVoLTEを有効化できる方法が見つかったことで「VoLTEのためだけにroot化する」という必要性はなくなりました。
なおVoLTEはdocomo、SoftBank、Y!mobileといった回線では3Gで通話することもできるので今のところはそれほど重要度は高くないですが、auや楽天モバイルでは4G通話しか対応しておらずアクティベーション関係も不可能になることがあるため、VoLTE有効化がほぼ必須となっています。
姉妹ブランドのOPPO/realmeだとSIMを挿すだけでVoLTEが使える場合もありますし、早いところOnePlusでもVoLTEがデフォルトで使えるようにしてくれれば一番良いのですが…。