linux内核如何选择加载哪个固件版本?

oz1*_*123 13 wireless kernel drivers 14.04

我从http://wireless.kernel.org/en/users/Drivers/iwlwifi#Firmware为我的网卡 N-7260 安装了最新固件。我正在使用来自内核团队 ppa 的内核版本为 3.14.01 的 Ubuntu 14.04 。这是我的固件列表/lib/firmware

$ ls /lib/firmware/*iwl*7260*
/lib/firmware/iwlwifi-7260-8.ucode  /lib/firmware/org.iwlwifi-7260-7.ucode
/lib/firmware/iwlwifi-7260-9.ucode  /lib/firmware/org.iwlwifi-7260-8.ucode
Run Code Online (Sandbox Code Playgroud)

现在似乎无法加载第 9 版。如果我删除版本 8,我会在启动时看到以下消息:

sudo dmesg | grep iwl
[sudo] password for ozubu: 
[    6.121743] iwlwifi 0000:02:00.0: irq 62 for MSI/MSI-X
[    6.133208] iwlwifi 0000:02:00.0: Direct firmware load failed with error -2
[    6.133211] iwlwifi 0000:02:00.0: Falling back to user helper
[    6.311794] iwlwifi 0000:02:00.0: Direct firmware load failed with error -2
[    6.311799] iwlwifi 0000:02:00.0: Falling back to user helper
[    6.324940] iwlwifi 0000:02:00.0: request for firmware file 'iwlwifi-7260-7.ucode' failed.
[    6.324950] iwlwifi 0000:02:00.0: no suitable firmware found!
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:

我如何告诉 linux 它应该加载iwlwifi-7260-9.ucode

更新

奇怪的是,现在加载的固件版本是 8,至少根据 dmesg:

$ sudo dmesg | grep iwl
[sudo] password for ozubu: 
[   18.970651] iwlwifi 0000:02:00.0: irq 62 for MSI/MSI-X
[   19.012648] iwlwifi 0000:02:00.0: loaded firmware version 22.24.8.0 op_mode iwlmvm
[   19.315472] iwlwifi 0000:02:00.0: Detected Intel(R) Wireless N 7260, REV=0x144
[   19.315899] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
[   19.316118] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
[   19.523132] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
[   23.100268] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
[   23.100484] iwlwifi 0000:02:00.0: L1 Disabled; Enabling L0S
Run Code Online (Sandbox Code Playgroud)

chi*_*555 5

请求的固件版本被写入驱动程序代码。如您所见,如果您使用的iwlwifi请求 -7 固件,则特定版本。它找不到它并以错误结束。您可以在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 <ilw@linux.intel.com>
version:        in-tree:
description:    Intel(R) Wireless WiFi driver for Linux
<snip>
firmware:       iwlwifi-7260-7.ucode
Run Code Online (Sandbox Code Playgroud)

你的报告什么?当然,您是否尝试过在备份后将 -9 固件重命名为 -7?

我实际上相信,对于 7260 设备,modinfo建议 -7,但驱动程序实际上使用 -8。我不知道任何需要 -9 的驱动程序版本。也许内核版本 3.15-xx。