Wifi Ideas Page

WPA2 preauthentication in hostapd

Suggested Summer of Code project idea

Technical Contact: adrian@, sam@

WPA2 is the authentication protocol defined as part of the IEEE 802.11i specification. This protocol is now commonly used to authenticate wireless stations to access points. Part of this protocol is the ability to pre-authenticate a station with one or more access points so that roaming can happen quickly. FreeBSD lacks support for this aspect of the protocol in the hostapd program used to construct a WPA-enabled access point. This task would port the Linux code that exists to support pre-authentication in hostapd. This mostly involves rewriting some user-mode multicast code and testing the result.

Requirements

net80211 rate control API - 802.11n extensions (GSoC)

Suggested Summer of Code project idea

Technical Contact: adrian@, freebsd-wireless@freebsd.org

Extend the net80211 rate control API to be 802.11n aware. This includes:

Requirements

The ideal student will have a supported 802.11n chipset (Intel, Broadcom, Atheros) and be familiar with basic wireless concepts and C programming. If in doubt, please email freebsd-wireless@freebsd.org to ensure your 802.11n NIC is supported in FreeBSD-HEAD.

802.11 Fuzzing and Testing (GSoC)

Suggested Summer of Code project idea

Technical Contact: adrian@, sam@

Build a "packet fuzzer" tool that can be used to build test suites to improve reliability of the 802.11 code against garbage data. There are various tools out but we're not aware of any good ones that work with 802.11 and are generally available. The basic idea is to write a packet injector/playback tool that's driven by a scripting language. Then you need to build up a database of test cases. It's also possibly important to do time-based playback.

Requirements

Extend wtap simulator to support station, adhoc, hostap modes

Suggested SoC project idea

Technical Contact: freebsd-wireless@freebsd.org

The wtap interface simulates enough of a wireless interface to allow for mesh (802.11s) testing. It would be nice to extend this to support the other operational modes (sta, hostap, adhoc).

Requirements

No wireless hardware is required for this project.

Extend/cleanup the net80211 regulatory database

Technical Contact::: freebsd-wireless@freebsd.org

The net80211 code does contain a basic regulatory database but it could do with an overhaul. Specifically:

Requirements

This will require net80211 and driver work - the drivers will need to be decoupled from the assumptions that the "SKU" fields have any meaning. ath(4) in particular maps the SKU fields to what the internal EEPROM values are (which is where the SKU field in net80211 originated from.)

Implement a new VAP type that is specifically for raw frame injection/reception

Technical Contact::: freebsd-wireless@freebsd.org

None of the current operating modes are really designed for raw frame injection with no actual MLME functionality. Some people (eg people implementing custom mesh/adhoc operational modes) are finding this very inconvenient.

Instead of trying to change adhoc/ahdemo/monitor to work this way, it may make more sense to simply implement a new VAP operating mode that can be used to implement this.

Requirements

Implement per-channel activity/survey support in ath(4) and net80211

Technical Contact: freebsd-wireless@freebsd.org

The ath(4) hardware has some live counters which track the channel status - how much time is spent TX'ing, RX'ing, and how much time it believes the channel air is busy. The HAL exposes these as counters and it would be nice to track this per-channel and expose it to net80211.

Then other modules in net80211 (eg automatic channel selection) can use this to determine the least used channel.

Requirements

Implement RX power histogram in net80211

Technical Contact: freebsd-wireless@freebsd.org

Most drivers expose the per-frame RSSI as part of the RX process. This can be used by net80211 to build up a histogram of RX power levels. This forms part of the 802.11h DFS specification and is used in both the channel activity measurement and during automatic channel selection.

Requirements

Implement statistics graphing / visualisation

Technical Contact: freebsd-wireless@freebsd.org

Both the wireless stack and individual drivers provide a very large amount of useful statistics information, however right now this is exposed only via some basic test utilities.

This project aims to provide a generic way to log, visualise and explore the wireless statistics from a variety of locations.

The general architecture is thus:

Requirements

WifiIdeasPage (last edited 2013-04-08 18:48:49 by AdrianChadd)