Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config WIRELESS_EXT
0003         bool
0004 
0005 config WEXT_CORE
0006         def_bool y
0007         depends on CFG80211_WEXT || WIRELESS_EXT
0008 
0009 config WEXT_PROC
0010         def_bool y
0011         depends on PROC_FS
0012         depends on WEXT_CORE
0013 
0014 config WEXT_SPY
0015         bool
0016 
0017 config WEXT_PRIV
0018         bool
0019 
0020 config CFG80211
0021         tristate "cfg80211 - wireless configuration API"
0022         depends on RFKILL || !RFKILL
0023         select FW_LOADER
0024         select CRC32
0025         # may need to update this when certificates are changed and are
0026         # using a different algorithm, though right now they shouldn't
0027         # (this is here rather than below to allow it to be a module)
0028         select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS
0029         help
0030           cfg80211 is the Linux wireless LAN (802.11) configuration API.
0031           Enable this if you have a wireless device.
0032 
0033           For more information refer to documentation on the wireless wiki:
0034 
0035           https://wireless.wiki.kernel.org/en/developers/Documentation/cfg80211
0036 
0037           When built as a module it will be called cfg80211.
0038 
0039 if CFG80211
0040 
0041 config NL80211_TESTMODE
0042         bool "nl80211 testmode command"
0043         help
0044           The nl80211 testmode command helps implementing things like
0045           factory calibration or validation tools for wireless chips.
0046 
0047           Select this option ONLY for kernels that are specifically
0048           built for such purposes.
0049 
0050           Debugging tools that are supposed to end up in the hands of
0051           users should better be implemented with debugfs.
0052 
0053           Say N.
0054 
0055 config CFG80211_DEVELOPER_WARNINGS
0056         bool "enable developer warnings"
0057         default n
0058         help
0059           This option enables some additional warnings that help
0060           cfg80211 developers and driver developers, but beware that
0061           they can also trigger due to races with userspace.
0062 
0063           For example, when a driver reports that it was disconnected
0064           from the AP, but the user disconnects manually at the same
0065           time, the warning might trigger spuriously due to races.
0066 
0067           Say Y only if you are developing cfg80211 or a driver based
0068           on it (or mac80211).
0069 
0070 
0071 config CFG80211_CERTIFICATION_ONUS
0072         bool "cfg80211 certification onus"
0073         depends on EXPERT
0074         default n
0075         help
0076           You should disable this option unless you are both capable
0077           and willing to ensure your system will remain regulatory
0078           compliant with the features available under this option.
0079           Some options may still be under heavy development and
0080           for whatever reason regulatory compliance has not or
0081           cannot yet be verified. Regulatory verification may at
0082           times only be possible until you have the final system
0083           in place.
0084 
0085           This option should only be enabled by system integrators
0086           or distributions that have done work necessary to ensure
0087           regulatory certification on the system with the enabled
0088           features. Alternatively you can enable this option if
0089           you are a wireless researcher and are working in a controlled
0090           and approved environment by your local regulatory agency.
0091 
0092 config CFG80211_REQUIRE_SIGNED_REGDB
0093         bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS
0094         default y
0095         select SYSTEM_DATA_VERIFICATION
0096         help
0097           Require that in addition to the "regulatory.db" file a
0098           "regulatory.db.p7s" can be loaded with a valid PKCS#7
0099           signature for the regulatory.db file made by one of the
0100           keys in the certs/ directory.
0101 
0102 config CFG80211_USE_KERNEL_REGDB_KEYS
0103         bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS
0104         default y
0105         depends on CFG80211_REQUIRE_SIGNED_REGDB
0106         help
0107           Allow the regulatory database to be signed by one of the keys for
0108           which certificates are part of the kernel sources
0109           (in net/wireless/certs/).
0110 
0111           This is currently only Seth Forshee's key, who is the regulatory
0112           database maintainer.
0113 
0114 config CFG80211_EXTRA_REGDB_KEYDIR
0115         string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS
0116         depends on CFG80211_REQUIRE_SIGNED_REGDB
0117         help
0118           If selected, point to a directory with DER-encoded X.509
0119           certificates like in the kernel sources (net/wireless/certs/)
0120           that shall be accepted for a signed regulatory database.
0121 
0122           Note that you need to also select the correct CRYPTO_<hash> modules
0123           for your certificates, and if cfg80211 is built-in they also must be.
0124 
0125 config CFG80211_REG_CELLULAR_HINTS
0126         bool "cfg80211 regulatory support for cellular base station hints"
0127         depends on CFG80211_CERTIFICATION_ONUS
0128         help
0129           This option enables support for parsing regulatory hints
0130           from cellular base stations. If enabled and at least one driver
0131           claims support for parsing cellular base station hints the
0132           regulatory core will allow and parse these regulatory hints.
0133           The regulatory core will only apply these regulatory hints on
0134           drivers that support this feature. You should only enable this
0135           feature if you have tested and validated this feature on your
0136           systems.
0137 
0138 config CFG80211_REG_RELAX_NO_IR
0139         bool "cfg80211 support for NO_IR relaxation"
0140         depends on CFG80211_CERTIFICATION_ONUS
0141         help
0142          This option enables support for relaxation of the NO_IR flag for
0143          situations that certain regulatory bodies have provided clarifications
0144          on how relaxation can occur. This feature has an inherent dependency on
0145          userspace features which must have been properly tested and as such is
0146          not enabled by default.
0147 
0148          A relaxation feature example is allowing the operation of a P2P group
0149          owner (GO) on channels marked with NO_IR if there is an additional BSS
0150          interface which associated to an AP which userspace assumes or confirms
0151          to be an authorized master, i.e., with radar detection support and DFS
0152          capabilities. However, note that in order to not create daisy chain
0153          scenarios, this relaxation is not allowed in cases where the BSS client
0154          is associated to P2P GO and in addition the P2P GO instantiated on
0155          a channel due to this relaxation should not allow connection from
0156          non P2P clients.
0157 
0158          The regulatory core will apply these relaxations only for drivers that
0159          support this feature by declaring the appropriate channel flags and
0160          capabilities in their registration flow.
0161 
0162 config CFG80211_DEFAULT_PS
0163         bool "enable powersave by default"
0164         default y
0165         help
0166           This option enables powersave mode by default.
0167 
0168           If this causes your applications to misbehave you should fix your
0169           applications instead -- they need to register their network
0170           latency requirement, see Documentation/power/pm_qos_interface.rst.
0171 
0172 config CFG80211_DEBUGFS
0173         bool "cfg80211 DebugFS entries"
0174         depends on DEBUG_FS
0175         help
0176           You can enable this if you want debugfs entries for cfg80211.
0177 
0178           If unsure, say N.
0179 
0180 config CFG80211_CRDA_SUPPORT
0181         bool "support CRDA" if EXPERT
0182         default y
0183         help
0184           You should enable this option unless you know for sure you have no
0185           need for it, for example when using the regulatory database loaded as
0186           a firmware file.
0187 
0188           If unsure, say Y.
0189 
0190 config CFG80211_WEXT
0191         bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT
0192         select WEXT_CORE
0193         default y if CFG80211_WEXT_EXPORT
0194         help
0195           Enable this option if you need old userspace for wireless
0196           extensions with cfg80211-based drivers.
0197 
0198 config CFG80211_WEXT_EXPORT
0199         bool
0200         help
0201           Drivers should select this option if they require cfg80211's
0202           wext compatibility symbols to be exported.
0203 
0204 endif # CFG80211
0205 
0206 config LIB80211
0207         tristate
0208         default n
0209         help
0210           This options enables a library of common routines used
0211           by IEEE802.11 wireless LAN drivers.
0212 
0213           Drivers should select this themselves if needed.
0214 
0215 config LIB80211_CRYPT_WEP
0216         tristate
0217         select CRYPTO_LIB_ARC4
0218 
0219 config LIB80211_CRYPT_CCMP
0220         tristate
0221         select CRYPTO
0222         select CRYPTO_AES
0223         select CRYPTO_CCM
0224 
0225 config LIB80211_CRYPT_TKIP
0226         tristate
0227         select CRYPTO_LIB_ARC4
0228 
0229 config LIB80211_DEBUG
0230         bool "lib80211 debugging messages"
0231         depends on LIB80211
0232         default n
0233         help
0234           You can enable this if you want verbose debugging messages
0235           from lib80211.
0236 
0237           If unsure, say N.