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 (including L2CAP, SCO and RFCOMM)

HCI UART, USB, PCI-E and virtual adapter drivers

System daemon with D-Bus APIs for access and integration

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)