コモノポリタン

コモノ、デジモノが好きなKomonopolitan住民 (はてなダイアリーからの引っ越しです)

セットアップ(21) - Bluetoothの設定

挙動不審だったサスペンドまわりも、もう一度入れなおしたら治った。不思議。BT-359WでのGPSライフも快適。面白いからあっちゃこっちゃで測位しまくり*1

準備

導入&設定(その1)

  1. スペシャカーネルは導入済みの事でしょう)
  2. カーネルモジュール(kernel-moddules_v14i_arm.ipk)の導入
  3. BlueZモジュール(libs, utilesの順に)の導入
  • ここまでインストールすれば一応起動するはず。
# /etc/rc.d/init.d/bluetooth restart
Stopping Bluetooth subsystem: pand dund rfcomm hidd sdpd hcid.
Starting Bluetooth subsystem: hcid sdpd rfcoom.

ふむふむ。

BT-359Wの電源スイッチを押し、青ランプ(Bluetooth接続)がゆっくりと点滅する状態で下記のコマンドをコンソールで入力しアドレスを取得する。

# hcitool scan
Scanning ......
   xx:xx:xx:xx:xx:xx  BT-GPS-363223

忘れずにどこぞにメモっておこう。

9876

とでもしておく。これは自分のpin番号。

  • /usr/bin/bluepinの変更
echo "PIN:0000";

となっているので、/etc/bluetooth/pinと強引に同期が取れるようにしておく。

echo "PIN:"`cat /etc/bluetooth/pin`

先ほどscanした時のデバイスアドレスを基にconfigファイルを記述する

rfcomm0 {
  bind yes;
  # BT-359WのMACアドレス
  device xx:xx:xx:xx:xx:xx;
  channel 1;
  comment "GlobalSat BT-359";
}

これで

# /etc/rc.d/init.d/bluetooth restart

かましてやればrfcommが確立して、GPSと繋がるはず。確認はqpeGPSを立ち上げて行う。ちなみにqpeGPS等の設定は、ポート: /dev/rfcomm0、速度: 38400 です。(qpeGPSなら argv: -p /dev/rfcomm0 -s 38400)

導入&設定(その2)

何故だかサスペンド(電源Off)すると、レジューム(電源On)時にちゃんとBluetooth CFカードが認識されない。カードを出し入れすれば良いので、実際に出し入れするか、コンソールでcardctlコマンドを使ってeject/insertを実行すれば良い。でも面倒。

  1. Sudoの導入(私は時刻合せ自動化で既に導入済みでした)
  2. サスペンド・レジューム制御(susp-resume_0.9-3.1.ipk)の導入
  3. それ用のBluetooth設定ファイル(susp-resume-bluez_0.9.1_arm.ip)の導入

電源をOff/Onして、再度qpeGPS等のナビアプリでBT-359WとzaurusBluetooth接続できるか確認。よしよし。


折角P902iもあることだし、次はDial Up Networkにでもチャレンジするか。

*1:ちなみにBT-359Wでの測位開始時のコツは、10秒でも良いのでじっとしている事。さすれば30秒程で測位します。最初からガシガシ歩いていると数分間は測位しませんよ、衛星は捕捉してますが。