GSoC/GCI Archive
Google Summer of Code 2010

BlueZ

Web Page: http://hostisdown.org/gsoc/2010

Mailing List: linux-bluetooth@vger.kernel.org

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: HSP, HFP, AVDTP, A2DP, AVRCP * Input Service profiles: HID * Network Service profiles: PAN * Serial Service profiles: RFCOMM More can be found here: http://www.bluez.org/about/

Projects

  • Add metadata and player status information to AVRCP plugin Today the AVRCP plugin in bluetoothd supports only remote control commands. Support for metadata and player status information is missing to fully comply with AVRCP 1.3. This is specially useful for devices with displays, like fancy headsets, cellphones, and car-kits. One of the most illustrative use-case of this feature is a user controlling a media player on his phone via a bluetooth car-kit that shows meta-information about the media beeing played.
  • Addition of the Message Access Profile to obexd Message Access Profile permits the sending/receiving of SMS over Bluetooth. A device first initiates a session with a phone. Then, the device can interact with the phone through two services, both implemented as OBEX services. The phone runs a Message Access Service (MAS) server, which presents a virtual hierarchy to the other device. The other device is not only acting as a MAS client but as a Message Notification Service (MNS) server, which listens for incoming notifications of new messages.
  • DUN Client This project intends to implement the Data Terminal role of the Dial-up Network profile on the linux stack. The DUN profile provides a standard to connect to the Internet and other dial-up services over Bluetooth technology. A example is use the Internet from a cell phone on your laptop via a dial-up connection. The goal is to implement the DUN client as a plugin inside oFono (a linux telephony stack) and if we have time the DUN Server(the Gateway role).
  • New command line tool for bluez Now there is no console bluetooth manager, except for a set of scripts in the test/ directory. Sometimes this is not enough, especially if no X server. Many people prefer to perform most operations in the console, even from a full DE. The idea of this project - write the utility to work with bluetooth devices. The main advantage - work in the console! X server is not needed, no binding to the DE/WM.