How does the linux kernel choose which firmware version to load?
Solution 1:
The firmware version that is requested is written into the driver code. As you can see, the particular version if iwlwifi that you are using requests -7 firmware. It can't find it and ends in an error. You can see this in modinfo iwlwifi:
$ modinfo iwlwifi
filename: /lib/modules/3.13.0-24-generic/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
license: GPL
author: Copyright(c) 2003-2013 Intel Corporation <[email protected]>
version: in-tree:
description: Intel(R) Wireless WiFi driver for Linux
<snip>
firmware: iwlwifi-7260-7.ucode
What does yours report? Have you tried re-naming the -9 firmware as -7, after backing up, of course?
I actually believe that, for 7260 devices, modinfo suggests -7 but the driver actually uses -8. I am unaware of any driver version that calls for -9. Perhaps kernel version 3.15-xx.
Solution 2:
I think it depends on your kernel:
- 3.10+ uses firmware -7
- 3.13+ uses firmware -8
- 3.14.9+ uses firmware -9
- 3.17+ uses firmware -10
Source: http://wireless.kernel.org/en/users/Drivers/iwlwifi
Ubuntu 14.04 is 3.13 so loads 22.24.8.0.
Ubuntu 14.10 is 3.16 so loads 25.228.9.0.
I can connect with both, though the first was flaky for me... speedtest.net scores were 2-3Mbps down versus 25Mbps down with the second. YMMV.
Solution 3:
Same here... but with stock kernel
$ uname -a
Linux prato 3.13.0-30-generic #55-Ubuntu SMP Fri Jul 4 21:40:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ modinfo iwlwifi | grep 7260
firmware: iwlwifi-7260-7.ucode
But will only load if I download and install 7260-8 from http://wireless.kernel.org/en/users/Drivers/iwlwifi
Maybe somebody forgot to change something in the driver info. My installation had -7
and -9
, oddly enough.
Luckily it works with the -8
, even with monitor mode.
Hope it helps!