．一日中寝てた。 ．前にプラネックスの BT-Mini2EDR という USB Bluetooth アダプタを買ったのを思い出したので、 NetBSD 4.99.7 なマシンに挿してみた: ubt0 at uhub4 port 1 configuration 1 interface 0 ubt0: Cambridge Silicon Radio Bluetooth USB Adapter, rev 2.00/19.58, addr 4 btconfig: % sudo btconfig -v ubt0 up ubt0: bdaddr XX:XX:XX:XX:XX:XX flags 0x3<UP,RUNNING> ところで、うちにある Bluetooth デバイスといえば Wii リモコンしかないので、とりあえずこれを inquiry: % sudo btconfig ubt0 inquiry Device Discovery from device: ubt0 .... 1 response 1: bdaddr XX:XX:XX:XX:XX:XX : name "Nintendo RVL-CNT-01" : class: [0x002504] Joystick <Limited Discoverable> : page scan rep mode 0x01 : page scan period mode 0x02 : page scan mode 0x00 : clock offset 7319 ちゃんと見つけてきてるね。 ．ついでにユーザランドも trunk にしといた。 gcc が 4 になってるな。試しにカーネル作ってみるか。 ．btdevctl でちゃんと bthidev にアタッチできることと、ボタンを押すと 48 番(0x30)のレポートが飛んできてカーネルメッセージが出るのは確認した。ちゃんと動くじゃん NetBSD の Bluetooth スタック←信用してないらしい ．NetBSD は PF_BLUETOOTH というのがあって、これを使うとユーザランドから BSD ソケット経由で Bluetooth デバイスとお話ができる: % ./wii -r XX:XX:XX:XX:XX:XX cpsm=17, ipsm=19 ctl socket connected. int socket connected. A1 30 00 00 A1 31 40 20 7F 76 95 A1 31 60 60 7F 76 94 A1 31 20 20 80 76 94 A1 31 20 00 80 76 95 A1 31 20 20 80 75 95 A1 31 60 60 7F 75 95 A1 31 40 40 7F 76 95 .... という感じ。