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


 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


Bug fixes

  • check for IBSS BSS struct leaks
  • probe requests built by mac80211 are for current operating band instead of for scan channel band for hw scan – split up scan request into 2.4 / 5ghz scans?


  • use debugfs_remove_recursive to remove all the struct dentry pointers from all the structs and all the code to remove debugfs files

AP support

  • fix the PS filtering code, need to think about how to re-enable it
  • 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)


  • Need to stop TX/RX when a radar is detected for the duration of scan for a new channel.

power saving

  • u-APSD support. Intel has old AP u-APSD patches (incomplete, buffering is done in their firmware)

  • 11v support (eventually)


  • 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: for wpa_supplicant bg scan algorithm


  • recognition of the interface an incoming frame belongs to can be made faster (doesn't matter much since typically there are only few)
  • keep track of stations per virtual interface, helps with the optimisation asked for above 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

This is a static dump of the wiki, taken after locking it in January 2015. The new wiki is at
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