162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig IWLWIFI 362306a36Sopenharmony_ci tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) " 462306a36Sopenharmony_ci depends on PCI && HAS_IOMEM && CFG80211 562306a36Sopenharmony_ci depends on IWLMEI || !IWLMEI 662306a36Sopenharmony_ci select FW_LOADER 762306a36Sopenharmony_ci help 862306a36Sopenharmony_ci Select to build the driver supporting the: 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci Intel Wireless WiFi Link Next-Gen AGN 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci This option enables support for use with the following hardware: 1362306a36Sopenharmony_ci Intel Wireless WiFi Link 6250AGN Adapter 1462306a36Sopenharmony_ci Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN) 1562306a36Sopenharmony_ci Intel WiFi Link 1000BGN 1662306a36Sopenharmony_ci Intel Wireless WiFi 5150AGN 1762306a36Sopenharmony_ci Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN 1862306a36Sopenharmony_ci Intel 6005 Series Wi-Fi Adapters 1962306a36Sopenharmony_ci Intel 6030 Series Wi-Fi Adapters 2062306a36Sopenharmony_ci Intel Wireless WiFi Link 6150BGN 2 Adapter 2162306a36Sopenharmony_ci Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN) 2262306a36Sopenharmony_ci Intel 2000 Series Wi-Fi Adapters 2362306a36Sopenharmony_ci Intel 7260 Wi-Fi Adapter 2462306a36Sopenharmony_ci Intel 3160 Wi-Fi Adapter 2562306a36Sopenharmony_ci Intel 7265 Wi-Fi Adapter 2662306a36Sopenharmony_ci Intel 8260 Wi-Fi Adapter 2762306a36Sopenharmony_ci Intel 3165 Wi-Fi Adapter 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci This driver uses the kernel's mac80211 subsystem. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci In order to use this driver, you will need a firmware 3362306a36Sopenharmony_ci image for it. You can obtain the microcode from: 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci <https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi>. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci The firmware is typically installed in /lib/firmware. You can 3862306a36Sopenharmony_ci look in the hotplug script /etc/hotplug/firmware.agent to 3962306a36Sopenharmony_ci determine which directory FIRMWARE_DIR is set to when the script 4062306a36Sopenharmony_ci runs. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci If you want to compile the driver as a module ( = code which can be 4362306a36Sopenharmony_ci inserted in and removed from the running kernel whenever you want), 4462306a36Sopenharmony_ci say M here and read <file:Documentation/kbuild/modules.rst>. The 4562306a36Sopenharmony_ci module will be called iwlwifi. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciif IWLWIFI 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciconfig IWLWIFI_LEDS 5062306a36Sopenharmony_ci bool 5162306a36Sopenharmony_ci depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211 5262306a36Sopenharmony_ci depends on IWLMVM || IWLDVM 5362306a36Sopenharmony_ci select LEDS_TRIGGERS 5462306a36Sopenharmony_ci select MAC80211_LEDS 5562306a36Sopenharmony_ci default y 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ciconfig IWLDVM 5862306a36Sopenharmony_ci tristate "Intel Wireless WiFi DVM Firmware support" 5962306a36Sopenharmony_ci depends on MAC80211 6062306a36Sopenharmony_ci help 6162306a36Sopenharmony_ci This is the driver that supports the DVM firmware. The list 6262306a36Sopenharmony_ci of the devices that use this firmware is available here: 6362306a36Sopenharmony_ci https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciconfig IWLMVM 6662306a36Sopenharmony_ci tristate "Intel Wireless WiFi MVM Firmware support" 6762306a36Sopenharmony_ci select WANT_DEV_COREDUMP 6862306a36Sopenharmony_ci depends on MAC80211 6962306a36Sopenharmony_ci depends on PTP_1588_CLOCK_OPTIONAL 7062306a36Sopenharmony_ci help 7162306a36Sopenharmony_ci This is the driver that supports the MVM firmware. The list 7262306a36Sopenharmony_ci of the devices that use this firmware is available here: 7362306a36Sopenharmony_ci https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci# don't call it _MODULE -- will confuse Kconfig/fixdep/... 7662306a36Sopenharmony_ciconfig IWLWIFI_OPMODE_MODULAR 7762306a36Sopenharmony_ci bool 7862306a36Sopenharmony_ci default y if IWLDVM=m 7962306a36Sopenharmony_ci default y if IWLMVM=m 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_cicomment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM" 8262306a36Sopenharmony_ci depends on IWLDVM=n && IWLMVM=n 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_cimenu "Debugging Options" 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ciconfig IWLWIFI_DEBUG 8762306a36Sopenharmony_ci bool "Enable full debugging output in the iwlwifi driver" 8862306a36Sopenharmony_ci help 8962306a36Sopenharmony_ci This option will enable debug tracing output for the iwlwifi drivers 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci This will result in the kernel module being ~100k larger. You can 9262306a36Sopenharmony_ci control which debug output is sent to the kernel log by setting the 9362306a36Sopenharmony_ci value in 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci /sys/module/iwlwifi/parameters/debug 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci This entry will only exist if this option is enabled. 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci To set a value, simply echo an 8-byte hex value to the same file: 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci % echo 0x43fff > /sys/module/iwlwifi/parameters/debug 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci You can find the list of debug mask values in: 10462306a36Sopenharmony_ci drivers/net/wireless/iwlwifi/iwl-debug.h 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci If this is your first time using this driver, you should say Y here 10762306a36Sopenharmony_ci as the debug information can assist others in helping you resolve 10862306a36Sopenharmony_ci any problems you may encounter. 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ciconfig IWLWIFI_DEBUGFS 11162306a36Sopenharmony_ci bool "iwlwifi debugfs support" 11262306a36Sopenharmony_ci depends on MAC80211_DEBUGFS 11362306a36Sopenharmony_ci help 11462306a36Sopenharmony_ci Enable creation of debugfs files for the iwlwifi drivers. This 11562306a36Sopenharmony_ci is a low-impact option that allows getting insight into the 11662306a36Sopenharmony_ci driver's state at runtime. 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ciconfig IWLWIFI_DEVICE_TRACING 11962306a36Sopenharmony_ci bool "iwlwifi device access tracing" 12062306a36Sopenharmony_ci depends on EVENT_TRACING 12162306a36Sopenharmony_ci default y 12262306a36Sopenharmony_ci help 12362306a36Sopenharmony_ci Say Y here to trace all commands, including TX frames and IO 12462306a36Sopenharmony_ci accesses, sent to the device. If you say yes, iwlwifi will 12562306a36Sopenharmony_ci register with the ftrace framework for event tracing and dump 12662306a36Sopenharmony_ci all this information to the ringbuffer, you may need to 12762306a36Sopenharmony_ci increase the ringbuffer size. See the ftrace documentation 12862306a36Sopenharmony_ci for more information. 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci When tracing is not enabled, this option still has some 13162306a36Sopenharmony_ci (though rather small) overhead. 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci If unsure, say Y so we can help you better when problems 13462306a36Sopenharmony_ci occur. 13562306a36Sopenharmony_ciendmenu 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ciendif 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ciconfig IWLMEI 14062306a36Sopenharmony_ci tristate "Intel Management Engine communication over WLAN" 14162306a36Sopenharmony_ci depends on INTEL_MEI 14262306a36Sopenharmony_ci depends on PM 14362306a36Sopenharmony_ci depends on CFG80211 14462306a36Sopenharmony_ci depends on BROKEN 14562306a36Sopenharmony_ci help 14662306a36Sopenharmony_ci Enables the iwlmei kernel module. 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci CSME stands for Converged Security and Management Engine. It is a CPU 14962306a36Sopenharmony_ci on the chipset and runs a dedicated firmware. AMT (Active Management 15062306a36Sopenharmony_ci Technology) is one of the applications that run on that CPU. AMT 15162306a36Sopenharmony_ci allows to control the platform remotely. 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci This kernel module allows to communicate with the Intel Management 15462306a36Sopenharmony_ci Engine over Wifi. This is supported starting from Tiger Lake 15562306a36Sopenharmony_ci platforms and has been tested on 9260 devices only. 15662306a36Sopenharmony_ci If AMT is configured not to use the wireless device, this module is 15762306a36Sopenharmony_ci harmless (and useless). 15862306a36Sopenharmony_ci Enabling this option on a platform that has a different device and 15962306a36Sopenharmony_ci has Wireless enabled on AMT can prevent WiFi from working correctly. 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci For more information see 16262306a36Sopenharmony_ci <https://software.intel.com/en-us/manageability/> 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ci If unsure, say N. 165