Wifi Ideas Page

WPA2 preauthentication in hostapd

Suggested Summer of Code project idea

Technical Contact: adrian@

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. (Whatever we do here should be upstreamed to w1.fi.)

Requirements

net80211 rate control

Technical Contact: adrian@, <freebsd-wireless AT freebsd DOT org>

Update the net80211 rate control API and test with newer hardware.

Requirements

The ideal student will have a supported 802.11n chipset (Intel, Atheros) and be familiar with basic wireless concepts and C programming. If in doubt, please email <freebsd-wireless AT freebsd DOT 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@

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 AT freebsd DOT 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 AT freebsd DOT 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 AT freebsd DOT 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 AT freebsd DOT 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 AT freebsd DOT 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 AT freebsd DOT 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

WiFi/IdeasPage (last edited 2022-06-17T01:58:37+0000 by KubilayKocak)