User Tools

Site Tools


en:users:drivers:iwlwifi:core_release

This is an old revision of the document!


Introduction

Intel works with periodic releases of the iwlwifi driver that are tested with a specific combination of components. They are called LinuxCore releases and are numbered sequentially, e.g. LinuxCore11 is the latest stable release as of May 2015. These releases can be seen as snapshots of the development trees (including upstream) that are tested thoroughly together with a specific version of the firmware and userspace components (i.e. hostap).

Components

The components used in each release are specific stabilization versions of the following:

  • iwlwifi driver
  • mac80211
  • cfg80211
  • backport
  • firmware
  • hostap

Who are you?

If you use a well known distribution

If you use a well maintained distribution, your device should be supported out of the box. If your device doesn't work at all (you can't even see it in the interface list), then it might mean that your kernel is too old or that you don't have the proper firmware. You can contact your distribution to have them fix this. In the meantime, you can use the backport tree to make your device work. Make sure to install the proper firmware as well. If your device works minimally (you can see it in the interface list), but you experience issues, please check the support section. You can also use the backport tree to check if the issue you are suffering from has been fixed in different releases. The backport tree is also an excellent tool to bisect regressions. Note that when you install the backport drivers, you disallow the usage of any WLAN device that is not supported by iwlmvm. To check if your device is supported by iwlmvm, please check here in the module column.

If you are building your own system

If you are building your own system and you know that the only WLAN device you'll have is from Intel, the backport tree is what you need. You'll be able to get a driver / firmware combo that has been validated together. As a rule of thumb, you should take the latest Core version available.

A note about upstream policy

The fact that Intel published a backport tree for its WLAN drivers doesn't impact its commitment to upstream all the code to the mainline kernel. It simply allows users who can't choose their kernel to work with a more recent driver. The backport tree allows us to provide a combo of the driver / firmware that has been fully validated. For a simple reason of capacity, we cannot test as thoroughly all the kernel versions / firmwares / devices matrix. There is code in the backport tree that is not in the mainline kernel, but this is transient. Eventually, all the code in the backport tree will reach mainline unless it has dependencies (platform drivers etc…).

Core release

A Core release includes all the components described above. Here is the way to match all these components together. backport, iwlwifi, mac80211 and cfg80211 come from the backport-iwlwifi git repository. You'll find the relevant Core branches there (release/LinuxCoreX). For all the Core releases, the master branch hostap should be taken. The firmware can be found in iwlwifi's linux-firmware clone. Please don't open bugs on versions that are advertised as End of life. Here is the table to help you finding the right version of the different components:

Core release status backport-iwlwifi Firmware API number
Core5 End of life LinuxCore5 -9.ucode 7260 3160 7265
Core7 End of life LinuxCore7 -10.ucode 7260 3160 7265 7265D
Core9 End of life LinuxCore9 -12.ucode 7260 3160 7265 7265D
Core10 End of life LinuxCore10 -13.ucode 7260 3160 7265 7265D8260
Core11 End of life LinuxCore11 -14.ucode 7260 3160 7265 7265D8260
Core12 End of life LinuxCore12 -15.ucode 7260 3160 7265 7265D8260
Core13 End of life LinuxCore13 -16.ucode 7260 3160 7265 7265D8260
Core14 End of life for 7265D and up LinuxCore14 -17.ucode 7260 3160 7265 7265D8260
Core15 End of life LinuxCore15 -18.ucode 7265D8260
Core16 End of life LinuxCore16 -19.ucode 7265D8260
Core17 End of life LinuxCore17 -20.ucode 7265D8260
Core18 End of life LinuxCore18 -21.ucode 7265D826031688265
Core19 End of life LinuxCore19 -22.ucode 7265D826031688265
Core24 End of life LinuxCore24 -27.ucode 7265D826031688265
Core26 End of life for 8260 and up LinuxCore26 -29.ucode 7265D3168
Core28 maintained LinuxCore28 -31.ucode 82608265
Core30 End of life LinuxCore30 -33.ucode 92609000
Core31 maintained LinuxCore31 -34.ucode 8260826592609000
Core33 maintained core33 -36.ucode 82608265
Core35 maintained core35 -38.ucode 92609000

About vendor commands

iwlwifi implements a few vendor commands that are available in this tree. We strongly suggest that you disable the vendor commands Kconfig option (CPTCFG_IWLMVM_VENDOR_CMDS). Enabling vendor commands without actually sending them can cause incompatibility with certain versions of the supplicant (due to a supplicant bug) or too aggressive Multicast frames filtering. Note that CPTCFG_IWLMVM_VENDOR_CMDS is enabled by default and needs to be explicitly disabled.

How to install the driver

In order to install the driver, you'll need to download the sources:

git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git -b release/LinuxCore28

Then, you can make the sources with vendor commands disabled:

make defconfig-iwlwifi-public
sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config
make -j4

Now it is time to install the modules you built

sudo make install

Now you can reboot.

Support

The support model for Core releases is the same as for the mainline kernel described in the support section. We will try to assist for any pure WLAN bug, but please take into account that platform integration isn't trivial: it can cause random issues. We also don't commit to work on all the platforms.

en/users/drivers/iwlwifi/core_release.1522863817.txt.gz · Last modified: 2018/04/04 17:43 by Emmanuel Grumbach