トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

UbuntuでBT-PANの設定

S21HTをモデムにしてBluetoth PANで通信

参考サイト:
http://www.eml.ele.cst.nihon-u.ac.jp/~momma/wiki/wiki.cgi/Ubuntu/Bluetooth.html
UbuntuでBT-PANの設定(P8860おぼえがき)
概ねこの通りで通信できるようになった。

N810で必要なパッケージ

 bluez-compat

pandコマンドがないのでbluez-compatのみN810標準OSでchrootして、apt-getでインストールした。具体的には、N810の標準OSでUbuntu-9.04をインストールしたときのような手順で

 insmod /mnt/initfs/lib/modules/`uname -r`/mbcache.ko
 insmod /mnt/initfs/lib/modules/`uname -r`/ext2.ko
 insmod /mnt/initfs/lib/modules/`uname -r`/jbd.ko
 insmod /mnt/initfs/lib/modules/`uname -r`/ext3.ko
 mount /dev/mmcblk1p3 /mnt/jaunty -o noatime
 mount /proc /mnt/jaunty/proc
 mount /sys /mnt/jaunty/sys
 mount /dev /mnt/jaunty/dev
 mount /dev/pts /mnt/jaunty/dev/pts
 mount /tmp /mnt/jaunty/tmp
 mount /proc /mnt/jaunty/proc
 chroot /mnt/jaunty
 export LC_ALL=C

と実行する。
他のインストールでも頻繁に実行するので、sshでN810に接続してコピー&ペーストすると楽。
insmodはこちらの環境ではエラーにしかならないので不要かも。

続けて、

 apt-get install bluez-compat

でインストール完了。

内蔵Bluetoothの準備

GNOMEデスクトップならbluetooth-appletが自動起動するがLXDEでは起動しないので、端末を開いてbluetooth-appletを起動する。

BTアイコンが表示される。

S21HT側で他のBT機器から見えるように設定しておいて、
N810のBTアイコンをクリック、「setup new device」だかをクリック。

表示されたダイアログで進めると自動的にBT機器を探し始めて、S21HTが表示される。
ここで適当なPINを選んでS21HTとペアリングしておく。

N810の環境設定

 sudo su

でルートになっておいて操作する。

 hcitool scan

でサーバ側のBluetoothアドレスが出てくるのでコピーしておく。

 mkdir /etc/bluetooth/pan

でディレクトリを作っておいて、エディタで

 /etc/bluetooth/pan/dev-up

というファイルを作る。ファイルの中身は

 #!/bin/bash
 ifup bnep0

念のため

 chmod +x /etc/bluetooth/pan/dev-up

しておく(不要かも)。

おなじように

 /etc/bluetooth/pan/dev-down

というファイルを作る。ファイルの中身は

 #!/bin/bash
 ifdown bnep0

念のため

 chmod +x /etc/bluetooth/pan/dev-down

する。

次に /etc/network/interfaces ファイルの最後に以下の内容を追加する

 iface bnep0 inet dhcp

最後に、S21HT側でBluetooth PANでインターネット共有した後に、N810側で

 pand -n --listen --role=PANU --devup /etc/bluetooth/pan/dev-up --devdown /etc/bluetooth/pan/dev-down --connect サーバのBluetooth-MACアドレス

を実行する。
P8860のときはこの時点で通信できるようになったが、N810では"Ignoring unknown interface bnep0=bnep0"のようなメッセージが表示されて通信できない。

しかし

 dhclient bnep0

と実行すると通信できるようになった。

pandとdhclientは毎回実行が必要。
スクリプトかalias化推奨。