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>