1config MAC80211 2 tristate "Generic IEEE 802.11 Networking Stack (mac80211)" 3 depends on CFG80211 4 select CRYPTO 5 select CRYPTO_ARC4 6 select CRYPTO_AES 7 select CRC32 8 select AVERAGE 9 ---help--- 10 This option enables the hardware independent IEEE 802.11 11 networking stack. 12 13comment "CFG80211 needs to be enabled for MAC80211" 14 depends on CFG80211=n 15 16if MAC80211 != n 17 18config MAC80211_HAS_RC 19 bool 20 21config MAC80211_RC_PID 22 bool "PID controller based rate control algorithm" if EXPERT 23 select MAC80211_HAS_RC 24 ---help--- 25 This option enables a TX rate control algorithm for 26 mac80211 that uses a PID controller to select the TX 27 rate. 28 29config MAC80211_RC_MINSTREL 30 bool "Minstrel" if EXPERT 31 select MAC80211_HAS_RC 32 default y 33 ---help--- 34 This option enables the 'minstrel' TX rate control algorithm 35 36config MAC80211_RC_MINSTREL_HT 37 bool "Minstrel 802.11n support" if EXPERT 38 depends on MAC80211_RC_MINSTREL 39 default y 40 ---help--- 41 This option enables the 'minstrel_ht' TX rate control algorithm 42 43choice 44 prompt "Default rate control algorithm" 45 depends on MAC80211_HAS_RC 46 default MAC80211_RC_DEFAULT_MINSTREL 47 ---help--- 48 This option selects the default rate control algorithm 49 mac80211 will use. Note that this default can still be 50 overridden through the ieee80211_default_rc_algo module 51 parameter if different algorithms are available. 52 53config MAC80211_RC_DEFAULT_PID 54 bool "PID controller based rate control algorithm" 55 depends on MAC80211_RC_PID 56 ---help--- 57 Select the PID controller based rate control as the 58 default rate control algorithm. You should choose 59 this unless you know what you are doing. 60 61config MAC80211_RC_DEFAULT_MINSTREL 62 bool "Minstrel" 63 depends on MAC80211_RC_MINSTREL 64 ---help--- 65 Select Minstrel as the default rate control algorithm. 66 67 68endchoice 69 70config MAC80211_RC_DEFAULT 71 string 72 default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT 73 default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL 74 default "pid" if MAC80211_RC_DEFAULT_PID 75 default "" 76 77endif 78 79comment "Some wireless drivers require a rate control algorithm" 80 depends on MAC80211 && MAC80211_HAS_RC=n 81 82config MAC80211_MESH 83 bool "Enable mac80211 mesh networking (pre-802.11s) support" 84 depends on MAC80211 85 ---help--- 86 This options enables support of Draft 802.11s mesh networking. 87 The implementation is based on Draft 2.08 of the Mesh Networking 88 amendment. However, no compliance with that draft is claimed or even 89 possible, as drafts leave a number of identifiers to be defined after 90 ratification. For more information visit http://o11s.org/. 91 92config MAC80211_LEDS 93 bool "Enable LED triggers" 94 depends on MAC80211 95 depends on LEDS_CLASS 96 select LEDS_TRIGGERS 97 ---help--- 98 This option enables a few LED triggers for different 99 packet receive/transmit events. 100 101config MAC80211_DEBUGFS 102 bool "Export mac80211 internals in DebugFS" 103 depends on MAC80211 && DEBUG_FS 104 ---help--- 105 Select this to see extensive information about 106 the internal state of mac80211 in debugfs. 107 108 Say N unless you know you need this. 109 110config MAC80211_MESSAGE_TRACING 111 bool "Trace all mac80211 debug messages" 112 depends on MAC80211 113 ---help--- 114 Select this option to have mac80211 register the 115 mac80211_msg trace subsystem with tracepoints to 116 collect all debugging messages, independent of 117 printing them into the kernel log. 118 119 The overhead in this option is that all the messages 120 need to be present in the binary and formatted at 121 runtime for tracing. 122 123menuconfig MAC80211_DEBUG_MENU 124 bool "Select mac80211 debugging features" 125 depends on MAC80211 126 ---help--- 127 This option collects various mac80211 debug settings. 128 129config MAC80211_NOINLINE 130 bool "Do not inline TX/RX handlers" 131 depends on MAC80211_DEBUG_MENU 132 ---help--- 133 This option affects code generation in mac80211, when 134 selected some functions are marked "noinline" to allow 135 easier debugging of problems in the transmit and receive 136 paths. 137 138 This option increases code size a bit and inserts a lot 139 of function calls in the code, but is otherwise safe to 140 enable. 141 142 If unsure, say N unless you expect to be finding problems 143 in mac80211. 144 145config MAC80211_VERBOSE_DEBUG 146 bool "Verbose debugging output" 147 depends on MAC80211_DEBUG_MENU 148 ---help--- 149 Selecting this option causes mac80211 to print out 150 many debugging messages. It should not be selected 151 on production systems as some of the messages are 152 remotely triggerable. 153 154 Do not select this option. 155 156config MAC80211_MLME_DEBUG 157 bool "Verbose managed MLME output" 158 depends on MAC80211_DEBUG_MENU 159 ---help--- 160 Selecting this option causes mac80211 to print out 161 debugging messages for the managed-mode MLME. It 162 should not be selected on production systems as some 163 of the messages are remotely triggerable. 164 165 Do not select this option. 166 167config MAC80211_STA_DEBUG 168 bool "Verbose station debugging" 169 depends on MAC80211_DEBUG_MENU 170 ---help--- 171 Selecting this option causes mac80211 to print out 172 debugging messages for station addition/removal. 173 174 Do not select this option. 175 176config MAC80211_HT_DEBUG 177 bool "Verbose HT debugging" 178 depends on MAC80211_DEBUG_MENU 179 ---help--- 180 This option enables 802.11n High Throughput features 181 debug tracing output. 182 183 It should not be selected on production systems as some 184 of the messages are remotely triggerable. 185 186 Do not select this option. 187 188config MAC80211_IBSS_DEBUG 189 bool "Verbose IBSS debugging" 190 depends on MAC80211_DEBUG_MENU 191 ---help--- 192 Selecting this option causes mac80211 to print out 193 very verbose IBSS debugging messages. It should not 194 be selected on production systems as those messages 195 are remotely triggerable. 196 197 Do not select this option. 198 199config MAC80211_PS_DEBUG 200 bool "Verbose powersave mode debugging" 201 depends on MAC80211_DEBUG_MENU 202 ---help--- 203 Selecting this option causes mac80211 to print out very 204 verbose power save mode debugging messages (when mac80211 205 is an AP and has power saving stations.) 206 It should not be selected on production systems as those 207 messages are remotely triggerable. 208 209 Do not select this option. 210 211config MAC80211_MPL_DEBUG 212 bool "Verbose mesh peer link debugging" 213 depends on MAC80211_DEBUG_MENU 214 depends on MAC80211_MESH 215 ---help--- 216 Selecting this option causes mac80211 to print out very 217 verbose mesh peer link debugging messages (when mac80211 218 is taking part in a mesh network). 219 It should not be selected on production systems as those 220 messages are remotely triggerable. 221 222 Do not select this option. 223 224config MAC80211_MPATH_DEBUG 225 bool "Verbose mesh path debugging" 226 depends on MAC80211_DEBUG_MENU 227 depends on MAC80211_MESH 228 ---help--- 229 Selecting this option causes mac80211 to print out very 230 verbose mesh path selection debugging messages (when mac80211 231 is taking part in a mesh network). 232 It should not be selected on production systems as those 233 messages are remotely triggerable. 234 235 Do not select this option. 236 237config MAC80211_MHWMP_DEBUG 238 bool "Verbose mesh HWMP routing debugging" 239 depends on MAC80211_DEBUG_MENU 240 depends on MAC80211_MESH 241 ---help--- 242 Selecting this option causes mac80211 to print out very 243 verbose mesh routing (HWMP) debugging messages (when mac80211 244 is taking part in a mesh network). 245 It should not be selected on production systems as those 246 messages are remotely triggerable. 247 248 Do not select this option. 249 250config MAC80211_MESH_SYNC_DEBUG 251 bool "Verbose mesh synchronization debugging" 252 depends on MAC80211_DEBUG_MENU 253 depends on MAC80211_MESH 254 ---help--- 255 Selecting this option causes mac80211 to print out very verbose mesh 256 synchronization debugging messages (when mac80211 is taking part in a 257 mesh network). 258 259 Do not select this option. 260 261config MAC80211_MESH_PS_DEBUG 262 bool "Verbose mesh powersave debugging" 263 depends on MAC80211_DEBUG_MENU 264 depends on MAC80211_MESH 265 ---help--- 266 Selecting this option causes mac80211 to print out very verbose mesh 267 powersave debugging messages (when mac80211 is taking part in a 268 mesh network). 269 270 Do not select this option. 271 272config MAC80211_TDLS_DEBUG 273 bool "Verbose TDLS debugging" 274 depends on MAC80211_DEBUG_MENU 275 ---help--- 276 Selecting this option causes mac80211 to print out very 277 verbose TDLS selection debugging messages (when mac80211 278 is a TDLS STA). 279 It should not be selected on production systems as those 280 messages are remotely triggerable. 281 282 Do not select this option. 283 284config MAC80211_DEBUG_COUNTERS 285 bool "Extra statistics for TX/RX debugging" 286 depends on MAC80211_DEBUG_MENU 287 depends on MAC80211_DEBUGFS 288 ---help--- 289 Selecting this option causes mac80211 to keep additional 290 and very verbose statistics about TX and RX handler use 291 and show them in debugfs. 292 293 If unsure, say N. 294