Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 04 Feb 2002 13:42:21 -0800
From:      Maksim Yevmenkin <myevmenk@digisle.net>
To:        freebsd-mobile@freebsd.org, freebsd-hackers@freebsd.org
Subject:   Bluetooth stack for FreeBSD (full status)
Message-ID:  <3C5F003D.CA329159@digisle.net>

next in thread | raw e-mail | index | archive | help
Hackers,

Here is full status report on project i was working on. I apologize for
the
wide distribution, but i think that might be interesting.

Bluetooth stack for FreeBSD (Netgraph implementation)
=====================================================

The project is making progress. I decided to submit report because now i
have
some confidence that i can make it actually work. The goal is to design
and
implement Host Controller Interface (HCI) and Link Layer Control and
Adaptation
Protocol (L2CAP) layers using Netgraph framework. All information
obtained from
Bluetooth Specification Book v1.1.

More distant goal is to write support for Service Discovery Protocol
(SDP) and
RFCOMM protocol (serial port emulation over Bluetooth link). RFCOMM is
more fun
(IMO) and the current plan is to write RFCOMM Netgraph module and then
tie it
with "ng_tty" to complete the graph.

BTW, while i was working on this Nokia has released another open source
Bluetooth stack for Linux - Affix (http://affix.sourceforge.net). And i
do
not want to see FreeBSD behind :)

Project roadmap
================

Step 1: General design

        Status: Complete. Everything is pretty much defined and i have
more
        or less clear picture of how it will work. However, there are
several
        minor issues. I still trying to figure them out.

Step 2: Implementation (HCI and L2CAP layer)

        Status: Complete. HCI and L2CAP Netgraph nodes have been
implemented.
        Most of the implementation issues have been resolved. However,
there
        are some parts of the code that may require minor changes.

Step 3: Testing

        Status: In progress. I finally figured out how to etherboot
-current
        under VMWare (would be nice if someone can put it into
handbook), and
        now i have perfect "sand box".

        Testing is likely to take some time. I do not have real
Bluetooth
        hardware at this point, so i wrote some tools that allow me to
test
        the code. Some of them will be used as foundation for future
utilities.
        But i only can do spot testing. I need hardware.

        At this point the code seems to work, but i still need to test
all
        failure modes and make sure code does the right thing. The
Bluetooth
        specification does not provide great details on everything
(IMO), so
        i'm trying to do reasonable thing.

        After this step is complete i will make an engineering release
and
        make it available to the community. The purpose is to collect
feedback
        from people who familiar with Netgraph and/or Bluetooth and make
all
        required changes.

Step 4: Utilities/Library API/Documentation

        Status: In progress. Some work already has been done as part of
        "Step 3: Testing". I need some time and external input to figure
out
        what is actually required. Ideal case would be to reuse what is
already
        implemented.

Step 5: Unit testing with real hardware

        Status: Not complete. I keep looking for Bluetooth hardware
every day.
        I'm glad to see that it is actually exists.

        The good news is that some cards have UART 1650 on board, so (i
hope)
        they are just fancy serial ports. If that is true, then "ng_sio"
module
        would be perfect. The "ng_sio" will act just like "ng_ether"
module,
        but for serial ports.

        NOTE: "ng_sio" module does not exist yet :)

Step 6: Final acceptance testing and stable release

        Status: Not complete. This is not for me to decide :) I hope to
get
        feedback from people.

Issues
======

1. Bluetooth hardware. I do not have real Bluetooth hardware and i need
it
   badly :) If people can donate hardware/specs it would be great. I
promise
   to write all required drivers and make them available. I also promise
to
   return hardware/specs on first request. For now my plan is to spend
some
   amount of $$$ and get a card or even two.

2. Project name. I would like to see the name that reflects the
following:
   - it is a Bluetooth stack
   - implementation is for FreeBSD
   - implementation based on Netgraph framework

Thanks,
max

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3C5F003D.CA329159>