Kconfig 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. config WIRELESS_EXT
  3. bool
  4. config WEXT_CORE
  5. def_bool y
  6. depends on CFG80211_WEXT || WIRELESS_EXT
  7. config WEXT_PROC
  8. def_bool y
  9. depends on PROC_FS
  10. depends on WEXT_CORE
  11. config WEXT_SPY
  12. bool
  13. config WEXT_PRIV
  14. bool
  15. config CFG80211
  16. tristate "cfg80211 - wireless configuration API"
  17. depends on RFKILL || !RFKILL
  18. select FW_LOADER
  19. select CRC32
  20. # may need to update this when certificates are changed and are
  21. # using a different algorithm, though right now they shouldn't
  22. # (this is here rather than below to allow it to be a module)
  23. select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS
  24. help
  25. cfg80211 is the Linux wireless LAN (802.11) configuration API.
  26. Enable this if you have a wireless device.
  27. For more information refer to documentation on the wireless wiki:
  28. https://wireless.wiki.kernel.org/en/developers/Documentation/cfg80211
  29. When built as a module it will be called cfg80211.
  30. if CFG80211
  31. config NL80211_TESTMODE
  32. bool "nl80211 testmode command"
  33. help
  34. The nl80211 testmode command helps implementing things like
  35. factory calibration or validation tools for wireless chips.
  36. Select this option ONLY for kernels that are specifically
  37. built for such purposes.
  38. Debugging tools that are supposed to end up in the hands of
  39. users should better be implemented with debugfs.
  40. Say N.
  41. config CFG80211_DEVELOPER_WARNINGS
  42. bool "enable developer warnings"
  43. default n
  44. help
  45. This option enables some additional warnings that help
  46. cfg80211 developers and driver developers, but beware that
  47. they can also trigger due to races with userspace.
  48. For example, when a driver reports that it was disconnected
  49. from the AP, but the user disconnects manually at the same
  50. time, the warning might trigger spuriously due to races.
  51. Say Y only if you are developing cfg80211 or a driver based
  52. on it (or mac80211).
  53. config CFG80211_CERTIFICATION_ONUS
  54. bool "cfg80211 certification onus"
  55. depends on EXPERT
  56. default n
  57. help
  58. You should disable this option unless you are both capable
  59. and willing to ensure your system will remain regulatory
  60. compliant with the features available under this option.
  61. Some options may still be under heavy development and
  62. for whatever reason regulatory compliance has not or
  63. cannot yet be verified. Regulatory verification may at
  64. times only be possible until you have the final system
  65. in place.
  66. This option should only be enabled by system integrators
  67. or distributions that have done work necessary to ensure
  68. regulatory certification on the system with the enabled
  69. features. Alternatively you can enable this option if
  70. you are a wireless researcher and are working in a controlled
  71. and approved environment by your local regulatory agency.
  72. config CFG80211_REQUIRE_SIGNED_REGDB
  73. bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS
  74. default y
  75. select SYSTEM_DATA_VERIFICATION
  76. help
  77. Require that in addition to the "regulatory.db" file a
  78. "regulatory.db.p7s" can be loaded with a valid PKCS#7
  79. signature for the regulatory.db file made by one of the
  80. keys in the certs/ directory.
  81. config CFG80211_USE_KERNEL_REGDB_KEYS
  82. bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS
  83. default y
  84. depends on CFG80211_REQUIRE_SIGNED_REGDB
  85. help
  86. Allow the regulatory database to be signed by one of the keys for
  87. which certificates are part of the kernel sources
  88. (in net/wireless/certs/).
  89. This is currently only Seth Forshee's key, who is the regulatory
  90. database maintainer.
  91. config CFG80211_EXTRA_REGDB_KEYDIR
  92. string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS
  93. depends on CFG80211_REQUIRE_SIGNED_REGDB
  94. help
  95. If selected, point to a directory with DER-encoded X.509
  96. certificates like in the kernel sources (net/wireless/certs/)
  97. that shall be accepted for a signed regulatory database.
  98. Note that you need to also select the correct CRYPTO_<hash> modules
  99. for your certificates, and if cfg80211 is built-in they also must be.
  100. config CFG80211_REG_CELLULAR_HINTS
  101. bool "cfg80211 regulatory support for cellular base station hints"
  102. depends on CFG80211_CERTIFICATION_ONUS
  103. help
  104. This option enables support for parsing regulatory hints
  105. from cellular base stations. If enabled and at least one driver
  106. claims support for parsing cellular base station hints the
  107. regulatory core will allow and parse these regulatory hints.
  108. The regulatory core will only apply these regulatory hints on
  109. drivers that support this feature. You should only enable this
  110. feature if you have tested and validated this feature on your
  111. systems.
  112. config CFG80211_REG_RELAX_NO_IR
  113. bool "cfg80211 support for NO_IR relaxation"
  114. depends on CFG80211_CERTIFICATION_ONUS
  115. help
  116. This option enables support for relaxation of the NO_IR flag for
  117. situations that certain regulatory bodies have provided clarifications
  118. on how relaxation can occur. This feature has an inherent dependency on
  119. userspace features which must have been properly tested and as such is
  120. not enabled by default.
  121. A relaxation feature example is allowing the operation of a P2P group
  122. owner (GO) on channels marked with NO_IR if there is an additional BSS
  123. interface which associated to an AP which userspace assumes or confirms
  124. to be an authorized master, i.e., with radar detection support and DFS
  125. capabilities. However, note that in order to not create daisy chain
  126. scenarios, this relaxation is not allowed in cases where the BSS client
  127. is associated to P2P GO and in addition the P2P GO instantiated on
  128. a channel due to this relaxation should not allow connection from
  129. non P2P clients.
  130. The regulatory core will apply these relaxations only for drivers that
  131. support this feature by declaring the appropriate channel flags and
  132. capabilities in their registration flow.
  133. config CFG80211_DEFAULT_PS
  134. bool "enable powersave by default"
  135. default y
  136. help
  137. This option enables powersave mode by default.
  138. If this causes your applications to misbehave you should fix your
  139. applications instead -- they need to register their network
  140. latency requirement, see Documentation/power/pm_qos_interface.rst.
  141. config CFG80211_DEBUGFS
  142. bool "cfg80211 DebugFS entries"
  143. depends on DEBUG_FS
  144. help
  145. You can enable this if you want debugfs entries for cfg80211.
  146. If unsure, say N.
  147. config CFG80211_CRDA_SUPPORT
  148. bool "support CRDA" if EXPERT
  149. default y
  150. help
  151. You should enable this option unless you know for sure you have no
  152. need for it, for example when using the regulatory database loaded as
  153. a firmware file.
  154. If unsure, say Y.
  155. config CFG80211_WEXT
  156. bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT
  157. select WEXT_CORE
  158. default y if CFG80211_WEXT_EXPORT
  159. help
  160. Enable this option if you need old userspace for wireless
  161. extensions with cfg80211-based drivers.
  162. config CFG80211_WEXT_EXPORT
  163. bool
  164. help
  165. Drivers should select this option if they require cfg80211's
  166. wext compatibility symbols to be exported.
  167. endif # CFG80211
  168. config LIB80211
  169. tristate
  170. default n
  171. help
  172. This options enables a library of common routines used
  173. by IEEE802.11 wireless LAN drivers.
  174. Drivers should select this themselves if needed.
  175. config LIB80211_CRYPT_WEP
  176. tristate
  177. select CRYPTO_LIB_ARC4
  178. config LIB80211_CRYPT_CCMP
  179. tristate
  180. select CRYPTO
  181. select CRYPTO_AES
  182. select CRYPTO_CCM
  183. config LIB80211_CRYPT_TKIP
  184. tristate
  185. select CRYPTO_LIB_ARC4
  186. config LIB80211_DEBUG
  187. bool "lib80211 debugging messages"
  188. depends on LIB80211
  189. default n
  190. help
  191. You can enable this if you want verbose debugging messages
  192. from lib80211.
  193. If unsure, say N.