How much should I expect Bluetooth to be working on OBSD 4.2? I can get some things to work, but I can't successfully open an RFCOMM connecton.
I compiled a kernel with ubt* and bthub* enabled (what is bthub* for?) and installed bluetooth-libs and -tools from ports. OpenBSD recognizes my Bluetooth USB dongle and creates ubt0 and, after I run 'btconfig ... up', creates uhub0: ubt0 at uhub0 port 3 ubt0: Integrated System Solution Corp. KY-BT100 Bluetooth, rev 1.10/3.73, addr 3 [...] bthub0 at ubt0 00:11:67:01:b6:d2 Running 'btconfig ubt0 inquiry' finds the nearby Bluetooth devices I expect it to and returns reasonable-looking information about them. Likewise, if I enable iscan and pscan, then those other devices can discover my OBSD machine's bluetooth adapter. So, at least some basic HCI stuff is working. That's as far as it goes, though. 'sdpquery -a BDADDR ...' fails after about 10 seconds, printing either "sdpquery: sdp_open: Host is down" or "sdpquery: sdp_open: Connection timed out"; I haven't seen a pattern to which message it prints. A short C program to create a socket also fails: fd = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); optionally, bind() to (BDADDR_ANY, psm=L2CAP_PSM_RFCOMM, channel=0) connect to (BDADDR of device, psm=L2CAP_PSM_RFCOMM, channel=1) -> blocks for a few seconds and fails with either ETIMEDOUT or EHOSTDOWN (again, I don't see an obvious pattern to which message I get when). Running the Mac "Bluetooth Explorer" and attempting to connect to my Mac (with either sdpquery, rfcomm_sppd, or the C program), I see that it usually opens a single channel with PSM 0, but nothing else seems to happen, and eventually the process on the OpenBSD side times out. Any ideas? Is basic RFCOMM stuff expected to be working in this release? How can I get more information about what's failing?