blob: dc31ec3db4046938d894c1cfd05d873c85868a0b [file] [log] [blame]
Jiri Bencf0706e82007-05-05 11:45:53 -07001config MAC80211
2 tristate "Generic IEEE 802.11 Networking Stack (mac80211)"
Johannes Berg0aa82042009-06-03 18:30:31 +02003 depends on CFG80211
Jiri Bencf0706e82007-05-05 11:45:53 -07004 select CRYPTO
Jiri Bencf0706e82007-05-05 11:45:53 -07005 select CRYPTO_ARC4
6 select CRYPTO_AES
Ard Biesheuvel7ec7c4a2013-10-10 09:55:20 +02007 select CRYPTO_CCM
Jiri Bencf0706e82007-05-05 11:45:53 -07008 select CRC32
Bruno Randolf541a45a2010-12-02 19:12:43 +09009 select AVERAGE
Jiri Bencf0706e82007-05-05 11:45:53 -070010 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050011 This option enables the hardware independent IEEE 802.11
12 networking stack.
Jiri Bencf0706e82007-05-05 11:45:53 -070013
Johannes Berg0aa82042009-06-03 18:30:31 +020014comment "CFG80211 needs to be enabled for MAC80211"
15 depends on CFG80211=n
16
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070017if MAC80211 != n
Johannes Bergac71c692007-10-28 14:17:44 +010018
Andres Salomonc2ef3552010-02-25 19:18:47 -050019config MAC80211_HAS_RC
Jan Beulich540005c2011-02-17 13:36:19 +000020 bool
Andres Salomonc2ef3552010-02-25 19:18:47 -050021
Adrian Bunke5f5e732008-06-26 13:38:13 +030022config MAC80211_RC_PID
David Rientjes6a108a12011-01-20 14:44:16 -080023 bool "PID controller based rate control algorithm" if EXPERT
Andres Salomonc2ef3552010-02-25 19:18:47 -050024 select MAC80211_HAS_RC
Adrian Bunke5f5e732008-06-26 13:38:13 +030025 ---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
Felix Fietkaucccf1292008-10-05 18:07:45 +020030config MAC80211_RC_MINSTREL
David Rientjes6a108a12011-01-20 14:44:16 -080031 bool "Minstrel" if EXPERT
Andres Salomonc2ef3552010-02-25 19:18:47 -050032 select MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080033 default y
Felix Fietkaucccf1292008-10-05 18:07:45 +020034 ---help---
35 This option enables the 'minstrel' TX rate control algorithm
36
Felix Fietkauec8aa662010-05-13 16:48:03 +020037config MAC80211_RC_MINSTREL_HT
David Rientjes6a108a12011-01-20 14:44:16 -080038 bool "Minstrel 802.11n support" if EXPERT
Felix Fietkauec8aa662010-05-13 16:48:03 +020039 depends on MAC80211_RC_MINSTREL
40 default y
41 ---help---
42 This option enables the 'minstrel_ht' TX rate control algorithm
43
Stefano Brivioc21b39a2007-12-19 01:26:16 +010044choice
45 prompt "Default rate control algorithm"
Andres Salomonc2ef3552010-02-25 19:18:47 -050046 depends on MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080047 default MAC80211_RC_DEFAULT_MINSTREL
Stefano Brivioc21b39a2007-12-19 01:26:16 +010048 ---help---
49 This option selects the default rate control algorithm
50 mac80211 will use. Note that this default can still be
Matt LaPlante692105b2009-01-26 11:12:25 +010051 overridden through the ieee80211_default_rc_algo module
Johannes Berg4b475892008-01-02 15:17:03 +010052 parameter if different algorithms are available.
Johannes Bergac71c692007-10-28 14:17:44 +010053
Stefano Brivioc21b39a2007-12-19 01:26:16 +010054config MAC80211_RC_DEFAULT_PID
55 bool "PID controller based rate control algorithm"
Adrian Bunke5f5e732008-06-26 13:38:13 +030056 depends on MAC80211_RC_PID
Stefano Brivioc21b39a2007-12-19 01:26:16 +010057 ---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
Felix Fietkaucccf1292008-10-05 18:07:45 +020062config 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
Stefano Brivioc21b39a2007-12-19 01:26:16 +010069endchoice
70
71config MAC80211_RC_DEFAULT
72 string
Helmut Schaa92b50c42010-06-30 08:48:42 +020073 default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
Felix Fietkaucccf1292008-10-05 18:07:45 +020074 default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080075 default "pid" if MAC80211_RC_DEFAULT_PID
Stefano Brivioc21b39a2007-12-19 01:26:16 +010076 default ""
77
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070078endif
Mattias Nisslerad018372007-12-19 01:25:57 +010079
Andres Salomonc2ef3552010-02-25 19:18:47 -050080comment "Some wireless drivers require a rate control algorithm"
Johannes Berge46395a2011-03-01 17:18:26 +010081 depends on MAC80211 && MAC80211_HAS_RC=n
Andres Salomonc2ef3552010-02-25 19:18:47 -050082
Johannes Berg2f5ce792008-02-23 15:17:21 +010083config MAC80211_MESH
84 bool "Enable mac80211 mesh networking (pre-802.11s) support"
Kees Cook48f6edc2012-10-02 11:19:53 -070085 depends on MAC80211
Johannes Berg2f5ce792008-02-23 15:17:21 +010086 ---help---
Johannes Berg5c142e82008-02-25 10:13:31 +010087 This options enables support of Draft 802.11s mesh networking.
Javier Cardona18889232009-08-10 12:15:52 -070088 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/.
Johannes Berg2f5ce792008-02-23 15:17:21 +010092
Jiri Bencf0706e82007-05-05 11:45:53 -070093config MAC80211_LEDS
94 bool "Enable LED triggers"
Luca Tettamantibd8fd212008-04-27 15:34:55 -070095 depends on MAC80211
Johannes Berg0bae35e2010-12-02 14:31:14 -080096 depends on LEDS_CLASS
Luca Tettamantibd8fd212008-04-27 15:34:55 -070097 select LEDS_TRIGGERS
Jiri Bencf0706e82007-05-05 11:45:53 -070098 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050099 This option enables a few LED triggers for different
100 packet receive/transmit events.
Jiri Bencf0706e82007-05-05 11:45:53 -0700101
Jiri Bence9f207f2007-05-05 11:46:38 -0700102config 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
Johannes Berg3fae0272012-06-22 13:36:25 +0200111config 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
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200124menuconfig MAC80211_DEBUG_MENU
125 bool "Select mac80211 debugging features"
126 depends on MAC80211
127 ---help---
128 This option collects various mac80211 debug settings.
129
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200130config MAC80211_NOINLINE
131 bool "Do not inline TX/RX handlers"
132 depends on MAC80211_DEBUG_MENU
Jiri Bencf0706e82007-05-05 11:45:53 -0700133 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200134 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700138
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200139 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700156
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200157config 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
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800177config MAC80211_HT_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200178 bool "Verbose HT debugging"
179 depends on MAC80211_DEBUG_MENU
John W. Linvillec40896d2007-12-21 00:44:59 -0500180 ---help---
181 This option enables 802.11n High Throughput features
182 debug tracing output.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800183
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200184 It should not be selected on production systems as some
185 of the messages are remotely triggerable.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800186
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200187 Do not select this option.
188
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200189config 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200200config MAC80211_PS_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200201 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200212config MAC80211_MPL_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200213 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700224
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200225config MAC80211_MPATH_DEBUG
Javier Cardona76468872011-08-09 16:45:04 -0700226 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200238config MAC80211_MHWMP_DEBUG
Rui Paulo27db2e42009-11-09 23:46:45 +0000239 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200251config MAC80211_MESH_SYNC_DEBUG
Marco Porschf53c6a02012-10-17 20:21:30 -0700252 bool "Verbose mesh synchronization debugging"
Javier Cardonadbf498f2012-03-31 11:31:32 -0700253 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
Marco Porsch3f52b7e2013-01-30 18:14:08 +0100262config MAC80211_MESH_PS_DEBUG
263 bool "Verbose mesh powersave 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 powersave debugging messages (when mac80211 is taking part in a
269 mesh network).
270
271 Do not select this option.
272
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200273config MAC80211_TDLS_DEBUG
Arik Nemtsovdfe018b2011-09-28 14:12:52 +0300274 bool "Verbose TDLS debugging"
275 depends on MAC80211_DEBUG_MENU
276 ---help---
277 Selecting this option causes mac80211 to print out very
278 verbose TDLS selection debugging messages (when mac80211
279 is a TDLS STA).
280 It should not be selected on production systems as those
281 messages are remotely triggerable.
282
283 Do not select this option.
284
Jiri Bencf0706e82007-05-05 11:45:53 -0700285config MAC80211_DEBUG_COUNTERS
286 bool "Extra statistics for TX/RX debugging"
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200287 depends on MAC80211_DEBUG_MENU
288 depends on MAC80211_DEBUGFS
Jiri Bencf0706e82007-05-05 11:45:53 -0700289 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200290 Selecting this option causes mac80211 to keep additional
291 and very verbose statistics about TX and RX handler use
292 and show them in debugfs.
Jiri Bencf0706e82007-05-05 11:45:53 -0700293
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200294 If unsure, say N.