OpenBSD Journal

Bluetooth support

Contributed by mk/reverse on from the wifi-sucks-this-rocks dept.

Alexander Yurchenko just committed some stuff which introduces Bluetooth support in OpenBSD:

CVSROOT:	/cvs
Module name:	src
Changes by:	grange@cvs.openbsd.org	2005/01/14 05:04:02

Modified files:
	sys/conf       : files 
	sys/kern       : uipc_domain.c 
	sys/net        : if.c if_types.h netisr.h netisr_dispatch.h 
	sys/sys        : malloc.h socket.h 
Added files:
	sys/netbt      : bluetooth.h bt.h bt_input.c bt_proto.c bt_var.h 
	                 h4.h hci.h hci_raw.c hci_var.h l2cap.h 
	                 l2cap_var.h rfcomm_var.h 

Log message:
First step in Bluetooth protocol stack support.

Full commit message is available at MARC.

NOTE: This is work in progress, more to be done, so you cannot use GPRS from your cellular phone to go online yet.

(Comments are closed)


Comments
  1. By Anonymous Coward (139.78.112.58) on

    Awesome! I had looked into doing this myself, but it was over my head. How fully featured are the plans and how compatible is it with software for the FreeBSD stack? The log message says L2CAP and RFCOMM are on the way, but will major effort be needed to import things like sdpd and bthid (or will they be ported/imported at all)? There was some recent discussion over in FreeBSD about a virtual keyboard driver for bthid to send keyboard events to and they even mentioned wscons as an alternative solution, so maybe we've got a jump on that end of things.

    Way to go! Need testers? I've got 3 BT adapters, 2 BT capable phones, a BT headset, a BT keyboard, and a BT mouse (that I never could get working well, even in Windows).

    Comments
    1. By grange (81.211.46.134) on

      Socket interface is fully compatible with FreeBSD, so all FreeBSD apps require minimal porting work.

  2. By David (82.53.146.231) caff AT openbeer DOT it on

    Wow, this is definitely COOOL!!!

    Alexander, You make my day!

  3. By Anonymous Coward (213.118.91.56) on

    the following might also be interesting to some: http://anil.recoil.org/projects/blueproxy.html (and yes, it has a bsd license)...

  4. By jtorin (217.215.193.248) on

    This is definately cool. Especially since I just got an laptop with bluetooth support. :-)

    I think I will run out and buy a bluetooth USB-adapter tomorrow. They aren't that expensive.

  5. By Anonymous Coward (217.96.167.176) on

    Which USB->Bluetooth adapters might be supported?

    Comments
    1. By Bruno Rohée (82.224.28.96) bruno@rohee.com on

      e.g. my Dlink DBT-120 is. Recognized as

      ubt0: Cambridge Silicon Radio Bluetooth, rev 1.10/4.43, addr 2
      

    2. By Anonymous Coward (139.78.112.184) on

      There aren't many bluetooth chipsets out there. Most USB bluetooth adapters are built on the CSR chipset (several versions out now). I believe the FreeBSD driver supports most of them, so I imagine this one will as well. All 3 of my BT adapters are CSR based and all 3 are from different manufacturers (Sony, TDK, and Microsoft).

      Comments
      1. Comments
        1. By Anonymous Coward (139.78.112.184) on

          From what I've read, the Linux and FreeBSD Bluetooth drivers support some PCMCIA Bluetooth devices, but that they aren't recommended. The reason is that the USB BT adapters actually have a defined standard interface they all are supposed to generally comply with, but the PCMCIA adapters don't have anything like that. The result is that specific drivers have to be written (or adapted to) each card individually.

        2. By Anonymous Coward (217.96.167.176) on

          Bluetooth hardware info: http://www.holtmann.org/linux/bluetooth/devices.html

    3. By barryg (202.92.128.24) on

      My cheapo generic usb bluetooth adapter with a silicon wave chipset is supported.

      dmesg[0] and usbdevs -v[1] here. Product url[2]

      Oh, this is on a macppc machine.

      [1]
      ubt0 at uhub5 port 3 configuration 1 interface 0
      ubt0: SiW SiW, rev 1.10/15.00, addr 5
      ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
      ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3; wMaxPacketSize=49; nframes=6, buffer size=294
      
      [1]
      port 3 addr 5: full speed, power 50 mA, config 1, SiW(0x0001), SiW(0x1310), rev 15.00
      
      [2]
      X-Net BTU02B

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]