Adrian Chadd is the current FreeBSD net80211/ath driver maintainer and developer. He’s been working with a few others

to get usable 802.11n support into FreeBSD. We thought we’d have a quick chat and ask how things are going.What’s the state of 801.11n on FreeBSD?

It’s working for me in both station and access point modes. I

primarily focus on Atheros hardware; others have reported success with

the Intel NICs supported by the iwn driver.

So this isn’t just about getting FreeBSD-base PCs communicating over

802.11n. You’re talking about embedded FreeBSD installs on wifi

router hardware?

Yes. It’s primarily a technology demonstration (ie, showing that it is

indeed possible) but it also ends up being a great way to do

regression and performance testing. A lot of the wifi router hardware

is quite cheap and plentiful, making it ideal for testing. Others are

finding it useful as part of their research projects, for example a

group at Swinburne University are beginning to use FreeBSD on

embedded hardware as part of their research into link congestion and

quality of service improvements.

Router hacking has a long and glorious history. What in particular are

you trying to accomplish? What advanced features are you trying to

enable?

For the most part I’m simply investigating how feasible it all is. For

the most part I’m trying to give people the tools they need to go out

and do more interesting things. So really, I’m trying to accomplish

“community enabling.” 🙂

So this is OSNews, so you know we say this with love, but why do it?

What does FreeBSD bring to this sphere that, say, Linux can’t?

Honestly? Nothing. Besides that it’s BSD, not Linux. There are

features that Linux has that BSD doesn’t and vice versa. If you’re

interested in the BSD way of things, my work is just lowering the bar

a little.

It looks like you’re drawing on work that the Linux community has done

to produce drivers for chipsets and other hardware? How close does

that work get you to where you want to be?

Luckily, Sam Leffler left most of the 802.11n protocol stack code in

FreeBSD before he left for greener pastures, so I only really had to

focus on the driver. There was a bit of debugging and cleaning up but

yes, I luckily didn’t have to implement too much there.

I’ve been working closely with the Atheros developers over in the

OpenWRT and ath9k project, on both board support and 11n chipset

support. We’ve found a few bugs together in both codebases – having to

“bootstrap” FreeBSD’s Atheros 802.11 support from scratch has had me

do a bit of a code review of ath9k and in doing this I’ve found a few

things that weren’t really right. I’d like to hope that both FreeBSD

and Linux/ath9k have helped each other in this respect.

I’ve also been working closely with Atheros (now Qualcomm Atheros) who

have given me access to their internal drivers and documentation

through an Open Source NDA Programme. This has helped me bootstrap the

rest of the missing Atheros 11n chipset support.

Can you see other opportunities to benefit from other initiatives in

the Linux community in the same way?

Quite likely. I think cross pollination between projects can only be a

good thing. Even if both projects decide to go along different paths,

even just having to sit down and think about alternatives is going to

help you in the long run.

As for what they are, I can likely list a few more after the christmas break. 🙂

If you had the chance to draw on some expertise from outside of your

current group of collaborators, what kinds of skills or efforts do you

need the most at this point?

For the most part I (and Linux wireless as well) just need some

interested people who don’t mind getting their hands dirty in the

code. We’re all happy to answer questions and help you figure out

what’s going on; you just need to be the inquisitive type!

For more information on the project:

Do you know someone who’s working on an interesting OS-related project? let us know, and we’ll interview them for OSNews.