Bluez

What BlueZ?

The first Open Source pile of Bluetooth for Linux was developed by Axis Communication and was called OpenBT. But in 2005, this project was stopped. BlueZ is another development project of the pile Bluetooth on Linux. It was created at the beginning by max Krasnyansky in Qualcomm, a company founded in 1985. In 2001, they decided to publish it under a license GNU LPG. Thus the development of the official pile of protocol of Bluetooth for Linux started. One month after, the BlueZ pile was integrated into the Linux core.

In 2005, this project gained TuxMobil GNU/Linux Award for their contribution to the improvement of connections networks on portable machines provided with Linux.

Installation of BlueZ

BlueZ is already integrated into the core of the Linux series of version 2.4 and 2.6. For the older cores, there exist downloadable patches with the following address: http://www.bluez.org/patches.html For certain distributions Linux (Debian or RedHat for example), packages to update certain libraries and utilities are also available.

The architecture of BlueZ

Before version 2.3 of BlueZ, layer RFCOMM was located in space user and used the port series of space user (US). It had been created to function with the interface of sockets L2CAP of BlueZ. From now on, core RFCOMM was established in the Linux core and is located in space core of the BlueZ pile (more precisely in BlueZ-utils ).

HCI, which is part of the heart of the Bluetooth module, and the protocol of host transport are separate in various modules. For example hci_usb.ko to implement the layer of transport USB and hci_uart.ko for the layer of transport UART. L2CAP is implemented by the module core l2cap.ko . This one provides sockets BSD. RFCOMM has two aspects in BlueZ. One is the interface based on the sockets. With the manner of TCP, a connection RFCOMM is a flow. The other is an emulation TTY which provides nodes.

Virtual HCI is thus a peripheral virtual HCI which makes it possible to simulate Bluetooth peripherals.

Software composition of BlueZ

BlueZ is composed of various modules:

  • the heart of the subsystem of the core Bluetooth
  • layers of audio core L2CAP and SCO
  • implementations of core RFCOMM, BNEP, CMTP and HIDP
  • HCI UART, USB, PCMCIA and pilots of the virtual peripherals
  • libraries and demons General Bluetooth and SDP
  • Of the utilities of configuration and test
  • Of the tools of the protocols of decoding and analysis

BlueZ has a central module called bluez-kernel which contains all the installations of the heart Bluetooth. It builds the abstraction HCI, protocols L2CAP and LMP/LC. In the code of bluez-kernel is included the pilot HCI UART, the pilots HCI PCMCIA and protocol RFCOMM as well as things for BNEP.

Bluez-libs installs a library of access Bluetooth used by the other utilities and tools.

Bluez-utils contains the utilities used to handle the devices core and the module created by the pile Bluetooth. The utility hciconfig installed by the package, is almost the equivalent of ifconfig. Until the pile installs a new family of addresses, one needs this utility to handle the interfaces. The network Bluetooth has very different possibilities compared to other more traditional networks. This package is also useful to update peripherals HCI for example.

Bluez-sdp provides a demon and an access to the library used with SDP. It is a basic protocol used between two Bluetooth apparatuses to determine how they can communicate between them.

Bluez-side allows the SIDE (Bluetooth Personal Area Networking) . That includes pand , the demon of the profile SIDE and dund , the demon of the profile of access to the LAN. SIDE makes it possible the Bluetooth peripherals to function like peripherals Linux networks.

Bluez-hcidump is the tcpdump Bluetooth world. HCI is the interface of control of the host. HCI proposes a standard abstraction of the interface for the Bluetooth material, dictating the operations which the core of the Bluetooth pile must carry out for each material driver specific By providing an additional element to this layer, this tool offers a sight of all the traffic inbound and outgoing of the Bluetooth interface without worrying about the interface USB, PCMCIA or UART. RFCOMM is a standard for ports series style RS-232 on Bluetooth.

The CVS of BlueZ

The code of BlueZ being opened to the public, it was set up a CVS which makes it possible each participant of development of the project to add their modification. Here principal repertories present in the CVS BlueZ like their characterization.

Doc.: documents relating to BlueZ

firmware: package which allows the use of the tool bluefw

hcidump: analyzer of packages Bluetooth HCI

hciemu: emulation HCI for the BlueZ pile

kernel: all that relates to the BlueZ core, libs and libs2: libraries

obex: all that relates to the service Object Exchange (OBEX) which makes it possible to transfer from the data

packages: packages of certain distributions Linux (RedHat and Zaurus)

side: all that relates to the Sides. Evolution of bluez-side

rfcomm: all that relates to RFCOMM

sdp: all that relates to the Service Discovery Protocol

utils and utils2: .

external Bonds

  • BlueZ Official site of Bluez, official implementation of the Bluetooth pile for Linux.

  • Official site of the Bluetooth organization: One can download there the complete specification with the format pdf (in English - 1200 pages).

Random links:Private | The Life jacket | Architects and town planners of the State | 1799 in science | Gaetano Guadagni | Juncos,_Porto_Rico