Originally Published: Tuesday, 16 October 2001 Author: Devang Shah and Anurag Phadke
Published to: enhance_articles_hardware/Hardware News Page: 4/6 - [Printable]

The Commands Remain the Same: BlueTooth Technology and Linux

Linux.com is pleased to publish this well researched look at the emerging field of wireless networking, focusing on Bluetooth technology and Linux. Learn all about Bluetooth and even modifying the kernel (when needed) to support it.

  << Page 4 of 6  >>

BlueTooth and Linux

Bluetooth devices that use the correct chip as the host controller can operate with Windows and the friendly Penguin Operating Systems. Most of the window based devices use the USB or PCI slots and can be controlled by drivers that are shipped with them.

Configuring the units for Linux can be a painstaking task. Though the kernel version that ships with RedHat 7.1 has support for Bluetooth, we recommend you download the latest kernel and build it in accordance with your Bluetooth device.

Short History of Bluetooth and Linux

When wireless technologies first ushered in, their support was mainly limited to the products manufactured at Redmond's HeadQuarters. As developers realise the potential the penguin has inherited, they start looking out for other areas of interest. By the time Bluetooth came into existence, the SIG had made its point clear: do not restrict the development of Bluetooth technology to a proprietary operating system. Today, more than a dozen companies have ventured into the arena of "Bluetooth and Linux" with industry giants such as IBM leading the pack.

BlueZ

The first and foremost step each company concentrates on when developing Bluetooth based applications is, make a Bluetooth protocol stack for Linux. BlueZ has been developed by Quallcom and is now an Open Source project.

What is so different in BlueZ?

Bluetooth uses a set of well defined protocols. These protocols are standard for using any Bluetooth based device. Though some of the layers can be modified, the basic functions and commands remain the same.

Current version of BlueZ supports core Bluetooth protocols and layers. Offering flexibility by allowing RFCOMM to be integrated in the kernel (optional), mandatory presence of SDP in user-space, standard Unix socket interface and provision to use more than one Bluetooth device on a single machine. For those of us who cannot afford Bluetooth devices, we can realize our fantasies by using the HCI emulation daemon that comes with the package.

BlueZ:
Web Site : http://bluez.sourceforge.net
Platforms: glibc based Linux distro with kernel 2.4.x

Axis Bluetooth Driver

Going on the same lines, another company named Axis is developing drivers for Bluetooth devices. Released under the Axis OpenBT Stack license and developed mainly for 2.0.33 kernel, the code can easily be used with higher versions of the kernel. Currently under development, the code allows interoperability only between the basic LAN profile, (PPP over RFCOMM) and simple Service Discovery Profile. Axis is concentrating on developing Bluetooth Access Point product which shall act as a hot spot for communicating between various devices and providing a link between wireless data networks and Bluetooth enabled devices.

Axis:
Web Site: http://developer.axis.com/

BlueDrekar

IBM - Big Blue enters into competition
Continuing with the legacy of giving Bluetooth technology ancient names, Drekar or dragon-headed longships were stealthy troop-carriers used by Vikings during the medieval European affair era. The BlueDrekar package includes loadable modules - HCI to RFCOMM/SDP layers, man pages, open API and executable bdd daemon to provide SDP interface.

In addition, since BlueDrekar middleware can use any transport layer you can write your own Transport Drivers for Bluetooth and just insert the BlueDrekar on top of it to get going. This allows you to use UART (Universal Asynchronous Receiver Transmitter) as a reference transport driver to build drivers for USB based Bluetooth devices.

BlueDrekar
Web Site: http://www.alphaworks.ibm.com/aw.nsf/techmain/bluedrekar
Kernel Support : kernel 2.2.14 and 2.4.2





  << Page 4 of 6  >>