Official Linux Bluetooth Protocol Stack

The Bluetooth wireless technology is a worldwide specification for a small-form factor, low-cost radio solution that provides links between mobile computers, mobile phones, other portable handheld devices, and connectivity to the Internet. The specification is developed, published and promoted by the Bluetooth Special Interest Group (SIG).

BlueZ provides support for the core Bluetooth layers and protocols. It is flexible, efficient and uses a modular implementation. It has many interesting features:

  • Complete modular implementation
  • Symmetric multi processing safe
  • Multithreaded data processing
  • Support for multiple Bluetooth devices
  • Real hardware abstraction
  • Standard socket interface to all layers
  • Device and service level security support

Currently BlueZ consists of many separate modules:

Bluetooth kernel subsystem core

L2CAP and SCO audio kernel layers

RFCOMM, BNEP, CMTP and HID kernel implementations

HCI UART, USB, PCMCIA and virtual device drivers

General Bluetooth and SDP libraries and daemon

Configuration and testing utilities

Protocol decoding and analysis tools

Supported Profiles

Lower level Host Stack: Core specification 4.2, Not (yet) 3.0+HS.
Includes GAP, L2CAP, RFCOMM and SDP.

Profiles: BlueZ

  • A2DP 1.3
  • AVRCP 1.5
  • DI 1.3
  • HDP 1.0
  • HID 1.0
  • PAN 1.0
  • SPP 1.1

Profiles: GATT (LE)

  • PXP 1.0
  • HTP 1.0
  • TIP 1.0
  • CSCP 1.0
  • FMG 1.0

Profiles: OBEX

  • FTP 1.3
  • OPP 1.1
  • IMAP 1.1
  • MAP 1.0
  • PBAP 1.1

Profile: oFono project

  • HFP 1.6 (AG & HF)