User Tools

Site Tools


en:users:drivers:iwlwifi

This is an old revision of the document!


Introduction

iwlwifi is the wireless driver for Intel's current wireless chips. For older chips, there are other drivers:

Features

  • Station (client) mode
  • IBSS (Ad-Hoc) mode
  • AP mode on 2.4GHz (on devices driven by iwlmvm)
  • P2P (on devices driven by iwlmvm)
  • 802.11a/b/g/n/ac (depending on the device)
  • NAN, FTM and other features are planned for 8260

Supported Devices

Git repositories

There are four repositories that we maintain:

Firmware

You can get the firmware from linux-firmware.git, or download it here:

Device Kernels Module Firmware
Intel® Wireless WiFi 5150AGN 2.6.29+ iwldvm iwlwifi-5150-ucode-8.24.2.2.tgz
Intel® Wireless WiFi 5100AGN
Intel® Wireless WiFi 5300AGN
Intel® Wireless WiFi 5350AGN
2.6.27+ iwldvm iwlwifi-5000-ucode-5.4.A.11.tar.gz
2.6.30+ iwlwifi-5000-ucode-8.24.2.12.tgz
2.6.38+ iwlwifi-5000-ucode-8.83.5.1-1.tgz
Intel® Centrino® Advanced-N 6230
Intel® Centrino® Wireless-N 1030
Intel® Centrino® Wireless-N 130
Intel® Centrino® Advanced-N 6235
2.6.36+ iwldvm iwlwifi-6000g2b-ucode-17.168.5.1.tgz
2.6.36+ iwlwifi-6000g2b-ucode-17.168.5.2.tgz
3.2+ iwlwifi-6000g2b-ucode-18.168.6.1.tgz
Intel® Centrino® Advanced-N 6205 2.6.35+ iwldvm iwlwifi-6000g2a-ucode-17.168.5.1.tgz
2.6.35+ iwlwifi-6000g2a-ucode-17.168.5.2.tgz
2.6.35+ iwlwifi-6000g2a-ucode-17.168.5.3.tgz
3.2+ iwlwifi-6000g2a-ucode-18.168.6.1.tgz
Intel® Centrino® Wireless-N + WiMAX 6150
Intel® Centrino® Advanced-N + WiMAX 6250
2.6.30+ iwldvm iwlwifi-6050-ucode-9.201.4.1.tgz
2.6.37+ iwlwifi-6050-ucode-41.28.5.1.tgz
Intel® Centrino® Ultimate-N 6300
Intel® Centrino® Advanced-N 6200
2.6.30+ iwldvm iwlwifi-6000-ucode-9.176.4.1.tgz
2.6.30+ iwlwifi-6000-ucode-9.193.4.1.tgz
2.6.30+ iwlwifi-6000-ucode-9.221.4.1.tgz
Intel® Centrino® Wireless-N 1000 2.6.30+ iwldvm iwlwifi-1000-ucode-128.50.3.1.tgz
3.2+ iwlwifi-1000-ucode-39.31.5.1.tgz
Intel® Centrino® Wireless-N 100 2.6.37+ iwldvm iwlwifi-100-ucode-39.31.5.1.tgz
Intel® Centrino® Wireless-N 135 3.2+ iwldvm iwlwifi-135-ucode-18.168.6.1.tgz
Intel® Centrino® Wireless-N 105 3.2+ iwldvm iwlwifi-105-ucode-18.168.6.1.tgz
Intel® Centrino® Wireless-N 2200 3.2+ iwldvm iwlwifi-2000-ucode-18.168.6.1.tgz
Intel® Centrino® Wireless-N 2230 3.2+ iwldvm iwlwifi-2030-ucode-18.168.6.1.tgz
Intel® Wireless 7260 3.10+ iwlmvm iwlwifi-7260-ucode-22.1.7.0.tgz
3.13+ iwlwifi-7260-ucode-22.24.8.0.tgz
3.14.9+ iwlwifi-7260-ucode-25.228.9.0.tgz
3.17+ iwlwifi-7260-ucode-23.15.10.0.tgz
3.19+ iwlwifi-7260-ucode-25.17.12.0.tgz
4.1+ iwlwifi-7260-ucode-25.30.13.0.tgz
4.3+ iwlwifi-7260-ucode-16.242414.0.tgz
Intel® Wireless 3160 3.10+ iwlmvm iwlwifi-3160-ucode-22.1.7.0.tgz
3.13+ iwlwifi-3160-ucode-22.24.8.0.tgz
3.14.9+ iwlwifi-3160-ucode-25.228.9.0.tgz
3.17+ iwlwifi-3160-ucode-23.15.10.0.tgz
3.19+ iwlwifi-3160-ucode-25.17.12.0.tgz
4.1+ iwlwifi-3160-ucode-25.30.13.0.tgz
4.3+ iwlwifi-3160-ucode-16.242414.0.tgz
Intel® Wireless 7265
Intel® Wireless 3165 (starting from firmware XX.XX.13.0 and kernel 4.1)
3.13+ iwlmvm iwlwifi-7265-ucode-22.24.8.0.tgz
3.14.9+ iwlwifi-7265-ucode-25.228.9.0.tgz
3.17+ iwlwifi-7265-ucode-23.15.10.0.tgz
3.19+ iwlwifi-7265-ucode-25.17.12.0.tgz
4.1+ iwlwifi-7265-ucode-25.30.13.0.tgz
4.3+ iwlwifi-7265-ucode-16.242414.0.tgz
Intel® Wireless 8260
Intel® Wireless 4165
4.1+ iwlmvm iwlwifi-8000-ucode-25.30.13.0.tgz
4.3+ iwlwifi-8000-ucode-16.242414.0.tgz

Where that appropriate location is depends (again) on your system distribution. You can typically find this location by looking in the udev scripts of your distro, the default on most distributions is /lib/firmware.

Installation of the firmware is simply:

# cp iwlwifi-*.ucode /lib/firmware

You can now load the driver.

Support

For general questions about WiFi on Linux using Intel's devices, you can send an email to linuxwifi@intel.com and / or the Linux wireless mailing which is common to all the vendors: linux-wireless@vger.kernel.org. Please note that the latter address accepts plaintext emails only. Our policy is to close bugs that have been pending for input for more than two weeks.

For bug reports and debugging , please see the page dedicated to that.

7260 and 7265 support

7260 and 7265 will not be supported by the newest firmware versions: the last firmware that was released for these devices is -17.ucode. Bug fixes will be ported to -17.ucode. Note that 7265D can run later firmware versions. In order to determine if your 7265 device is a 'D' version, you can check the dmesg output:

Detected Intel(R) Dual Band Wireless AC 7265, REV=0x210

The revision number of a 7265D device is 0x210, if you see any other number, you have a 7265 device.

Firmware_class dependency

The firmware necessary to support the devices is distributed separately under the firmware license.

Note that many distributions ship the firmware, you could install the “linux-firmware” package or similar. If that doesn't work, or you need newer firmware, read on.

The driver loads the firmware using the kernel's firmware_class infrastructure. More information can be found under in the Documentation/firmware_class/README file in the kernel source. In order to function correctly the driver requires this to be enabled in your kernel. When you configure the kernel, you can find this option in the following location:

Device Drivers ->
    Generic Driver Options ->
        Userspace firmware loading support

You can determine if your kernel currently has firmware loader support by looking for the

CONFIG_FW_LOADER

definition on your kernel's

.config

file.

In addition to having the firmware_class support in your kernel, you must also have a working userspace infrastructure configured. The steps for installing and configuring this are very distribution specific and the tools differ, but distributions have this enabled.

Once you have the firmware loader in place (or if you aren't sure and you just want to try things to see if it works), you need to install the firmware file into the appropriate location.

About the backport tree

We merge the updates coming from the backport infrastructure on a regular basis. This means that the bleeding edge of the backport tree will run against decently recent kernel (usually against Linus's tree). If you checkout an earlier branch / commit in backport-iwlwifi.git, you might not be able to work against the most recent kernel. Please keep that in mind. We have a release cycle based on the backport tree. These Core releases can be very useful for someone who wants to integrate our WiFi solution into his home made system.

About platform noise

WiFi heavily relies on radio frequencies, and those are subject to interference. Interference may come from another WiFi device, or from many other non-wifi devices (e.g. microwaves) that operates on the same frequency, and it might also come from other components of your own device/computer – this is known as 'platform noise'. Platform noise depends on the actual platform/computer and its design/manufacturing, and not on the Intel-wifi module.

Some common sources of platform noise might be:

  • The PCIe bus, especially when switching in/out of power saving modes.
  • USB3 and graphics (in certain scenarios).
  • Sometimes, even the fact that several ingredients’ ground lines are connected can cause noise.

This kind of interference might happen on 2.4GHz band, it is much less likely to happen on 5.2GHz band. Also note that using 40MHz (and not 20MHz) channel bandwidth will increase the probability to suffer from platform noise (since more frequencies might impact the wifi performance).

Some potential work-around options to this issue:

  • Disable wifi's power save (prevent the PCIe link to go to power save): power_scheme=1 module parameter for iwlmvm
  • Disable USB3 in BIOS (if possible), it not, just stop using it
  • Disable 40MHz on 2.4GHz: cfg80211_disable_40mhz_24ghz module parameter
  • Use 5GHz band (on devices that support 5GHz operation)

The fact that one of these options helped doesn't prove that the issue being troubleshooted is 'platform noise', but it may be an indication.

About iwldvm support and known issues

WiFi / Bluetooth coexistence

Having and WiFi running at the same time is a challenge. These scenarios have been tested thoroughly on 7260 and up, less so on earlier devices. This is why some people may face issues with devices that are handled by iwldvm. For users of these devices who have problems when WiFi and Bluetooth are running concurrently, we suggest to disable BT Coex by loading iwlwifi with bt_coex_active=0 as a module parameter.

Power management

Starting from 3.17, power management has been disabled in iwldvm because users reported it improved the behavior and was a valid work around for issues. The commit that disabled power management is here.

To enable manually power management, you can set the following module parameters to these values: iwlwifi.power_save=Y and iwldvm.force_cam=N.

en/users/drivers/iwlwifi.1459173464.txt.gz · Last modified: 2016/03/28 13:57 by Emmanuel Grumbach