ドコモのスマホでテザリングを有効にした時にAPNを切り替えない方法

テザリングの時にAPNを切替はいらない

※今回の投稿の中でインストールしたり、設定を変更する内容がありますが、実施するときは自己責任でお願いします

ドコモの端末ではテザリングを有効にした時にAPNが切り替わることがあります。AUやソフトバンクではこのようなことは無いと思います。

普通に使っていれば問題はないのですが、IIJmioなどの格安SIMを使ったときに、ドコモの端末ではAPNが切り替わりネットワークのエラーが発生してテザリングができない問題があります。

試しにお店でテスト用のSIMを借りて接続を確認したところ、スマホでブラウザ表示などの通常の通信は問題ありませんでしたが、テザリングを有効にした時にやっぱりネットワークエラーが発生しました。

そんな時の対応としてはスマホを強制的にroot化してファイルを編集するアプリなどを使ってデータベースファイルを編集してAPNが切り替わらないようにすることが手順として知られていました。

でも、いろいろと調べてみたらroot化をしなくても設定を変える方法を見つけました。

設定方法

僕が使っているスマートフォンはXperia Z2 so-03fです。Androidバージョンは4.4.2でビルド番号は17.1.1.B.3.195です。
端末情報

まずは設定をする前にテザリング前後の状態を確認します。

before tether wi-fi tether dcmtrg.ne.jp

上の画像は左がテザリング有効前で接続しているAPNがspmode.ne.jpで、右がテザリングを有効にした時でAPNがdcmtrg.ne.jpになっていることが分かります。

APNの情報を確認するにはSystem Info for Androidを使っています。

System Info for AndroidPlay iconSystem Info for Android

制作: ElectricSheep (Patrick Bouliou)
価格: 無料
平均評価: 4.5(合計 36,595 件)

posted by: AndroidHTML v2.3

ここからが具体的な設定方法になります。

方法の概要としてはパソコンとスマホをUSBケーブルで接続をしてパソコンからコマンドを実行します。

使用するコマンドはadbコマンドというもので、adbコマンドを使うためにはAndroid SDKをインストールする必要があります。

Android SDKを設定をるためにはこちらのサイトがきれいにできていてわかりやすいと思うので参考にしてください。
Android SDKをインストール方法

Android SDKのインストールが終われば、パソコンとスマホをUSBケーブルで接続をします。この時のUSBケーブルは充電専用のケーブルではなく、データ転送ができるタイプのケーブルで接続をしてください。

そして、パソコンからスマホを操作するために、スマホではUSBデバッグを有効にしておく必要があります。
USBデバッグ

USBデバッグを有効してから、コマンドを実行します。パソコンでコマンドプロンプトを開いて以下のコマンドを実行します。
コマンドプロンプト画面

C:\Users\ユーザ名>adb shell
shell@SO-03F:/ $ settings put global tether_dun_required 0
settings put global tether_dun_required 0
shell@SO-03F:/ $ exit
exit

settings put global ・・・ 設定コマンド
tether_dun_required ・・・ テザリングの時にAPN切り替えの設定
0 ・・・ 切替を無効(1の場合は切替を有効にする)

コマンドの実行が終わればスマホを再起動します。

起動後にWi-Fiでのテザリングを有効にして、APNの状態を確認してみるとAPNが切り替わることなくspmode.ne.jpの状態が維持されています。

Bluetooth(ブルートゥース)でのテザリングの時もAPNの変更はありませんでした。
bluethooth tether spmode.ne.jp

これで、テザリングを有効にした時にAPNが切り替わらないことが確認できました。格安SIMなどドコモ以外のSIMカードをドコモのスマホに入れてもテザリングを使えるようになるはずです。

通信費を節約するために近いうちにドコモを解約してIIJmioなどのSIMを使う予定なので、その時にテザリングを正常に使えるかを確認してみようと思います。

root化をすると端末の挙動がおかしくなるリスクやドコモのサポートも受けれなくなりますが、今回、root化せずに設定を変えることができたので良かったです。
※サポートがなくなることは、ドコモを解約して他社SIMを使う時点でドコモの補償もなくなるので別にいいのかもしれませんが。

それにしてもドコモのAPNが切り替わる現象ですがほんとうに不便な仕様です。もともとはテザリングのネットワークは大きなデータを流れることが予想されいていてコントロールをする目的なんだと思いますが、実質的に他社SIMの使用を制限して顧客の囲い込みになっているので端末利用者の自由度が損なわれています。

2015年3月21日追記
SIMの販売をしている家電量販店でu-mobileのテスト用のSIMを借りてテザリングの動作を確認してみました。結果としては問題なくテザリングを有効にすることができました。
umobile tether
ついでに速度の計測をしてみました。
左がu-mobileのSIMで右がドコモです。計測した時間は15時ごろです。u-mobileは通信量無制限のプランもありますが、無制限を選択する人はネットのヘビーユーザが選ぶプランとなる場合が多いのでこの速度ではまだ実用的とは言い難いですね。

速度計測 u-mobile docomo速度計測

さいごに

設定の流れを僕自身が忘れないためにも、簡単にまとめます。

ドコモのスマホはテザリングを有効にするとAPN(アクセスポイント)が切り替わるので、他社SIMではテザリングが出来ないケースが多い。

それでも、ドコモで購入したスマホで格安SIMなど他社SIMでテザリングをしたい場合は、APNが切り替わらないために以下の手順を行う。※ITリテラシーが割と高めでないと難しいと思います。あと、設定は自己責任で。

1、JDK(Java)をインストールする
(コメント)インストール先は「sdk」などを作ってわかりやすくした方が便利。

2、Android SDKをインストール | エンジニアの休日

3、環境変数の設定 | エンジニアの休日
(コメント)パスは1、で設定したパスを覚えておいた方が便利。

4、パソコンを再起動

5、パソコンとスマホをつないでコマンド実行(※スマホはUSBデバッグモードに)
C:\Users\ユーザ名>adb shell
shell@SO-03F:/ $ settings put global tether_dun_required 0
settings put global tether_dun_required 0
shell@SO-03F:/ $ exit
exit

(今回参考にさせていただいた情報)
http://androplus.org/Entry/282/
https://pmf.silvrback.com/fixing-tethering-on-android-kitkat
http://vinhboy.com/blog/2013/12/27/how-to-tether-the-nexus-5-on-t-mobile/

  1 comment for “ドコモのスマホでテザリングを有効にした時にAPNを切り替えない方法

Comments are closed.