NOTE: this page is for archival only, see the note at the end of the page.

cfg80211

  • 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

Regulatory database improvements

  • 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
  • allow for TPC
  • allow for spectral power limits (e.g. 10mW/MHz)

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
  • Radar detection (AP DFS or 802.11h)
  • WAPI support

Issues

  • Need to stop TX/RX when a radar is detected for the duration of scan for a new channel.
  • Take into consideration DTIM when going offchannel on ieee80211_work_work()

Improvements

  • improve paged skb RX for performance

power saving

  • move checking for broadcast / multicast frames to mac80211 before going to PS. ath9k already has some code for this, this should be moved to mac80211.
  • 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)
  • 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
  • We should reset the connection and beacon monitor timres when we are able to successfully TX data to an AP (we currently do it on RX)

Offchannel work

  • If we send an ADDBA request to the AP and timer is pending clear timer and reset TID state, that's all
  • don't time out BA agreements while offchannel
  • do TX flushing as appropriate
  • Wait for DTIM beacon and multicast traffic before going offchannel

suspend

Reducing the amount of probe retires and timeout for them as can be seen in this patch on Chrome can help connecting to new APs when resuming from suspend. The better alternative as suggested by Sam Leffler is to implement requiring an ACK for a probe request to an AP and use that instead when we are coming out of suspend.

drivers

wireless.kernel.org site

  • fix CSS colours, for example link colours (if you want to start, look at the files in 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?


This is a static dump of the wiki, taken after locking it in January 2015. The new wiki is at https://wireless.wiki.kernel.org/.
versions of this page: last, v359, v358, v357, v356, v355, v354, v353, v352, v351, v350, v349, v348, v347, v346, v345, v344, v343, v342, v341, v340, v339, v338, v337, v336, v335, v334, v333, v332, v331, v330, v329, v328, v327, v326, v325, v324, v323, v322, v321, v320, v319, v318, v317, v316, v315, v314, v313, v312, v311, v310, v309, v308, v307, v306, v305, v304, v303, v302, v301, v300, v299, v298, v297, v296, v295, v294, v293, v292, v291, v290, v289, v288, v287, v286, v285, v284, v283, v282, v281, v280, v279, v278, v277, v276, v275, v274, v273, v272, v271, v270, v269, v268, v267, v266, v265, v264, v263, v262, v261, v260, v259, v258, v257, v256, v255, v254, v253, v252, v251, v250, v249, v248, v247, v246, v245, v244, v243, v242, v241, v240, v239, v238, v237, v236, v235, v234, v233, v232, v231, v230, v229, v228, v227, v226, v225, v224, v223, v222, v221, v220, v219, v218, v217, v216, v215, v214, v213, v212, v211, v210, v209, v208, v207, v206, v205, v204, v203, v202, v201, v200, v199, v198, v197, v196, v195, v194, v193, v192, v191, v190, v189, v188, v187, v186, v185, v184, v183, v182, v181, v180, v179, v178, v177, v176, v175, v174, v173, v172, v171, v170, v169, v168, v167, v166, v165, v164, v163, v162, v161, v160, v159, v158, v157, v156, v155, v154, v153, v152, v151, v150, v149, v148, v147, v146, v145, v144, v143, v142, v141, v140, v139, v138, v137, v136, v135, v134, v133, v132, v131, v130, v129, v128, v127, v126, v125, v124, v123, v122, v121, v120, v119, v118, v117, v116, v115, v114, v113, v112, v111, v110, v109, v108, v107, v106, v105, v104, v103, v102, v101, v100, v99, v98, v97, v96, v95, v94, v93, v92, v91, v90, v89, v88, v87, v86, v85, v84, v83, v82, v81, v80, v79, v78, v77, v76, v75, v74, v73, v72, v71, v70, v69, v68, v67, v66, v65, v64, v63, v62, v61, v60, v59, v58, v57, v56, v55, v54, v53, v52, v51, v50, v49, v48, v47, v46, v45, v44, v43, v42, v41, v40, v39, v38, v37, v36, v35, v34, v33, v32, v31, v30, v29, v28, v27, v26, v25, v24, v23, v22, v21, v20, v19, v18, v17, v16, v15, v14, v13, v12, v11, v10, v9, v8, v7, v6, v5, v4, v3, v2, v1