WiFi stack - coarse design overview

Blog post by ColinG on Mon, 2009-07-13 19:13
The next step towards the finishline (described by the WiFi-bounty on haikuware, Technical Information tab), will be the design of a native Haiku WiFi-stack.The picture below shows a coarse view of how the stack will fit into the networking system.

WiFi stack - coarse design overviewWiFi stack - coarse design overview As you can see there are two distinguished areas, one is colored green the other blue. Green shows already existing infrastructure, blue shows the infrastructure I'm going to provide. The arrows should be read as “depends on, uses features of”.

So the blue ellipse encapsulates the blueprint of the WiFi-stack. The inner structure of the yellow box, saying “WiFi-Stack” will be my next task. The main reasons for designing a Haiku-specific WiFi-stack (in contrast to modify/port the FreeBSD one) are to utilize Haiku's strengths (multithreading, object orientation, ...) and to get smaller driver code (due to lack of all the FreeBSD compatibility code).

After accomplishing the yellow one, I'll pay my attention to the yellow-red gradiented box saying “FreeBSD-Adapter”. This adapter will allow to use FreeBSD's WiFi driver and use them in Haiku with just recompiling them. As you can see this is the same idea as realized for LAN driver's by Hugo Santos.

WiFi stack prototype works

Blog post by ColinG on Sun, 2009-07-12 08:44
Screenshot of working WiFi prototypeScreenshot of working WiFi prototype Today I fiddled out the last hurdle on getting my WiFi-card up and running. It only connects to unprotected open wireless LANs, because there is no configuring mechanism implemented yet. Though it is far away from completeness.

On the screenshot, you see Firefox surfing and downloading a 100 MiB file from my ftp server in parallel. The terminal is showing the result of the ifconfig command for my WiFi-card.

I managed to port the FreeBSD WiFi-stack, utilizing Haiku's FreeBSD compatibility layer. Thus I could use the WiFi-card driver for my atheros chipset from FreeBSD without any major changes to its codebase (I had to move some interrupt handler code into driver-specific glue code).

The driver-binary has a size of 500 KiB, due to compiling the WiFi-stack into a static library and statically linking it and the FreeBSD compat layer with the driver. Update: The sources are up in the haiku-wifi repository on (read "For the bravery" down the line for more info on how to get it).

Bluetooth Bounty Complete

Blog post by kvdman on Sat, 2008-11-29 17:30

Oliver Ruiz Dorantes:

has recently committed:

the last parts and completed phase 1 of Haikuware's bluetooth bounty:

As such, he was transferred the bounty's pool of $1820.47 (he also received some RAM for his hardware donated by haikuware admin thenerd). The bounty fell a little short of the $1950 he requested, but all in all I think he'll be happy with that sum.

I'd like to thank all the bounty contributors that made this possible, as well as Oliver for the hard work he put in to give Haiku the code for a functional bluetooth base! Congrats all around.