FreeBSD On ThinkPad X60

Bluetooth

ThinkPad X60 内蔵の Bluetooth を利用して ppp 接続する。
ThinkPad X60 には Broadcom 社の bluetooth インタフェイスが搭載されており、 FreeBSD からも問題なく利用できる。

カーネルモジュール

Bluetooth を利用するためにカーネルモジュールをロードする必要がある。
そのために、起動時に /boot/loader.conf に 以下のモジュールをロードする設定を追加する。
netgraph_load="YES"
ng_ubt_load="YES"

デバイスの設定情報

携帯電話や PHS などの通信機器は接続する際に認証が必要になるので、 そのための情報を /etc/bluetooth/ubt0.conf ファイルに設定する。
authentication_enable="YES"
encryption_mode="ALL"
Bluetooth 機器に接続するためには Bluetooth 機器のデバイスアドレスと、 名称が必要になるので、hccontrol(8) コマンドを実行して取得する。 まずは inquiry で近くにある Bluetooth デバイスを検索し、 取得した bdaddr を指定して詳細な情報を取得する。
# hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: XX:XX:XX:XX:XX:XX
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 00
Page Scan Mode: 00
Class: 42:02:04
Clock offset: 0x7d0a
# hccontrol -n ubt0hci remote_name_request XX:XX:XX:XX:XX:XX
BD_ADDR: XX:XX:XX:XX:XX:XX
Name: 機器名称
Bluetooth 機器との認証を管理するのは hcsecd(8) というプログラムなので、 接続する機器ごとに認証のための PIN 番号を /etc/bluetooth/hcsecd.conf に登録しておく。
device {
	bdaddr  XX:XX:XX:XX:XX:XX;
	name    "機器名称";
	key     nokey;
	pin     "PIN";
}
携帯電話や PHSに最初に接続する時にここで指定した PIN を 入力する事により接続が可能になる。

接続

Fn + F5 を押すと画面下の Bluetooth インジケータが点灯して Bluetooth が利用可能となる。
bluetooth を利用して ppp 接続するためには rfcomm_pppd(8) を利用して ppp 接続を実行する。 ppp の設定方法は通常通りなので /etc/ppp/ppp.conf に 必要な情報を記述しておく。
default:
	set log Phase Chat LCP IPCP CCP tun command
	enable force-scripts
	set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATZ OK-ATZ-OK ATD\\T TIMEOUT 20 CONNECT"
	set login
	set timeout 300
	set phone "電話番号"
	set authname ユーザID
	set authkey  パスワード
	add default HISADDR
	enable dns

携帯電話やPHSを利用して PPP 接続する際には以下のコマンドを実行する。
$ sudo hccontrol -n ubt0hci write_authentication_enable 0
$ rfcomm_pppd -c -a XX:XX:XX:XX:XX:XX -C DUN -l default
FreeBSD 6.3-RELEASE にアップグレードしたところ、 hccontrol を実行しないと携帯電話/PHS と接続ができなくなったので追加した

Last Update: 4 Feb. 2010