1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2e705c121SKalle Valoconfig IWLWIFI 3e705c121SKalle Valo tristate "Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) " 4ec5aecc0SLuca Coelho depends on PCI && HAS_IOMEM && CFG80211 5977df8bdSArnd Bergmann depends on IWLMEI || !IWLMEI 6e705c121SKalle Valo select FW_LOADER 7a7f7f624SMasahiro Yamada help 8e705c121SKalle Valo Select to build the driver supporting the: 9e705c121SKalle Valo 10e705c121SKalle Valo Intel Wireless WiFi Link Next-Gen AGN 11e705c121SKalle Valo 12e705c121SKalle Valo This option enables support for use with the following hardware: 13e705c121SKalle Valo Intel Wireless WiFi Link 6250AGN Adapter 14e705c121SKalle Valo Intel 6000 Series Wi-Fi Adapters (6200AGN and 6300AGN) 15e705c121SKalle Valo Intel WiFi Link 1000BGN 16e705c121SKalle Valo Intel Wireless WiFi 5150AGN 17e705c121SKalle Valo Intel Wireless WiFi 5100AGN, 5300AGN, and 5350AGN 18e705c121SKalle Valo Intel 6005 Series Wi-Fi Adapters 19e705c121SKalle Valo Intel 6030 Series Wi-Fi Adapters 20e705c121SKalle Valo Intel Wireless WiFi Link 6150BGN 2 Adapter 21e705c121SKalle Valo Intel 100 Series Wi-Fi Adapters (100BGN and 130BGN) 22e705c121SKalle Valo Intel 2000 Series Wi-Fi Adapters 23e705c121SKalle Valo Intel 7260 Wi-Fi Adapter 24e705c121SKalle Valo Intel 3160 Wi-Fi Adapter 25e705c121SKalle Valo Intel 7265 Wi-Fi Adapter 26e705c121SKalle Valo Intel 8260 Wi-Fi Adapter 27e705c121SKalle Valo Intel 3165 Wi-Fi Adapter 28e705c121SKalle Valo 29e705c121SKalle Valo 30e705c121SKalle Valo This driver uses the kernel's mac80211 subsystem. 31e705c121SKalle Valo 32e705c121SKalle Valo In order to use this driver, you will need a firmware 33e705c121SKalle Valo image for it. You can obtain the microcode from: 34e705c121SKalle Valo 35e00c6d8dSFlavio Suligoi <https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi>. 36e705c121SKalle Valo 37e705c121SKalle Valo The firmware is typically installed in /lib/firmware. You can 38e705c121SKalle Valo look in the hotplug script /etc/hotplug/firmware.agent to 39e705c121SKalle Valo determine which directory FIRMWARE_DIR is set to when the script 40e705c121SKalle Valo runs. 41e705c121SKalle Valo 42e705c121SKalle Valo If you want to compile the driver as a module ( = code which can be 43e705c121SKalle Valo inserted in and removed from the running kernel whenever you want), 44cd238effSMauro Carvalho Chehab say M here and read <file:Documentation/kbuild/modules.rst>. The 45e705c121SKalle Valo module will be called iwlwifi. 46e705c121SKalle Valo 47e705c121SKalle Valoif IWLWIFI 48e705c121SKalle Valo 49cf74ce02SJohannes Bergconfig IWLWIFI_KUNIT_TESTS 50cf74ce02SJohannes Berg tristate 51cf74ce02SJohannes Berg depends on KUNIT 52cf74ce02SJohannes Berg default KUNIT_ALL_TESTS 53cf74ce02SJohannes Berg help 54cf74ce02SJohannes Berg Enable this option for iwlwifi kunit tests. 55cf74ce02SJohannes Berg 56cf74ce02SJohannes Berg If unsure, say N. 57cf74ce02SJohannes Berg 58e705c121SKalle Valoconfig IWLWIFI_LEDS 59e705c121SKalle Valo bool 60efdbfa0aSArnd Bergmann depends on LEDS_CLASS=y || LEDS_CLASS=MAC80211 61ec5aecc0SLuca Coelho depends on IWLMVM || IWLDVM 62e705c121SKalle Valo select LEDS_TRIGGERS 63e705c121SKalle Valo select MAC80211_LEDS 64e705c121SKalle Valo default y 65e705c121SKalle Valo 66e705c121SKalle Valoconfig IWLDVM 67e705c121SKalle Valo tristate "Intel Wireless WiFi DVM Firmware support" 68aca432f0SLuca Coelho depends on MAC80211 69e705c121SKalle Valo help 70e705c121SKalle Valo This is the driver that supports the DVM firmware. The list 71e705c121SKalle Valo of the devices that use this firmware is available here: 72e705c121SKalle Valo https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware 73e705c121SKalle Valo 74e705c121SKalle Valoconfig IWLMVM 75e705c121SKalle Valo tristate "Intel Wireless WiFi MVM Firmware support" 76e705c121SKalle Valo select WANT_DEV_COREDUMP 77aca432f0SLuca Coelho depends on MAC80211 78609a1bcdSRandy Dunlap depends on PTP_1588_CLOCK_OPTIONAL 79e705c121SKalle Valo help 80e705c121SKalle Valo This is the driver that supports the MVM firmware. The list 81e705c121SKalle Valo of the devices that use this firmware is available here: 82e705c121SKalle Valo https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware 83e705c121SKalle Valo 84*d1e879ecSMiri Korenblitconfig IWLMLD 85*d1e879ecSMiri Korenblit tristate "Intel Wireless WiFi MLD Firmware support" 86*d1e879ecSMiri Korenblit select WANT_DEV_COREDUMP 87*d1e879ecSMiri Korenblit depends on MAC80211 88*d1e879ecSMiri Korenblit depends on PTP_1588_CLOCK_OPTIONAL 89*d1e879ecSMiri Korenblit help 90*d1e879ecSMiri Korenblit This is the driver that supports firmwares of MLD capable devices. 91*d1e879ecSMiri Korenblit The list of the devices that use this firmware is available here: 92*d1e879ecSMiri Korenblit https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#firmware 93*d1e879ecSMiri Korenblit 94e705c121SKalle Valo# don't call it _MODULE -- will confuse Kconfig/fixdep/... 95e705c121SKalle Valoconfig IWLWIFI_OPMODE_MODULAR 96e705c121SKalle Valo bool 97e705c121SKalle Valo default y if IWLDVM=m 98e705c121SKalle Valo default y if IWLMVM=m 99*d1e879ecSMiri Korenblit default y if IWLMLD=m 100e705c121SKalle Valo 101*d1e879ecSMiri Korenblitcomment "WARNING: iwlwifi is useless without IWLDVM or IWLMVM or IWLMLD" 102*d1e879ecSMiri Korenblit depends on IWLDVM=n && IWLMVM=n && IWLMLD=n 103e705c121SKalle Valo 104e705c121SKalle Valomenu "Debugging Options" 105e705c121SKalle Valo 106e705c121SKalle Valoconfig IWLWIFI_DEBUG 107e705c121SKalle Valo bool "Enable full debugging output in the iwlwifi driver" 108a7f7f624SMasahiro Yamada help 109e705c121SKalle Valo This option will enable debug tracing output for the iwlwifi drivers 110e705c121SKalle Valo 111e705c121SKalle Valo This will result in the kernel module being ~100k larger. You can 112e705c121SKalle Valo control which debug output is sent to the kernel log by setting the 113e705c121SKalle Valo value in 114e705c121SKalle Valo 115e705c121SKalle Valo /sys/module/iwlwifi/parameters/debug 116e705c121SKalle Valo 117e705c121SKalle Valo This entry will only exist if this option is enabled. 118e705c121SKalle Valo 119e705c121SKalle Valo To set a value, simply echo an 8-byte hex value to the same file: 120e705c121SKalle Valo 121e705c121SKalle Valo % echo 0x43fff > /sys/module/iwlwifi/parameters/debug 122e705c121SKalle Valo 123e705c121SKalle Valo You can find the list of debug mask values in: 124e705c121SKalle Valo drivers/net/wireless/iwlwifi/iwl-debug.h 125e705c121SKalle Valo 126e705c121SKalle Valo If this is your first time using this driver, you should say Y here 127e705c121SKalle Valo as the debug information can assist others in helping you resolve 128e705c121SKalle Valo any problems you may encounter. 129e705c121SKalle Valo 130e705c121SKalle Valoconfig IWLWIFI_DEBUGFS 131e705c121SKalle Valo bool "iwlwifi debugfs support" 132e705c121SKalle Valo depends on MAC80211_DEBUGFS 133a7f7f624SMasahiro Yamada help 134e705c121SKalle Valo Enable creation of debugfs files for the iwlwifi drivers. This 135e705c121SKalle Valo is a low-impact option that allows getting insight into the 136e705c121SKalle Valo driver's state at runtime. 137e705c121SKalle Valo 138e705c121SKalle Valoconfig IWLWIFI_DEVICE_TRACING 139e705c121SKalle Valo bool "iwlwifi device access tracing" 140e705c121SKalle Valo depends on EVENT_TRACING 141e705c121SKalle Valo default y 142e705c121SKalle Valo help 143e705c121SKalle Valo Say Y here to trace all commands, including TX frames and IO 144e705c121SKalle Valo accesses, sent to the device. If you say yes, iwlwifi will 145e705c121SKalle Valo register with the ftrace framework for event tracing and dump 146e705c121SKalle Valo all this information to the ringbuffer, you may need to 147e705c121SKalle Valo increase the ringbuffer size. See the ftrace documentation 148e705c121SKalle Valo for more information. 149e705c121SKalle Valo 150e705c121SKalle Valo When tracing is not enabled, this option still has some 151e705c121SKalle Valo (though rather small) overhead. 152e705c121SKalle Valo 153e705c121SKalle Valo If unsure, say Y so we can help you better when problems 154e705c121SKalle Valo occur. 155e705c121SKalle Valoendmenu 156e705c121SKalle Valo 157e705c121SKalle Valoendif 158977df8bdSArnd Bergmann 159977df8bdSArnd Bergmannconfig IWLMEI 160977df8bdSArnd Bergmann tristate "Intel Management Engine communication over WLAN" 161977df8bdSArnd Bergmann depends on INTEL_MEI 162977df8bdSArnd Bergmann depends on PM 163066291beSArnd Bergmann depends on CFG80211 1648997f5c8SToke Høiland-Jørgensen depends on BROKEN 165977df8bdSArnd Bergmann help 166977df8bdSArnd Bergmann Enables the iwlmei kernel module. 167977df8bdSArnd Bergmann 168977df8bdSArnd Bergmann CSME stands for Converged Security and Management Engine. It is a CPU 169977df8bdSArnd Bergmann on the chipset and runs a dedicated firmware. AMT (Active Management 170977df8bdSArnd Bergmann Technology) is one of the applications that run on that CPU. AMT 171977df8bdSArnd Bergmann allows to control the platform remotely. 172977df8bdSArnd Bergmann 173977df8bdSArnd Bergmann This kernel module allows to communicate with the Intel Management 174977df8bdSArnd Bergmann Engine over Wifi. This is supported starting from Tiger Lake 175977df8bdSArnd Bergmann platforms and has been tested on 9260 devices only. 176977df8bdSArnd Bergmann If AMT is configured not to use the wireless device, this module is 177977df8bdSArnd Bergmann harmless (and useless). 178977df8bdSArnd Bergmann Enabling this option on a platform that has a different device and 179977df8bdSArnd Bergmann has Wireless enabled on AMT can prevent WiFi from working correctly. 180977df8bdSArnd Bergmann 181977df8bdSArnd Bergmann For more information see 182977df8bdSArnd Bergmann <https://software.intel.com/en-us/manageability/> 183977df8bdSArnd Bergmann 184977df8bdSArnd Bergmann If unsure, say N. 185