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