Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wifi:ideaspage [2013/04/08 18:48] – AdrianChaddwifi:ideaspage [2022/06/17 01:58] (current) – De-dent title KubilayKocak
Line 1: Line 1:
-====== Wifi Ideas Page ======+===== Wifi Ideas Page =====
  
 ===== WPA2 preauthentication in hostapd ===== ===== WPA2 preauthentication in hostapd =====
 +
 //Suggested Summer of Code project idea// //Suggested Summer of Code project idea//
  
-**Technical Contact**: [[/AdrianChadd|adrian@]], [[/SamLeffler|sam@]]+**Technical Contact**: [[/AdrianChadd|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.+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 ==== ==== Requirements ====
Line 14: Line 15:
   * WPA-capable wireless network setup.   * WPA-capable wireless network setup.
  
-===== net80211 rate control API - 802.11n extensions (GSoC) ===== +===== net80211 rate control ===== 
-//Suggested Summer of Code project idea// + 
 +**Technical Contact**: [[/AdrianChadd|adrian@]], <freebsd-wireless@freebsd.org>
  
-**Technical Contact**: [[/AdrianChadd|adrian@]], freebsd-wireless@freebsd.org+Update the net80211 rate control API and test with newer hardware.
  
-Extend the net80211 rate control API to be 802.11n aware. This includes:+15:18:28 < adrian> the rate control API is done; that shoud be changed to "update it and test it on modern hardware" 
 +15:18:36 < adrian> it's in a gsoc branch, I never had the time to integrate it 
 +15:18:38 < adrian> i really should at some point though
  
   * Teaching it about multiple TX rate attempts (eg what ath(4) hardware supports;   * Teaching it about multiple TX rate attempts (eg what ath(4) hardware supports;
Line 32: Line 36:
 ==== Requirements ==== ==== 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.+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@freebsd.org> to ensure your 802.11n NIC is supported in %%FreeBSD%%-HEAD.
  
 ===== 802.11 Fuzzing and Testing (GSoC) ===== ===== 802.11 Fuzzing and Testing (GSoC) =====
 //Suggested Summer of Code project idea// //Suggested Summer of Code project idea//
  
-**Technical Contact**: [[/AdrianChadd|adrian@]], [[/SamLeffler|sam@]]+**Technical Contact**: [[/AdrianChadd|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. 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.
Line 50: Line 54:
 //Suggested %%SoC%% project idea// //Suggested %%SoC%% project idea//
  
-**Technical Contact**: [[/freebsd-wireless@freebsd.org|freebsd-wireless@freebsd.org]]+**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). 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).
Line 64: Line 68:
 ===== Extend/cleanup the net80211 regulatory database ===== ===== Extend/cleanup the net80211 regulatory database =====
  
-**Technical Contact**::: [[/freebsd-wireless@freebsd.org|freebsd-wireless@freebsd.org]]+**Technical Contact**: <freebsd-wireless@freebsd.org>
  
 The net80211 code does contain a basic regulatory database but it could do with an overhaul. Specifically: The net80211 code does contain a basic regulatory database but it could do with an overhaul. Specifically:
Line 83: Line 87:
 ===== Implement a new VAP type that is specifically for raw frame injection/reception ===== ===== Implement a new VAP type that is specifically for raw frame injection/reception =====
  
-**Technical Contact**::: [[/freebsd-wireless@freebsd.org|freebsd-wireless@freebsd.org]]+**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. 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.
Line 97: Line 101:
 ===== Implement per-channel activity/survey support in ath(4) and net80211 ===== ===== Implement per-channel activity/survey support in ath(4) and net80211 =====
  
-**Technical Contact**: [[/freebsd-wireless@freebsd.org|freebsd-wireless@freebsd.org]]+**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. 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.
Line 112: Line 116:
 ===== Implement RX power histogram in net80211 ===== ===== Implement RX power histogram in net80211 =====
  
-**Technical Contact**: [[/freebsd-wireless@freebsd.org|freebsd-wireless@freebsd.org]]+**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. 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.
Line 124: Line 128:
 ===== Implement statistics graphing / visualisation ===== ===== Implement statistics graphing / visualisation =====
  
-**Technical Contact**: [[/freebsd-wireless@freebsd.org|freebsd-wireless@freebsd.org]]+**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. 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.
  • wifi/ideaspage.1365446929.txt.gz
  • Last modified: 2013/04/08 18:48
  • by AdrianChadd