BlueZ Integration
Submitted by Forrest Zhao, updated on 20 Aug 2009
Brief Introduction
Moblin must provide a full-featured Bluetooth service for MID users. This project is aimed at integrating the most popular open-source Bluetooth stack - BlueZ into Moblin, and focuses on filling the gaps when integrating BlueZ into Moblin.
Scope
The BlueZ Integration project is comprised mainly of the following 4 tasks:
- Integrate HFP (Hand Free Profile) with Telephony Stack
The HFP profile, in its current version, mandates some information from the GSM unit (stuff like voice dialing, caller line identification), so to get HFP right, it needs some extra work to integrate with the telephony stack. The code is at http://git.kernel.org/?p=bluetooth/bluez.git. - Support PBAP (Phone Book Access Profile)
First, we have added PBAP server/client support to obexd upstream. Next, we need to integrate PBAP with contacts storage to do the actual mapping of objects to the contacts database. The committed code is at http://git.kernel.org/?p=bluetooth/obexd.git. - Integrate DUN (Dial-up Networking Profile) and SPP (Serial Port Profile) into Moblin
We added the multiple serial proxies configuratoin to bluez. The committed code is at http://git.kernel.org/?p=bluetooth/bluez.git. - Bluetooth GUI
We need to provide a GUI for end users, to allow them to easily configure and control the Bluetooth services.
The table below lists the status of the Bluetooth profiles currently supported by BlueZ.
| Service category | Profile | Description | Supported by BlueZ? |
| Input service | HID | MID as host device connected to BT-enabled keyboard. | Yes |
| Serial service | SPP | MID to emulate serial port to run legacy applications. | Yes |
| Audio service | HSP | MID acts as AG can connect to BT-enabled headset to audio I/O and control capability. | Yes |
| Audio service | HFP | MID acts as a gateway provides remote audio I/O mechanism to car audio/headset. | Partially supported |
| Audio service | A2DP | Streaming music from MID-to-BT enabled headphone. | Yes |
| Audio service | AVRCP | MID acts as media player being controlled by a headset/car-kit. | Yes |
| Transfer service | OPP | MID allows the client to push and pull objects. | Yes |
| Transfer service | FTP | Transferring files wirelessly as a server or client role. | Yes |
| Transfer service | BIP | MID to initiate basic Imaging feature or respond to imaging request. | Yes |
| Transfer service | PBAP | MID acts as PSE hosts the phone book objects. | Partially supported |
| Transfer service | BPP | MID printing email, vCard, vCalender on a BT-enabled printer. | No |
| Transfer service | SYNCH | MID to synchronize with cellular phone or desktop PC. | Yes |
| Network service | PAN | MID acts as a role of PAN user, Group ad-hoc Network (GN) controller or Network Access point. | Yes |
| Network service | DUN | MID as 2.5/3G phone to provide dial-up networking to laptop/PC. | Yes |
| Basic service | SDAP | SDAP describes how an application should use SDP to discover services on a remote device. | Yes |
| Basic service | GAVDP | Provides the basis for A2DP and VDP. | Yes |
|
Basic service |
GOEP | Provides a basis for other data profiles. | Yes |
| Basic service | GAP | Provides the basis for all other profiles. | Yes |
Note: No real devices exist on the market to support BPP, so we won't put in any effort to support this profile.
Trend
For now the remaining task is to integrate PBAP server with EDS to get call history data.