Bluetoothのアダプタについて(2)~スマホとテザリング

Linux Mintの初心者向けフォーラム

Bluetoothのアダプタについて(2)~スマホとテザリング

投稿記事by ptaka » 2015年8月04日(火) 15:28

別トピック「Bluetoothのアダプタについて」の顛末記、および「Linuxとスマホ間のBluetoothテザリング」についての新たな疑問です。

大前提として、Windows(XP)マシンに、LMDE201403(mate-32bit)をインストールして使っています(半年ほど)。
なお、前トピックでは書き忘れましたが、今回のBluetoothアダプタ導入の主目的は、手持ちのスマホ(Xperia A / Android 4.2.2)とつないで、Bluetoothテザリングすることです(現在は、wi-fiテザリングで運用中で、別の「Bluetooth内臓のタブレット」とスマホ間ではBluetoothテザリングが問題なくできています)。

まず、Bluetoothのアダプタの選択については、調べていくとCSR社スタックの製品はどうもキナ臭い感じだったので、Broadcom使用の以下のアダプタを購入しました。

 I-O DATA Bluetooth4.0+EDR/LE準拠 USBアダプター
 USB-BT40LE

そして、この品番でさらにググっていくと、今年の4月にLinuxでこの製品を導入された方の以下のサイトを見つけ、
http://blog.shibayan.jp/entry/20150423/1429718405

この手順を参考に、BlueZ 5.30 をインストールして進めていくと、アダプタがちゃんと認識され、hcitool scan コマンドでデバイス(スマホ)も認識され、PCとスマホのペアリングも完了!

と、とてもスムーズだったのですが、この先で行き詰まってしまいました。

まず、PCとスマホがBluetoothで繋がることは繋がるのですが、10秒前後ですぐに切断されてしまいます。再度、スマホでBluetoothをオフ→オンするとまた繋がるのですが、また10秒前後で切断…。何度やっても状況は同じで、アダプタを他のすべてのUSB端子に差し替えて試しても見ましたが、状況は何も変わりません。

悩みつつ、さらに調べていくと、どうやらスマホ側で(Bluetooth機器として認識されている)PCの設定プロファイルが、「電話」と「オーディオ」しか表示がなく、テザリングするには必要な「インターネットアクセス」の項目(PANプロファイル?)自体がありません。

ということは、どうやらスマホが電話としてしか認識されていないということかと思い、LMDE側でもBluetoothの設定画面でよくよく確認してみると、確かにデバイスとして認識されてるスマホの「種類」は「電話」になっていました!
また同じ設定画面で、(切断時の)スマホの表示行に、Bluetoothのマークと一緒に「南京錠」のようなマークが表示されています。(これは何を意味しているのでしょうか?通常であれば「ロック」されているという意味にも受け取れますが、Linux側でBluetoothのロックのような機能があったりするのでしょうか…)。

何はともあれ、一度ペアリングを解除して、やり直して見ましたが、状況は何も変わりません。

そこで、インターネットのアクセスポイントとしてもスマホを認識させるにはどうしたらいいのかを調べていったのですが、以下のサイトを見つけました。

「Arch Linux Japan~ Android テザリング」
https://wiki.archlinuxjp.org/index.php/ ... 3%E3%82%B0

どうやら、テザリングを可能にする(PANプロファイル)には、「ネットワークインターフェース」として、bnep0 というものを作成しなければならない(?)ようなので、上記のサイト後半の方、「4. Bluetooth でテザリング」にある、以下のコマンドを実行してみたのですが、

$ dbus-send --system --type=method_call --dest=org.bluez /org/bluez/hci0/dev_AA_BB_CC_DD_EE_FF org.bluez.Network1.Connect string:'nap'

 ※ もちろん、"AA_BB_CC_DD_EE_FF"の部分は、スマホのアドレスに置き換えました。

実行結果は、以下のようなエラーでした。

process 8220: arguments to dbus_message_new_method_call() were incorrect, assertion "_dbus_check_is_valid_path (path)" failed in file ../../dbus/dbus-message.c line 1266.
This is normally a bug in some application using the D-Bus library.
process 8220: arguments to dbus_message_set_auto_start() were incorrect, assertion "message != NULL" failed in file ../../dbus/dbus-message.c line 2951.
This is normally a bug in some application using the D-Bus library.
Couldn't allocate D-Bus message

専門的すぎて、初心者の私にはこのエラーの意味が分かりません…。

また、以下のサイトも見つけ、「netcfg コマンドを使えばBluetoothテザリングが可能になった」ということなのですが、そこに至るまでの作業の意味が、私にはよく分かりません…。
https://tanitsutakahisa.wordpress.com/2013/03/08/1341/


というような現状です。

ポイントを整理してみると、以下の2点について、解決策や何かヒントなどいただけたらありがたいです。よろしくお願い致します。

1)Bluetooth接続がすぐに切断されてしまう症状について、Linux側でBluetoothがロックされているのか、「南京錠」マークがロックという意味では無いとしたら、Bluetooth接続がすぐに切断されてしまうのは、どんな可能性が考えられるのでしょうか?(アダプタ自体やドライバの問題など?)

2)スマホ側で(Bluetooth機器として認識されている)PCの設定プロファイルに「インターネットアクセス」(PAN?)の項目を追加させるには、以下の2方法も含め、LMDE側でどのような対処をすればいいのでしょうか?

2−a)もし上記の「ネットワークインターフェース bnep0 の作成」コマンドの実行が正しい作業なのだとしたら、どんな対応を追加でしておけばエラーとならずにコマンドを実行できるでしょうか?

2−b)また、もう一つの「netcfg コマンド」を使った方法についても、これが正しい作業なのだとしたら、具体的にどんな手順を踏んでいけばいいのでしょうか?
ptaka
序二段
 
記事: 30
登録日時: 2014年3月26日(水) 22:50

Return to 初心者サポート

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[12人]

cron