Bluetooth テザリング可能なスマホに NOVO7 Fire で Bluetooth-PAN 接続するメモ
今日もメモ。
BT テザリング可能なスマホに NOVO7 Fire から BT-PAN 接続して通信出来るようにしてみる。
アプリとか使わずに、Android 標準機能とコマンドで何とかする。 Android の設定の BT 設定から接続すると落ちたりするし、なんか IP 振られないし。アプリを使えば簡単なんだろうけど、なんだか癪なので!
以下、親機とか子機とかいう呼び名は正しくないんでしょうが、便宜的に。メモだし。
1. テザリングで BT-PAN を使うよう設定
親機側で行う。 HTCJ にはある。 mini pro にはない。
BT テザリングを ON にしていると選べないので ON の場合はいったん OFF に。
BT テザリング設定をタップ。
今回はダイヤルアップネットワーク (DUN) ではなくパーソナルエリアネットワーク (PAN) に。
3. BT ペアリング
親機と子機で普通にペアリングすれば良い。
6. コマンドを叩く
子機側でシェルを叩いて接続設定等々を行う。
以下を参考にした。
とりあえず root 権限取得。
$ su
以下すべて root で行う。
# というか root 以外で出来るか試してない。→ 試した。 permission denied!
pand で親機に接続。
# pand --connect AA:BB:CC:DD:EE:FF
もしくは親機の BT の設定から、すべての端末から検索出来るようにした上で
# pand --search
でも OK 。
親機側の IP アドレスを調べる
親機の IP アドレスを知る必要があるので親機側でコマンドを叩く。
pand --connect していないと bnep0 は出てこない。
$ netcfg lo UP 127.0.0.1/8 0x00000049 00:00:00:00:00:00 ・ ・ ・ wlan0 UP 192.168.XX.XX/24 0x00001043 XX:XX:XX:XX:XX:XX bnep0 UP 192.168.50.1/24 0x00001043 AA:BB:CC:DD:EE:FF
必要なのは bnep0 の情報。 MAC アドレスは先程のとおりだとして、 IP アドレスを覚えておく。
ここでは 192.168.50.1 が振られていたとする。
子機側に戻る
再び子機側に戻ってコマンドを叩く。
# ifconfig bnep0 192.168.50.2 up ← 親機のアドレス内で適当に採番 # route add default gw 192.168.50.1 dev bnep0 ← 親機のアドレス # setprop net.bnep0.dns1 8.8.8.8 ← DNS を設定。今回は Google の # setprop net.dns1 8.8.8.8 ← 上記に同じ
接続確認は ping を通したり nslookup したり、ブラウザを使ったりすればいいと思う。
$ nelookup www.google.co.jp Server: 8.8.8.8 Address 1: 8.8.8.8 google-public-dns-a.google.com Name: www.google.ne.jp Address 1: 2404:6800:4004:802::1018 Address 2: 74.125.235.87 nrt19s01-in-f23.1e100.net Address 3: 74.125.235.88 nrt19s01-in-f24.1e100.net Address 4: 74.125.235.95 nrt19s01-in-f31.1e100.net
7. 接続解除
やっぱりコマンドを叩く。
# pand -K
おもむろに BT を OFF っても切れるはず。
TIPS
子機側でこんなシェルスクリプトを書いて Gscript とかで読ませれば簡単。
bt-pan-on.sh
#!/system/bin/sh /system/bin/pand --connect AA:BB:CC:DD:EE:FF /system/bin/sleep 5 /system/bin/ifconfig bnep0 192.168.50.2 up /system/bin/route default gw 192.168.50.1 dev bnep0 /system/bin/setprop net.bnep0.dns1 8.8.8.8 /system/bin/setprop net.dns1 8.8.8.8
bt-pan-off.sh
#!/system/bin/sh /system/bin/pand -K
注意
BT-PAN 接続中は Android 端末的には外部ネットワーク接続をしている扱いにならないらしい。そのため、 Google Play で接続待ちになったり、同期ができないとかいう状態になる。
それでもまぁ、電池持ちが Wi-Fi テザよりいいっていうメリットは大きい。