cfg80211

  • 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

mac80211

AP support

  • fix the PS filtering code, need to think about how to re-enable it
  • reply with nullfunc to PS-poll when nothing is buffered?
  • 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

  • Need to stop TX/RX when a radar is detected for the duration of scan for a new channel.
  • implement TX flush before going off-channel

power saving

  • u-APSD support. 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

Wishlist

  • keep track of stations per virtual interface, required for p2p/AP interop (WIP)

Janitorial

  • remove struct ieee80211_if_init_conf and pass the vif pointer instead (after the patch that puts the address into the vif)

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