0

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:

https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi?s[]=iwlwifi

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-22.1.7.0.tgz
  • ...
  • 4.1+ → iwlwifi-3160-ucode-25.30.13.0.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-25.30.13.0.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.

  • 2
    What is the exact issue with your wifi as it might not be a module or firmware issue – Jeremy31 Oct 4 '18 at 9:11
  • What version actually loads: dmesg | grep iwl – chili555 Oct 4 '18 at 14:49
  • @Jeremy31 My laptop has flaky and unreliable WiFi, wherever I connect it likes to break randomly, sometimes every few minutes, sometimes once a day. Other people with Ubuntu laptops don't experience similar problems. I see an error in dmesg when this happens. But anyway, that's kinda not the question I asked here... :P I'm trying to solve it on my own first, and one of the answers I found to my problem is "try upgrading the driver first", so that's what I'm trying to do here, and having problems with. – akavel Oct 5 '18 at 11:00
  • @chili555 my dmesg is now rotated, so not 100% sure, but my notes from yesterday seem to say: loaded firmware version 17.948900127.0 op_mode iwlmvm; uh, so now I'm even more confused — how can that be, if modinfo iwlwifi shows firmware: iwlwifi-3160-13.ucode ?!? – akavel Oct 5 '18 at 11:05
  • " I see an error in dmesg when this happens." It would be most helpful to see the error and the ten or so lines preceeding it. – chili555 Oct 5 '18 at 12:55
0

First of all, what you are looking at here are the firmware files, not the driver. All newer Intel devices use the same driver, iwlwifi. The features particular to the exact chip, such as your 3160, are enabled by the firmware files.

You have already linked the firmware discussions at kernel.org. Of further interest is the firmware discussion at Intel, the manufacturer of the hardware and the author of the driver and firmware: https://www.intel.com/content/www/us/en/support/articles/000005511/network-and-i-o/wireless-networking.html

As you can see, kernel.org suggests that the correct firmware for your device is -16. Intel says it is -14. In contrast, modinfo says it is -13. In fact, the driver iwlwifi and the package linux-firmware load -17!

What have we learned here? I think we have learned that there is no consensus and that there is no need and no place to download a newer firmware file.

In my experience, having used many Intel devices myself over 15 years, the firmware and driver iwlwifi are seldom the issue. In the spirit of “I'm trying to solve it on my own first”, I suggest that the solution is likely related to either:

  • Power saving;
  • The device wants to roam from among several SSIDs with the same name; for example, eduroam;
  • The router is set to auto select the encryption; that is WPA or WPA2, and the wireless device stumbles at the changeover;
  • The router is set to autoselect the channel and the device also stumbles at the changeover; or
  • The router is set to TKIP.

Should you wish to update the actual iwlwifi driver, first address these issues. I suspect that no update will then be required.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.