blob: 62535fe9f570273d83597567e8fb360262f7f208 [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
7 select CRC32
Bruno Randolf541a45a2010-12-02 19:12:43 +09008 select AVERAGE
Jiri Bencf0706e82007-05-05 11:45:53 -07009 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050010 This option enables the hardware independent IEEE 802.11
11 networking stack.
Jiri Bencf0706e82007-05-05 11:45:53 -070012
Johannes Berg0aa82042009-06-03 18:30:31 +020013comment "CFG80211 needs to be enabled for MAC80211"
14 depends on CFG80211=n
15
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070016if MAC80211 != n
Johannes Bergac71c692007-10-28 14:17:44 +010017
Andres Salomonc2ef3552010-02-25 19:18:47 -050018config MAC80211_HAS_RC
Jan Beulich540005c2011-02-17 13:36:19 +000019 bool
Andres Salomonc2ef3552010-02-25 19:18:47 -050020
Adrian Bunke5f5e732008-06-26 13:38:13 +030021config MAC80211_RC_PID
David Rientjes6a108a12011-01-20 14:44:16 -080022 bool "PID controller based rate control algorithm" if EXPERT
Andres Salomonc2ef3552010-02-25 19:18:47 -050023 select MAC80211_HAS_RC
Adrian Bunke5f5e732008-06-26 13:38:13 +030024 ---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
Felix Fietkaucccf1292008-10-05 18:07:45 +020029config MAC80211_RC_MINSTREL
David Rientjes6a108a12011-01-20 14:44:16 -080030 bool "Minstrel" if EXPERT
Andres Salomonc2ef3552010-02-25 19:18:47 -050031 select MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080032 default y
Felix Fietkaucccf1292008-10-05 18:07:45 +020033 ---help---
34 This option enables the 'minstrel' TX rate control algorithm
35
Felix Fietkauec8aa662010-05-13 16:48:03 +020036config MAC80211_RC_MINSTREL_HT
David Rientjes6a108a12011-01-20 14:44:16 -080037 bool "Minstrel 802.11n support" if EXPERT
Felix Fietkauec8aa662010-05-13 16:48:03 +020038 depends on MAC80211_RC_MINSTREL
39 default y
40 ---help---
41 This option enables the 'minstrel_ht' TX rate control algorithm
42
Stefano Brivioc21b39a2007-12-19 01:26:16 +010043choice
44 prompt "Default rate control algorithm"
Andres Salomonc2ef3552010-02-25 19:18:47 -050045 depends on MAC80211_HAS_RC
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080046 default MAC80211_RC_DEFAULT_MINSTREL
Stefano Brivioc21b39a2007-12-19 01:26:16 +010047 ---help---
48 This option selects the default rate control algorithm
49 mac80211 will use. Note that this default can still be
Matt LaPlante692105b2009-01-26 11:12:25 +010050 overridden through the ieee80211_default_rc_algo module
Johannes Berg4b475892008-01-02 15:17:03 +010051 parameter if different algorithms are available.
Johannes Bergac71c692007-10-28 14:17:44 +010052
Stefano Brivioc21b39a2007-12-19 01:26:16 +010053config MAC80211_RC_DEFAULT_PID
54 bool "PID controller based rate control algorithm"
Adrian Bunke5f5e732008-06-26 13:38:13 +030055 depends on MAC80211_RC_PID
Stefano Brivioc21b39a2007-12-19 01:26:16 +010056 ---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
Felix Fietkaucccf1292008-10-05 18:07:45 +020061config 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
Stefano Brivioc21b39a2007-12-19 01:26:16 +010068endchoice
69
70config MAC80211_RC_DEFAULT
71 string
Helmut Schaa92b50c42010-06-30 08:48:42 +020072 default "minstrel_ht" if MAC80211_RC_DEFAULT_MINSTREL && MAC80211_RC_MINSTREL_HT
Felix Fietkaucccf1292008-10-05 18:07:45 +020073 default "minstrel" if MAC80211_RC_DEFAULT_MINSTREL
Luis R. Rodriguez8eb41c92008-11-14 17:44:53 -080074 default "pid" if MAC80211_RC_DEFAULT_PID
Stefano Brivioc21b39a2007-12-19 01:26:16 +010075 default ""
76
Luis R. Rodriguezabd8ea22009-09-01 08:22:46 -070077endif
Mattias Nisslerad018372007-12-19 01:25:57 +010078
Andres Salomonc2ef3552010-02-25 19:18:47 -050079comment "Some wireless drivers require a rate control algorithm"
Johannes Berge46395a2011-03-01 17:18:26 +010080 depends on MAC80211 && MAC80211_HAS_RC=n
Andres Salomonc2ef3552010-02-25 19:18:47 -050081
Johannes Berg2f5ce792008-02-23 15:17:21 +010082config MAC80211_MESH
83 bool "Enable mac80211 mesh networking (pre-802.11s) support"
Kees Cook48f6edc2012-10-02 11:19:53 -070084 depends on MAC80211
Johannes Berg2f5ce792008-02-23 15:17:21 +010085 ---help---
Johannes Berg5c142e82008-02-25 10:13:31 +010086 This options enables support of Draft 802.11s mesh networking.
Javier Cardona18889232009-08-10 12:15:52 -070087 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/.
Johannes Berg2f5ce792008-02-23 15:17:21 +010091
Jiri Bencf0706e82007-05-05 11:45:53 -070092config MAC80211_LEDS
93 bool "Enable LED triggers"
Luca Tettamantibd8fd212008-04-27 15:34:55 -070094 depends on MAC80211
Johannes Berg0bae35e2010-12-02 14:31:14 -080095 depends on LEDS_CLASS
Luca Tettamantibd8fd212008-04-27 15:34:55 -070096 select LEDS_TRIGGERS
Jiri Bencf0706e82007-05-05 11:45:53 -070097 ---help---
John W. Linvillec40896d2007-12-21 00:44:59 -050098 This option enables a few LED triggers for different
99 packet receive/transmit events.
Jiri Bencf0706e82007-05-05 11:45:53 -0700100
Jiri Bence9f207f2007-05-05 11:46:38 -0700101config 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
Johannes Berg3fae0272012-06-22 13:36:25 +0200110config 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
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200123menuconfig MAC80211_DEBUG_MENU
124 bool "Select mac80211 debugging features"
125 depends on MAC80211
126 ---help---
127 This option collects various mac80211 debug settings.
128
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200129config MAC80211_NOINLINE
130 bool "Do not inline TX/RX handlers"
131 depends on MAC80211_DEBUG_MENU
Jiri Bencf0706e82007-05-05 11:45:53 -0700132 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200133 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700137
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200138 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700155
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200156config 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
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800176config MAC80211_HT_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200177 bool "Verbose HT debugging"
178 depends on MAC80211_DEBUG_MENU
John W. Linvillec40896d2007-12-21 00:44:59 -0500179 ---help---
180 This option enables 802.11n High Throughput features
181 debug tracing output.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800182
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200183 It should not be selected on production systems as some
184 of the messages are remotely triggerable.
Ron Rindjunsky82b3cad2007-12-16 16:09:26 -0800185
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200186 Do not select this option.
187
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200188config 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200199config MAC80211_PS_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200200 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200211config MAC80211_MPL_DEBUG
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200212 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700223
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200224config MAC80211_MPATH_DEBUG
Javier Cardona76468872011-08-09 16:45:04 -0700225 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200237config MAC80211_MHWMP_DEBUG
Rui Paulo27db2e42009-11-09 23:46:45 +0000238 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200250config MAC80211_MESH_SYNC_DEBUG
Marco Porschf53c6a02012-10-17 20:21:30 -0700251 bool "Verbose mesh synchronization debugging"
Javier Cardonadbf498f2012-03-31 11:31:32 -0700252 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
Marco Porsch3f52b7e2013-01-30 18:14:08 +0100261config 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
Johannes Bergbdcbd8e2012-06-22 11:29:50 +0200272config MAC80211_TDLS_DEBUG
Arik Nemtsovdfe018b2011-09-28 14:12:52 +0300273 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
Jiri Bencf0706e82007-05-05 11:45:53 -0700284config MAC80211_DEBUG_COUNTERS
285 bool "Extra statistics for TX/RX debugging"
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200286 depends on MAC80211_DEBUG_MENU
287 depends on MAC80211_DEBUGFS
Jiri Bencf0706e82007-05-05 11:45:53 -0700288 ---help---
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200289 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.
Jiri Bencf0706e82007-05-05 11:45:53 -0700292
Johannes Bergf4ea83d2008-06-30 15:10:46 +0200293 If unsure, say N.