ドコモのスマートフォンは、そのまま格安SIMに移行できるため、ドコモのスマホで格安SIMを利用している人はかなり多いと思いますが、テザリングが使えないことが最大のネックとも言われています。
rootを取れば、テザリングを使えるようにすることはできましたが、結構面倒です。僕も昔はrootを取ったりしていましたが、今は面倒なのでやってません。
今回、rootも取る必要がなく、格安SIM×ドコモのスマートフォンでテザリングを使える方法が見つかったようです。
格安SIM × ドコモスマートフォンでテザリングを有効にするためにrootは不要
そもそも、格安SIMで使用するドコモのスマートフォンでテザリングが利用できないのは、テザリングをONにすると、接続先がspモード用の接続先に変わってしまうという、ドコモの独自仕様によるものでした。(iPhoneを除く)
この独自仕様は、Xperiaの場合、settings.dbというデータベースで設定されており、ここを“いじる”ことで無効化できるんですが、rootを取る必要がありました。
ただ、AndroPlusによれば、settings.dbはroot不要でもいじれるそうです。
settings.dbを弄るにはroot化してアプリを使わないといけないという風に思いがちですが、adbでのコマンドでも編集できます。
引用元:root不要でsettings.dbを編集する方法 AndroPlus
settings.dbに変更を加えるための詳しいadbのコマンドは、AndroPlusで書かれているのでそちらを参考にしてください。
当記事では、もう少しわかりやすく手順を紹介したいと思います。ちなみに、settings.dbに変更を加えると、端末の改造にあたり、アフターサポートが受けられなくなる可能性があるのでご注意を。
格安SIM × ドコモスマートフォンでテザリングを使えるようにする方法:準備編
まずは、adbを実行するために必要なAndroid SDKをインストールします。
開発環境までは要らないので、「SDK Tools Only」から各OSに応じたSDKのみをダウンロードしましょう。
ダウンロードが完了したら、Windowsの場合は、ダウンロードした.exeファイルを実行してAndroid SDKをインストールしてください。案内に応じて進めていけば特に迷うところはない思います。Macはzipファイルを解凍しておきましょう。
Windowsの場合は、コントロールパネルの「システムとセキュリティ」→「システム」→「システムの詳細設定」をクリックして以下のウィンドウが表示されたら、「環境変数」をクリックしましょう。
システム環境変数の「Path」→「編集」の順でクリックして、インストールしたAndroid SDK内にあるplatform-toolsのパスを追加します。
Macの場合は、ターミナルを起動して「cd ~」を実行後、「pico .bash_profile」を実行して.bash_profileを編集します。
ダウンロードおよび解凍したAndroid SDKのパスを追加します。「export PATH=$PATH【Android SDK内のplatform-toolsディレクトリのパス】」と入力すれば、パスが追加されます。あとは、Control + Oを同時押しして、Control + Xを同時押しすると.bash_profileの編集が完了します。
一度ここでPCを再起動します。
今度は、ドコモスマートフォンにて、設定アプリを起動し、「端末情報」に進み、「ビルド番号」を連続でタップして開発者モードをONにします。
戻るキーを押して、「端末情報」の1つ上にある「開発者向けオプション」に進んで、画面右上にある「開発者向けオプション」のスイッチをONにして、「USBデバッグ」にチェックを入れましょう。
格安SIM × ドコモスマートフォンでテザリングを使えるようにする方法:実行編
今度は、ドコモスマートフォンをPCにUSBで接続して、Windowsならコマンドプロンプト、Macならターミナルを起動します。起動したら、「adb shell」を実行しましょう。
次に変更を加えるネームスペースおよびキーが存在するかを確認するため、「settings get global tether_dun_required」を実行します。1が返ってくればOK。nullが返ってくる場合はNGです。次の「まとめ」に進んでください。
今度は、「settings put global tether_dun_required 0」を実行して、実際に変更を加えます。
最後に「exit」を実行すればOK。
まとめ:Xperia以外のドコモスマートフォンではテザリングはできない?
今回は、Xperia Z3 Compact SO-02GとARROWS NX F-05Fで試してみました。どちらの端末も設定画面でテザリングをONにすると、いつものエラーメッセージ(当記事トップ)は表示されずにテザリングをONにできました。
ただ、Xperia Z3 Compact SO-02Gについては、実際にテザリングをONにして他のPCまたはタブレットから繋ぐと、きちんとページが読み込まれることが確認できましたが、ARROWS NX F-05Fのテザリングではページが読み込まれませんでした。
調べてみると、Xperia Z3 Compact SO-02Gについては、テザリングのON/OFF前後でAPNが変わらないようになっていたものの、ARROWS NX F-05Fでは、テザリングをONにすると、格安SIMのAPNからドコモ専用のAPNに変わっていました。つまり、変更の前後と同じ動きとなっていました。
変更前に見分ける方法の一つが変更を加える前のコマンド「settings get global tether_dun_required」でnullが返ってくるかどうかでしょうか。ページを読み込めなかったARROWS NX F-05Fの場合はnullが返ってきました。すなわちネームスペースもキーも存在しないということで、おそらく、ARROWSでは、これらを参照せずにAPNを変更しているようです。
というわけで、同じドコモのスマートフォンでも、メーカーや端末の実装方法によって、格安SIMでテザリングができたり、できなかったりするようです。
ちなみに、ピュアAndroidのNexus 4には該当のネームスペースとキーは存在しないことが確認できました。なので、settings.dbのtether_dun_requiredを参照してAPNを切り替えるのは個々のモデルの拡張部分と判断できると思います。