Originally Published: Tuesday, 16 October 2001 Author: Devang Shah and Anurag Phadke
Published to: enhance_articles_hardware/Hardware News Page: 1/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.

Bluetooth   Page 1 of 6  >>

Homing Pigeons: The world's oldest and once most reliable messengers transfer information via air, the same medium, so to speak, being used by today's new generation of wireless technologies like BlueTooth and 802.11b . Though Bluetooth currently does not guarantee the same long distance pigeon-travel-delivery success, for short 10m communications it's the best techie-pet currently waiting to be tamed. Named after Harald Blaatand, King of Denmark (940-981 AD) who was the son of Gorm the Old (also King of Denmark) and Thyra Danebod (daughter of Ethelred of England), Bluetooth culture certainly reminds us of the start of a new age

Take a quick glance at the back of your PC, you will see only piles of wires in a messy maze. Bluetooth allows you to get rid of this mess, and then it also takes care of the fun job of solving the "Find the right port and right cable" puzzle.

Bluetooth was first developed in the late 90's. Currently, bigwig's such as Ericsson, Nokia, IBM, Toshiba, Intel, 3Com, Motorola, Lucent Technologies and Microsoft all led by the core Promoter Group of Bluetooth: SIG (Special Interest Group) which boasts of more than 1400 officially registered members. There is a good deal of interest in keeping the Bluetooth protocols open and non propriety and Bluetooth can also mix with Linux, as we shall see in this article.

Bluetooth Architecture

The Bluetooth forum has maintained compatibility between the existing protocols and the ones defined today by the SIG. This allows the developers to concentrate efforts only on developing new technologies for Bluetooth and not sit and reinvent the wheel.

CORE: The system design is made from independent layers for easy understanding and description. The core Bluetooth specification are described in detail in, appropriately, the Core Bluetooth Specifications.

PROFILES: The design specifications also describe certain properties for certain common classes of applications that will allow Bluetooth to achieve uniformity across diverse manufacturers. These are described in profiles section of the Bluetooth Specification.

Both the core and profiles are available for download at the official Bluetooth website http://www.bluetooth.com.

How Bluetooth Works: Information Exchange

The wireless network of Bluetooth works by passing information via radio waves using the 2.4GHz Industrial Specific Medicine (ISM) band. As Bluetooth is designed to be used in many countries, where standard rules and regulations are set by the local governing bodies, the actual frequency range does deviate between 2.4 GHz and 2.4835 Ghz.

Bluetooth waves use a technique named GFSK (Gaussian Frequency Shift Keying) for modulation, having a modulation index between 0.28 and 0.35. Positive frequency deviation corresponds to binary 1, whereas negative frequency deviation corresponds to binary 0. Instead of a continuous data stream of packets for transferring information, Bluetooth prefers the frequency hopping technique (described later in this article). When more than one information signal is to be passed at a time, a channel spacing of 1Mhz, along with a guard band, is added at each band end to avoid interference between adjacent data channels.

Overview of the Protocol Stack

A Bluetooth stack comprises standard as well as non-standard Bluetooth protocols and application layers such as UDP (User Datagram Protocol) and OBEX (OBject EXchange protocol).

Bluetooth Core Protocols -> Baseband, LMP,HCI, L2CAP, SDP.
Cable Replacement Protocol -> RFCOMM.
Telephony Control Protocol -> TCS-Binary, AT Commands.
Adopted Protocols -> PPP,UDP, TCP/IP, OBEX, vCard, vCal, IrMC, WAE.
The basic protocol stack consists is shown in this figure:

Radio Layer, Baseband and Link Manager Protocol (LMP) for the basic three bottom layers integrated In the firmware/hardware of the bluetooth stack. Host Controller interface (HCI), present between LMP and L2CAP communicates with the Bluetooth hardware by the upper protocol named Logical Link Control and Adaptation Protocol (L2CAP). HCI also forms the basis of operations providing command interface to Baseband controller, Link Manager, access to Hardware status and Control registers. Above L2CAP other layers such as RFCOMM, PPP, TCP/IP, UDP, WAP, OBEX etc. reside.

Radio Layer:

This layer forms the crux of operations, operating in the unlicensed 2.4GHz range using a spread spectrum communication system. Use of the fast Frequency Hopping technique, along with short data packets, presence of un co-ordinated interfering networks does not deter the voice/data transfer rate. Usage of highly redundant error correcting schemes such as CRC and use of CVSD coding technique for Voice transmission, ensure that the packets reach their destination safely.

A physical Radio Frequency Link between Bluetooth units (forming a piconet) is established using Baseband and the Link control layer.

Two types of links as described below are handled by Baseband.

SCO (Synchronous Connection Oriented) -> is a symmetric point-to-point link between a master and a slave in a single piconet behaving as a circuit switched connection containing audio or audio and data. Since it primarily contains audio data, the received packets are never checked for loss of data during transmission and thereby never re-transmitted.

ACL (Asynchronous Connectionless) -> It is a point-to-multipoint link between master and slaves residing in a piconet containing data information. As loss of data is not tolerated in most operations, packets are re-transmitted to assure that they reach the final destination.

All packets can be encrypted. Error correction techniques such as FEC or CRC can be used to ensure reliability of data transmission.

Audio -> Audio can be sent between two Bluetooth devices by simply opening an audio link.

Data Transfer Between Two or More Bluetooth Enabled Devices

When two or more Bluetooth units communicate with one another it forms a point to point connection. In addition, if there are more than 2 units, then a piconet is formed which shares the hopping channel amongst themselves. Within every piconet there exists a master unit which controls access to the channel and the remaining are slave units. A maximum of 7 active slave units and 255 standby slave devices can reside in a piconet. Multiple piconets overlapping one another form a scatternet. The corresponding units from different piconets can interact with one another on TDM (Time Division Multiplexing Basis). However a unit can be a master to only one piconet and slave in remaining piconets.

The Master/Slave is just a designation given to an unit whose scope is limited only within a particular piconet. This implies a master in one piconet can be a slave in another and vice versa.

Every device can scan its vicinity area for the presence of another similar device. When a slave performs an inquiry scan sequence scanning out unknown devices or a master reaches out in search for private devices and networks, appropriate signals are sent and depending on the software controlling the hardware, relevant responses sent back. The response provides the requisite amount of information required to connect the devices.

Each channel is divided into 625 micro-seconds of time slot, meaning the time difference between two successive frequency hops is of 625 micro-seconds, that is, the time length between two consecutive data packets is 625 micro-seconds Each time slot bearing a specific cyclic number varying from 0 to ([2exp27] - 1).

The TDD (Time Division Duplex) scheme is used when a unit has different designations in different piconets -> the master using even and slave using odd numbered time slots for data transfer.

Bluetooth   Page 1 of 6  >>