[haiku] Re: GSoC 2011: Bluetooth Support

  • From: Oliver Ruiz Dorantes <oliver.ruiz.dorantes@xxxxxxxxx>
  • To: haiku@xxxxxxxxxxxxx
  • Date: Sat, 26 Mar 2011 12:06:33 +0100

Hello Ambuj,

I have already downloaded and compiled Haiku on my system, and I have
> started going through the code of Haiku, specifically I am thinking of
> exploring Low Power Bluetooth as in sensor networks power is usually a very
> important design criteria, and consequently, it should help me here. I have
> downloaded Bluetooth specification v4.0 and I have started going through it,
> trying to understand different pieces.
>

Regarding low power, there is already the HCI interface which allows you to
cast HCI commands which would eventually configure your device in low power
mode. Its a feature, but should not take more than 1 day with the current
code. For this particular I recommend you to read the HCI commands and
Events.

- In the ideas page it is listed, lists this as 2.X specification
>

AFAIR in the software layers point of view there were not important changes
from 1.2 until 4.0. Most of them were focused in the physical layers.
As first I would better take an overview at the bluetooth architecture and
check in which layers Haiku is located. As obviously Haiku is not dealing
with hoping frequency nor any RF stuff.


> - Bluetooth mailing list has not been active for close to an year now.
>

Well that's because I am more or less alone in the development, and give the
updates via blog[7].

I would like to know :
> (a) Is this a good project to be pursued as part of GSoC ?
>

The student's attitude is a part of a GSoC project. So your skills, willing
and community integration is what can make your project worth to be
eligible. Short answer, yes.


> (b) What is the present status of Bluetooth in Haiku ?
>

Currently on the Kernel area there is the L2CAP[1](still needs work) and
HCI[5] implementations and there is the HCI transport protocol H2[2]
(hardware support for usb dongles).
In the userland area we have the bluetooth_server[3] which interfaces with
the kernel. Then there is a kit[4] which provides an API for applications
development.
Currently the best example of an application using this API would be the
bluetooth preferences[6].


> (c) and How should I proceed ? any specific issue I should worry about ?


I would recommend to retrieve the code compile and test the stack. Perform a
scan(inquiry) with the preflet and finding something would mean it is
working.
Once you are done with this you can try one of the small tasks defined here:

http://docs.google.com/View?id=dc8wsckv_6d8qdzbfz

Best Regards and Welcome in.

[1]
http://dev.haiku-os.org/browser/haiku/trunk/src/add-ons/kernel/network/protocols/l2cap
[2]
http://dev.haiku-os.org/browser/haiku/trunk/src/add-ons/kernel/drivers/bluetooth/h2/h2generic
[3]http://dev.haiku-os.org/browser/haiku/trunk/src/servers/bluetooth
[4]http://dev.haiku-os.org/browser/haiku/trunk/src/kits/bluetooth
[5]http://dev.haiku-os.org/browser/haiku/trunk/src/add-ons/kernel/bluetooth
[6]http://dev.haiku-os.org/browser/haiku/trunk/src/preferences/bluetooth

-- 
Oliver,
[7]http://urnenfeld.blogspot.com

Other related posts: