GSoC/GCI Archive
Google Summer of Code 2012


Web Page:

Mailing List:

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

It has many interesting features such as:

 * 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 HIDP kernel implementations
 * HCI UART, USB, PCMCIA and virtual device drivers
 * General Bluetooth and SDP libraries and daemons
 * Configuration and testing utilities
 * Protocol decoding and analysis tools
 * Audio Service witch gives support to profiles:
 * Input Service profiles: HID
 * Network Service profiles: PAN
 * Serial Service profiles: RFCOMM


  • Bluetooth Replayer A tool to "replay" scenarios from real Bluetooth hardware on a virtual interface.
  • Implement AVRCP 1.3 Controller Role We need to implement the Controller role of the 1.3 version of the specification of the AVRCP profile in which music metadata information, like artist name and track title, are added.
  • OBEX Filesystem In Userspace The idea is to create FUSE filesystem to mount and access files shared by devices using OBEX protocol.
  • Visualization of Bluetooth traffic The objective of this project is to develop a tool to visualize bluetooth traffic as sequence diagrams. The BlueZ has a command line tool hcidump, which reads raw HCI data from Bluetooth communication and displays it as commands, events and data in a human readable form. It is being developed hcimon, which has additional resources ( and may replace hcidump ). This tool will generate a graphic representation of traffic data coming from the hcidump (possibly also from hcimon). I intend to create graphics for this tool by using the GTK + toolkit, which is used by wireshark, so it would be easier to build the integration of this new tool with wireshark.