I have problems with the iwlwifi network driver, and I want to try upgrading it to the newest available version. On AskUbuntu, I found a suggestion to download a driver from https://wireless.wiki.kernel.org. I found a page there for the iwlwifi driver, at:
My adapter is an Intel Wireless 3160. The "Firmware" section on the kernel.org page has multiple entries for the 3160 card for different kernels, e.g.:
- 3.10+ → iwlwifi-3160-ucode-18.104.22.168.tgz
- 4.1+ → iwlwifi-3160-ucode-22.214.171.124.tgz
- 4.3+ → iwlwifi-3160-ucode-16.242414.0.tgz
I'm on Ubuntu 16.04 LTS, checking the kernel version:
$ uname -a Linux akavel-lenovo 4.4.0-137-generic #163-Ubuntu SMP Mon Sep 24 13:14:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
My kernel is 4.4 — so, which one of the above drivers should I choose? My first thought was to use the 4.3+ — but then I noticed the driver version is apparently 16.x, while 4.1+ has 25.x — so can I use the 4.1+? Is the driver really newer, or the ucode numbers mean something else? Or do I have to use the 4.3+? Or something else? I'm confused :( Or should I maybe just compile a driver on my own? If yes, then how? To add the confusion, the page also has a section like below (emphasis mine):
7260, 3160, 7265, 7265D, 3165 and 3168 support
Those devices will not be supported by the newest firmware versions: the last firmware that was released for 3160, 7260 and 7265 is -17.ucode. Bug fixes will be ported to -17.ucode.
Looking into the linux-firmware.git repository mentioned somewhere else on the page indeed seems to show an
iwlwifi-3160-17.ucode as the one with the highest number. But when I downloaded the iwlwifi-3160-ucode-16.242414.0.tgz, it only has a iwlwifi-3160-16.ucode inside...
To summarize: the "Firmware" section on the wireless.wiki.kernel.org website is confusing to me, I don't really know which version should I download?
edit 1: Hm; after downloading the iwlwifi-3160-ucode-126.96.36.199.tgz and looking into it, it has an iwlwifi-3160-13.ucode file inside, so at least it seems to clear part of the confusion, in that the internal ordering follows the kernel version ordering, and I should probably just ignore the weird versioning in the tgz names. Still not sure what is it about the ucode-17 mentioned as the "newest version" but not being present in the newest tarball.