cfg80211

  • Add support for querying the BSSID mask / list of mac addresses a device is using
  • Add support for customizing the MCS rate mask used
  • allow advertising the supported interface type combinations, e.g. as

    /*
     * Each of this struct denotes a combination, e.g.
     * 1 AP + 1 STA. "Pseudo-combinations" containing
     * just a single interface type of count 1 should
     * not be listed as they are implied by supporting
     * a certain interface type.
     */
    struct interface_combination {
            u16 number[NL80211_IFTYPE_NUM];
    };
    
    struct interface_combinations {
            struct interface_combination *combinations;
            int n_combinations;
    };
    
    struct wiphy {
            ...
            struct interface_combinations combinations
    };
    and then of course export this information via nl80211
  • Implement new regulatory interpretation rules as discussed in this thread. In summary, using the notation outlined for mathematical intervals:

     0) for all 1 <= k < n : MAX_k <= MIN_{k+1}
    
     1) each rule in the regdomain covers the frequency range (MIN_1, MAX_1]
    
     2) given C = union (over all k = 1 .. n) of (MIN_k, MAX_k] it must be
       true that (CENTER - BW/2, CENTER + BW/2) is a subset of C
    
     3) it must be true for all 1 <= k <= n:
           if CENTER in (MIN_k, MAX_k] : BW <= BW_k   
    
     4) This is easier to formulate algorithmically:
       USE_FLAGS = 0
       for k = 1 .. n
           if (CENTER - BW/2, CENTER + BW/2) intersects (MIN_k, MAX_k]:
               USE_FLAGS |= FLAGS_k
  • Implement the equivalent to these wireless-extensions based calls:

    iwconfig wlan0 txpower 17 # sets TX output power to 17 dBm
    iwconfig wlan0 power off # disables power save
    iwconfig wlan0 power 500m # enables dynamic power save with 500ms idle timeout trigger

mac80211

AP support

  • injected frames need to be tied to another virtual interface to get the software sequence number and keys (only relevant for 11w) right
  • internal bridge setting (separated STAs in the BSS)
  • Radar detection (AP DFS or 802.11h)

Issues

  • when leaving an IBSS and we were the only member, remove it from cfg80211's BSS list
  • Need to stop TX/RX when a radar is detected for the duration of scan for a new channel.

Improvements

  • improve paged skb RX for performance

power saving

  • uAPSD support – AP side (Intel has old AP u-APSD patches but there's no AP support in iwlwifi now)

  • 11v support (eventually)

Roaming

  • mac80211 drivers use userspace (wpa_supplicant) for roaming (in wpa_supplicant specify ap_scan=1)
  • better roaming without needing to poll the BSS information needs signal strength triggers so userspace can react to changing conditions
  • need to export roaming capabilities of device (mac80211 has none, but fullmac cards might be able to autonomously select the best BSS) so that we don't need to configure wpa_supplicant and it can do the right thing automatically
  • maybe look at deucescan: http://www.csie.ntpu.edu.tw/~yschen/mypapers/IEEE-TVT-2007-1.pdf for wpa_supplicant bg scan algorithm

drivers

wireless.kernel.org site

  • fix CSS colours, for example link colours (if you want to start, look at the files in http:/moin/linuxwireless/css/ and send diffs to <johannes AT sipsolutions DOT net>)

  • fix print view to include a black&white logo

  • the whole testing thing...
    • q/a procedure for stack
    • winlab
    • info on test coverage
    • tests itself need to be documented
    • instructions how to run tests
  • search functionality to the web site
    • maybe use google like spinics uses?