Overview:

Bluetooth is wireless low-power network stack. The target is implement Bluetooth 2.0, although the major differences between 2.0 and 1.1 are in the HW specs. 
The Project has been divided in 3 phases. The specifications document for Bluetooth, depending its version, very between 1200 and 1500 pages which 
covers phase 1 and 2 plus hardware device specifications.

The development of the stack will be done keeping an eye to another operating systems, such as Linux and FreeBSD bluetooth kernel land implementations. And MacOS for the user land integration, and SymbianOS or JSR-82 for the possible bluetooth kit.

The reading specs process can be mostly skipped, although is being using as well as other OS source code as consulting material. All non started parts are still to be designed before implementation

Troubleshooting:

  1. Strong dependency with Haiku network stack, which is making hard to keep the development in R5. With the self compiling problem that it implies.
  2. Hardware availability(1 dongle(damaged), 1 telephone) 


As many of you know from my blog, the project started from scratch with some success.


Technical Info:

Phase 1: Base Stack:


In this phase the intention would be give a a base for further development, user feedback of the technology and real communication. In an overview provide:


H2: USB Transport driver (Commands/Events/ACL) 90%

HCI:

L2CAP (core protocol/sockets) 65%

Milestones:

  1. Real comunication with the driver (27/09/07)
  2. Stack allowing devices to discover the Haiku node (17/03/08)
  3. Stack allowing discover remote devices through an inquiry process (19/04/08)
  4. Stack handling correctily a pairing process between 2 devices (23/07/08)
  5. L2CAP connection-oriented channels (23/11/08)
  6. L2CAP connection-less  channels (23/11/08) (no device available for testing)



Phase 2: Basic Stack:

The intention of this phase would be complete the stack, and let all prepared for the 3rd phase.


H2: USB Transport driver (SCO)

HCI:

RFCOMM: (core protocol/sockets)


Deadline:


Phase 3: Upper Protocols, Profiles and Applications:

Bluetooth profiles define how the bluetooth technology functionality is used, while the protocols is the implementation of the technology.
An overview of all these functionalities:
    http://bluetooth.com/Bluetooth/Technology/Works/Profiles_Overview.htm

Approximately, the specifications for each of these profiles do not go beyond the 100 pages. So Individuals could implement easily one of those functionalities.


Relevant info:

Project status:    http://urnenfeld.blogspot.com
General info:    http://en.wikipedia.org/wiki/Bluetooth
Document approach:    http://www.acm.org/crossroads/xrds9-4/blue.html