0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config IWLWIFI
0003 tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) "
0004 depends on PCI && HAS_IOMEM && CFG80211
0005 depends on IWLMEI || !IWLMEI
0006 select FW_LOADER
0007 help
0008 Select to build the driver supporting the:
0009
0010 Intel Wireless WiFi Link Next-Gen AGN
0011
0012 This option enables support for use with the following hardware:
0013 Intel Wireless WiFi Link 6250AGN Adapter
0014 Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN)
0015 Intel WiFi Link 1000BGN
0016 Intel Wireless WiFi 5150AGN
0017 Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN
0018 Intel 6005 Series Wi-Fi Adapters
0019 Intel 6030 Series Wi-Fi Adapters
0020 Intel Wireless WiFi Link 6150BGN 2 Adapter
0021 Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN)
0022 Intel 2000 Series Wi-Fi Adapters
0023 Intel 7260 Wi-Fi Adapter
0024 Intel 3160 Wi-Fi Adapter
0025 Intel 7265 Wi-Fi Adapter
0026 Intel 8260 Wi-Fi Adapter
0027 Intel 3165 Wi-Fi Adapter
0028
0029
0030 This driver uses the kernel's mac80211 subsystem.
0031
0032 In order to use this driver, you will need a firmware
0033 image for it. You can obtain the microcode from:
0034
0035 <https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi>.
0036
0037 The firmware is typically installed in /lib/firmware. You can
0038 look in the hotplug script /etc/hotplug/firmware.agent to
0039 determine which directory FIRMWARE_DIR is set to when the script
0040 runs.
0041
0042 If you want to compile the driver as a module ( = code which can be
0043 inserted in and removed from the running kernel whenever you want),
0044 say M here and read <file:Documentation/kbuild/modules.rst>. The
0045 module will be called iwlwifi.
0046
0047 if IWLWIFI
0048
0049 config IWLWIFI_LEDS
0050 bool
0051 depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211
0052 depends on IWLMVM || IWLDVM
0053 select LEDS_TRIGGERS
0054 select MAC80211_LEDS
0055 default y
0056
0057 config IWLDVM
0058 tristate "Intel Wireless WiFi DVM Firmware support"
0059 depends on MAC80211
0060 help
0061 This is the driver that supports the DVM firmware. The list
0062 of the devices that use this firmware is available here:
0063 https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware
0064
0065 config IWLMVM
0066 tristate "Intel Wireless WiFi MVM Firmware support"
0067 select WANT_DEV_COREDUMP
0068 depends on MAC80211
0069 help
0070 This is the driver that supports the MVM firmware. The list
0071 of the devices that use this firmware is available here:
0072 https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware
0073
0074 # don't call it _MODULE -- will confuse Kconfig/fixdep/...
0075 config IWLWIFI_OPMODE_MODULAR
0076 bool
0077 default y if IWLDVM=m
0078 default y if IWLMVM=m
0079
0080 comment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM"
0081 depends on IWLDVM=n && IWLMVM=n
0082
0083 menu "Debugging Options"
0084
0085 config IWLWIFI_DEBUG
0086 bool "Enable full debugging output in the iwlwifi driver"
0087 help
0088 This option will enable debug tracing output for the iwlwifi drivers
0089
0090 This will result in the kernel module being ~100k larger. You can
0091 control which debug output is sent to the kernel log by setting the
0092 value in
0093
0094 /sys/module/iwlwifi/parameters/debug
0095
0096 This entry will only exist if this option is enabled.
0097
0098 To set a value, simply echo an 8-byte hex value to the same file:
0099
0100 % echo 0x43fff > /sys/module/iwlwifi/parameters/debug
0101
0102 You can find the list of debug mask values in:
0103 drivers/net/wireless/iwlwifi/iwl-debug.h
0104
0105 If this is your first time using this driver, you should say Y here
0106 as the debug information can assist others in helping you resolve
0107 any problems you may encounter.
0108
0109 config IWLWIFI_DEBUGFS
0110 bool "iwlwifi debugfs support"
0111 depends on MAC80211_DEBUGFS
0112 help
0113 Enable creation of debugfs files for the iwlwifi drivers. This
0114 is a low-impact option that allows getting insight into the
0115 driver's state at runtime.
0116
0117 config IWLWIFI_DEVICE_TRACING
0118 bool "iwlwifi device access tracing"
0119 depends on EVENT_TRACING
0120 default y
0121 help
0122 Say Y here to trace all commands, including TX frames and IO
0123 accesses, sent to the device. If you say yes, iwlwifi will
0124 register with the ftrace framework for event tracing and dump
0125 all this information to the ringbuffer, you may need to
0126 increase the ringbuffer size. See the ftrace documentation
0127 for more information.
0128
0129 When tracing is not enabled, this option still has some
0130 (though rather small) overhead.
0131
0132 If unsure, say Y so we can help you better when problems
0133 occur.
0134 endmenu
0135
0136 endif
0137
0138 config IWLMEI
0139 tristate "Intel Management Engine communication over WLAN"
0140 depends on INTEL_MEI
0141 depends on PM
0142 depends on CFG80211
0143 depends on BROKEN
0144 help
0145 Enables the iwlmei kernel module.
0146
0147 CSME stands for Converged Security and Management Engine. It is a CPU
0148 on the chipset and runs a dedicated firmware. AMT (Active Management
0149 Technology) is one of the applications that run on that CPU. AMT
0150 allows to control the platform remotely.
0151
0152 This kernel module allows to communicate with the Intel Management
0153 Engine over Wifi. This is supported starting from Tiger Lake
0154 platforms and has been tested on 9260 devices only.
0155 If AMT is configured not to use the wireless device, this module is
0156 harmless (and useless).
0157 Enabling this option on a platform that has a different device and
0158 has Wireless enabled on AMT can prevent WiFi from working correctly.
0159
0160 For more information see
0161 <https://software.intel.com/en-us/manageability/>
0162
0163 If unsure, say N.