如何更改无线网卡使用的固件

如何更改无线网卡使用的固件

我正在尝试更新我的无线网卡(Intel 8260)的固件及其iwlwifi驱动程序。 /lib/firmware/其中包括以下文件:

iwlwifi-8000C-16.ucode    (version 16.242414.0)
iwlwifi-8000C-22.ucode    (version 22.361476.0)

(我使用了https://packages.debian.org/sid/firmware-iwlwifi来识别这些文件的版本)。

lshw显示当前固件版本为 16.242414.0。如何更改以使用版本 22.361476.0?

答案1

请求的固件版本写入驱动程序代码。如您所见,iwlwifi您使用的特定版本请求 -16 固件。您可以加载几个不同的 ucode 文件/lib/firmware,驱动程序将调用它编写的版本。

注意:在某些情况下,驱动程序代码看似需要的内容与实际加载的内容不匹配。

您可以安装更高版本的 iwlwifi;通常,这是通过安装较新的 Ubuntu 版本来完成的。在 Ubuntu 17.04 中,modinfo iwlwifi显示:

filename:       /lib/modules/4.10.0-22-generic/kernel/drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
license:        GPL
author:         Copyright(c) 2003- 2015 Intel Corporation <[email protected]>
description:    Intel(R) Wireless WiFi driver for Linux
<snip>
firmware:       iwlwifi-8000C-26.ucode
<snip>

对应的linux-firmware包里有-13,-16和-21;但是没有-26!

您当然可以升级固件。无论如何,驱动程序都会加载其编写所需的固件文件。在许多情况下,驱动程序将被编写为使用多个版本中的任意一个;例如 -6、-7、-8 或 -9。驱动程序会查找它能找到的最新版本/lib/firmware,如果找不到,则加载下一个最新版本,依此类推。在上面给出的“例如”中,如果最新的固件包包含 -6、-7、-8、-9 和 -10,则不会造成任何损害。驱动程序只会加载其编写的最新和最新版本,而忽略其余版本。-10 将不会加载。

要升级您的:

wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.164_all.deb
sudo dpkg -i linux*.deb

如果您因为无线问题而想要加载较新的固件,我们很乐意听到您的意见并尽力提供帮助。

相关内容