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