| # SPDX-License-Identifier: GPL-2.0-only |
| config WIRELESS_EXT |
| bool |
| |
| config WEXT_CORE |
| def_bool y |
| depends on CFG80211_WEXT || WIRELESS_EXT |
| |
| config WEXT_PROC |
| def_bool y |
| depends on PROC_FS |
| depends on WEXT_CORE |
| |
| config WEXT_SPY |
| bool |
| |
| config WEXT_PRIV |
| bool |
| |
| config CFG80211 |
| tristate "cfg80211 - wireless configuration API" |
| depends on RFKILL || !RFKILL |
| select FW_LOADER |
| # may need to update this when certificates are changed and are |
| # using a different algorithm, though right now they shouldn't |
| # (this is here rather than below to allow it to be a module) |
| select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS |
| help |
| cfg80211 is the Linux wireless LAN (802.11) configuration API. |
| Enable this if you have a wireless device. |
| |
| For more information refer to documentation on the wireless wiki: |
| |
| https://wireless.wiki.kernel.org/en/developers/Documentation/cfg80211 |
| |
| When built as a module it will be called cfg80211. |
| |
| if CFG80211 |
| |
| config NL80211_TESTMODE |
| bool "nl80211 testmode command" |
| help |
| The nl80211 testmode command helps implementing things like |
| factory calibration or validation tools for wireless chips. |
| |
| Select this option ONLY for kernels that are specifically |
| built for such purposes. |
| |
| Debugging tools that are supposed to end up in the hands of |
| users should better be implemented with debugfs. |
| |
| Say N. |
| |
| config CFG80211_DEVELOPER_WARNINGS |
| bool "enable developer warnings" |
| default n |
| help |
| This option enables some additional warnings that help |
| cfg80211 developers and driver developers, but beware that |
| they can also trigger due to races with userspace. |
| |
| For example, when a driver reports that it was disconnected |
| from the AP, but the user disconnects manually at the same |
| time, the warning might trigger spuriously due to races. |
| |
| Say Y only if you are developing cfg80211 or a driver based |
| on it (or mac80211). |
| |
| |
| config CFG80211_CERTIFICATION_ONUS |
| bool "cfg80211 certification onus" |
| depends on EXPERT |
| default n |
| help |
| You should disable this option unless you are both capable |
| and willing to ensure your system will remain regulatory |
| compliant with the features available under this option. |
| Some options may still be under heavy development and |
| for whatever reason regulatory compliance has not or |
| cannot yet be verified. Regulatory verification may at |
| times only be possible until you have the final system |
| in place. |
| |
| This option should only be enabled by system integrators |
| or distributions that have done work necessary to ensure |
| regulatory certification on the system with the enabled |
| features. Alternatively you can enable this option if |
| you are a wireless researcher and are working in a controlled |
| and approved environment by your local regulatory agency. |
| |
| config CFG80211_REQUIRE_SIGNED_REGDB |
| bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS |
| default y |
| select SYSTEM_DATA_VERIFICATION |
| help |
| Require that in addition to the "regulatory.db" file a |
| "regulatory.db.p7s" can be loaded with a valid PKCS#7 |
| signature for the regulatory.db file made by one of the |
| keys in the certs/ directory. |
| |
| config CFG80211_USE_KERNEL_REGDB_KEYS |
| bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS |
| default y |
| depends on CFG80211_REQUIRE_SIGNED_REGDB |
| help |
| Allow the regulatory database to be signed by one of the keys for |
| which certificates are part of the kernel sources |
| (in net/wireless/certs/). |
| |
| This is currently only Seth Forshee's key, who is the regulatory |
| database maintainer. |
| |
| config CFG80211_EXTRA_REGDB_KEYDIR |
| string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS |
| depends on CFG80211_REQUIRE_SIGNED_REGDB |
| help |
| If selected, point to a directory with DER-encoded X.509 |
| certificates like in the kernel sources (net/wireless/certs/) |
| that shall be accepted for a signed regulatory database. |
| |
| Note that you need to also select the correct CRYPTO_<hash> modules |
| for your certificates, and if cfg80211 is built-in they also must be. |
| |
| config CFG80211_REG_CELLULAR_HINTS |
| bool "cfg80211 regulatory support for cellular base station hints" |
| depends on CFG80211_CERTIFICATION_ONUS |
| help |
| This option enables support for parsing regulatory hints |
| from cellular base stations. If enabled and at least one driver |
| claims support for parsing cellular base station hints the |
| regulatory core will allow and parse these regulatory hints. |
| The regulatory core will only apply these regulatory hints on |
| drivers that support this feature. You should only enable this |
| feature if you have tested and validated this feature on your |
| systems. |
| |
| config CFG80211_REG_RELAX_NO_IR |
| bool "cfg80211 support for NO_IR relaxation" |
| depends on CFG80211_CERTIFICATION_ONUS |
| help |
| This option enables support for relaxation of the NO_IR flag for |
| situations that certain regulatory bodies have provided clarifications |
| on how relaxation can occur. This feature has an inherent dependency on |
| userspace features which must have been properly tested and as such is |
| not enabled by default. |
| |
| A relaxation feature example is allowing the operation of a P2P group |
| owner (GO) on channels marked with NO_IR if there is an additional BSS |
| interface which associated to an AP which userspace assumes or confirms |
| to be an authorized master, i.e., with radar detection support and DFS |
| capabilities. However, note that in order to not create daisy chain |
| scenarios, this relaxation is not allowed in cases where the BSS client |
| is associated to P2P GO and in addition the P2P GO instantiated on |
| a channel due to this relaxation should not allow connection from |
| non P2P clients. |
| |
| The regulatory core will apply these relaxations only for drivers that |
| support this feature by declaring the appropriate channel flags and |
| capabilities in their registration flow. |
| |
| config CFG80211_DEFAULT_PS |
| bool "enable powersave by default" |
| default y |
| help |
| This option enables powersave mode by default. |
| |
| If this causes your applications to misbehave you should fix your |
| applications instead -- they need to register their network |
| latency requirement, see Documentation/power/pm_qos_interface.rst. |
| |
| config CFG80211_DEBUGFS |
| bool "cfg80211 DebugFS entries" |
| depends on DEBUG_FS |
| help |
| You can enable this if you want debugfs entries for cfg80211. |
| |
| If unsure, say N. |
| |
| config CFG80211_CRDA_SUPPORT |
| bool "support CRDA" if EXPERT |
| default y |
| help |
| You should enable this option unless you know for sure you have no |
| need for it, for example when using the regulatory database loaded as |
| a firmware file. |
| |
| If unsure, say Y. |
| |
| config CFG80211_WEXT |
| bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT |
| select WEXT_CORE |
| default y if CFG80211_WEXT_EXPORT |
| help |
| Enable this option if you need old userspace for wireless |
| extensions with cfg80211-based drivers. |
| |
| config CFG80211_WEXT_EXPORT |
| bool |
| help |
| Drivers should select this option if they require cfg80211's |
| wext compatibility symbols to be exported. |
| |
| endif # CFG80211 |
| |
| config LIB80211 |
| tristate |
| default n |
| help |
| This options enables a library of common routines used |
| by IEEE802.11 wireless LAN drivers. |
| |
| Drivers should select this themselves if needed. |
| |
| config LIB80211_CRYPT_WEP |
| tristate |
| select CRYPTO_LIB_ARC4 |
| |
| config LIB80211_CRYPT_CCMP |
| tristate |
| select CRYPTO |
| select CRYPTO_AES |
| select CRYPTO_CCM |
| |
| config LIB80211_CRYPT_TKIP |
| tristate |
| select CRYPTO_LIB_ARC4 |
| |
| config LIB80211_DEBUG |
| bool "lib80211 debugging messages" |
| depends on LIB80211 |
| default n |
| help |
| You can enable this if you want verbose debugging messages |
| from lib80211. |
| |
| If unsure, say N. |