ドコモ端末+MVNO SIMでもテザリングを使えるようにする方法(root不要)
非rootでも、ドコモ版 Android 機+MVNOの格安SIMで公式テザリングが使えるようにする技、を AndroPlus さんなどが紹介している件について触れておきます。
これは全ての機種で使える技ではなく、現状、Xperia AX、A、A2、Z1f、Z2、Z3、Z3 Compact、など、Xperia シリーズでの成功報告がメインとなっています。(LG G2 L-01F など他機種でも成功報告があるようですが…)
adbコマンドで公式テザリング時のAPN切り替えを無効化する
Android 端末のテザリング時APNロックを解除する方法は以下。
- Android 側で「開発者向けオプション」を出す
- Android 側で「設定」→「開発者向けオプション」→「USBデバッグ」にチェック
- PC 側で adb コマンドが使える様にする。(Android機種用のUSBドライバと Android SDK をインストール)
- Android を USB で PC と接続する。
その後、PC のコマンドプロンプトなどで adb コマンドがあるディレクトリへ移動し、次のコマンドを実行します。
adb shell settings put global tether_dun_required 0
これだけです。
うまくいかない場合は、
- adb shell コマンドが無いと言われる場合
→「Android SDK Manager」で「Android SDK Platform-tools」をインストールしましょう。 - adb shell コマンドでエラーが発生する場合
→ その機種用のUSBドライバ(adbドライバ)が正しくインストールされているか確認しましょう。
ついでなので、ドコモのテザリング周りの仕様と、今回の方法でMVNOでもテザリングできるようになる理由、についても触れておきます。
ドコモ版Android機は、公式テザリングにAPNロックが掛かっている
ドコモ版 Android 機で公式テザリングをONにすると、通常、接続先APNが強制的にテザリング専用APN「dcmtrg.ne.jp」へと切り替わる仕様となっています。
しかし、この「dcmtrg.ne.jp」はドコモ契約のSIMでしか繋がらない APN のため、「ドコモのAndroid端末に MVNO の SIM を挿すと公式テザリングが使えない」原因となっていました。
- (関連情報)Androidで現在接続中のAPNを確認する方法
厄介なテザリングAPNロックを無効化する方法はこれまでも知られていましたが、いずれも root 権限が必要。という欠点がありました。(具体的には、custom_settings.xml を書き換えたり、Android の内部設定値を保持している「settings.db」を軽量データベース「sqlite」で直接書き換える方法など)
今回、AndroPlus さんが紹介された技は、非rootでも「settings.db」を書き換えられる。というのが新しい点と言えます。
余談
今回の方法は、settings.db にテザリング関連の設定が入っている機種で、なおかつ、先のコマンドが許可されている一部機種でのみ使える、と推測されます。
未報告機種での成功・失敗情報は、コメント欄、Twitter などでいただけると、記事に蓄積できると思います。
目下、国内端末のSIMフリー化を推進中の総務省ですが、root を取得しない一般ユーザーにとってはテザリングAPNロックやaGPSサーバーロックなどの細かい課題が浮き上がってきている状況であり、MVNO 側からも総務省に対して声を上げていたとは耳にしています。
5月以降のSIMフリー義務化以降、SIMフリー化手続き時にこれらのロックが合わせて解除されるのか、それとも、ついにドコモのテザリング専用APNが廃止される形になるのか、どのような形で落ち着くのか、気になる所です。
ソース:
tnsox says:
7年前
情報ありがとうございます.
SH-06Eでwifiテザリングはできなかったのですが,
こちらと,tarosuke@githubさん↓のサイトを参考に
http://qiita.com/tarosuke@github/items/427a71986e4c71965472
USBテザリングできました.
tarosuke@githubさんはiijmioですが,
私はイオンモバイルなので以下のコマンドでうまくいきました.
settings put global tether_dun_apn AEON,i-aeonmobile.com,,,user,0000,,,,,440,10,3,*
また,私はandroidの以下のコマンドラインツールを2つダウンロードしたのですが,
adbコマンドだけなら2)をダウンロードしてcmdから実行するだけで良かったのかもしれません.
1)「Android SDK Tools」
https://developer.android.com/studio/index.html#command-tools
2)「SDK Platform Tools」
https://developer.android.com/studio/releases/platform-tools.html