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