はじめに
この記事は技術的者向けを対象にしています.
テザリングが出来ない理由は様々なので,原因を特定することが大切になります.
これから紹介する方法はadbを使うものもありますので,Android開発者モードを使ったことのある人向けの説明になります.
想定環境
インターネット <=(携帯回線)=>テザリングモードのAndroid(ルーター)<=(Wifi)=>クライアントPC
インターネットに接続出来ない時に一番初めにやる事
Wifi接続が成功しているか?
この場合,そもそもテザリングモードがonになっていなかったり,通常のWifiが起動していたりします.
まずはWifiで接続できている事を確認しましょう.
1. WiFiの電波マークが立っているか?
2. pingがルーターと通っているか?
ping (rooter ip adress )
(例えば)
ping 192.168.0.1
などで確認できます.
これが通らなければそもそものテザリング設定自体やクライアント側の設定が問題でしょう.
これくらいならば,割と見直すだけで接続できるようになるかと思います.
クライアント側がPCの場合,Wifiドライバーが問題の場合もあるかと思いますが機種ごとの問題となるので割愛します.Windowsの場合,原因が色々考えられますので・・・・.
# ルーターには接続OKでも「インターネットがありません」状態
これが厄介なパターンです.なにせ,Android端末の設定が問題の可能性が高いので原因の特定が難しいです.
0.大前提:ルーターがインターネットに接続出来るか?
ブラウザを開いて適当なページを見てください.出来なければ,そもそもインターネットに繋がっていません.
1.そのAndroidスマートフォンはドコモ製?
ドコモ製のスマートフォンはMVNOのSIMを使ったときにAPNが変更されテザリングができないです.
設定を書き換えることで可能になるようです.(最近の端末では未検証)
https://hanpenblog.com/67/
2.APN設定?
まずは現在使っているAPN以外を全部削除してみてください.
http://www.itmedia.co.jp/mobile/articles/1702/06/news130_3.html
(原因)
Androidシステムでテザリング時に有効でないAPNを読み込んでしまう場合があるようです.
3. APNのAPNタイプの設定が間違っている
APNタイプのが次のものが現在は最低限必要のようです.
default,supl,dun
特にテザリングに重要なのがdunの設定になります.
https://king.mineo.jp/my/3489b0aea3ffa56c/reports/9054
4. tether_dun_requiredの設定がnull or 1
Redmi note5ではこの設定が標準ROMでされていないようです.
ADBで次のコマンドを実行して確認して下さい.
(正常時)
adb shell settings get global tether_dun_required
0
(設定が変更されている時)
adb shell settings get global tether_dun_required
null
adb shell settings get global tether_dun_required
1
と表示されます.
特にnullだった場合は0に設定しないとテザリングで通信ができないため次のコマンドを実行します.
adb shell settings put global tether_dun_required 0
こののちに再起動をするとテザリング通信が可能になる場合があります.