Kconfig 9.4 KB

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