我们如何找到有关固件的信息,例如是否安装,如果安装,其版本?
如果安装了固件,我们怎样才能知道它的版本以及它是否已经过时?
如果没有安装固件,我们如何从哪里安装呢?
例如,我的
lshw -C network
说driver=iwlwifi driverversion=3.16.0-34-generic firmware=8.83.5.1 build 33692
。但我的模块iwlwifi
依赖于以下固件:$ modinfo iwlwifi filename: /lib/modules/3.16.0-34-generic/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko license: GPL author: Copyright(c) 2003- 2014 Intel Corporation <[email protected]> version: in-tree: description: Intel(R) Wireless WiFi driver for Linux firmware: iwlwifi-100-5.ucode firmware: iwlwifi-1000-5.ucode firmware: iwlwifi-135-6.ucode firmware: iwlwifi-105-6.ucode firmware: iwlwifi-2030-6.ucode firmware: iwlwifi-2000-6.ucode firmware: iwlwifi-5150-2.ucode firmware: iwlwifi-5000-5.ucode firmware: iwlwifi-6000g2b-6.ucode firmware: iwlwifi-6000g2a-5.ucode firmware: iwlwifi-6050-5.ucode firmware: iwlwifi-6000-4.ucode firmware: iwlwifi-7265-9.ucode firmware: iwlwifi-3160-9.ucode firmware: iwlwifi-7260-9.ucode firmware: iwlwifi-8000-8.ucode srcversion: 93D664267873827B22C4309
我的固件 的版本是什么
8.83.5.1 build 33692
,或者8000-8
列出的固件名称中的其他数字modinfo iwlwifi
?我跟着马克的评论:
$ grep firmware /var/log/syslog Apr 13 08:55:39 ocean kernel: [39341.818595] iwlwifi 0000:03:00.0: Loaded firmware version: 8.83.5.1 build 33692 Apr 13 08:55:54 ocean kernel: [39357.100042] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 08:56:09 ocean kernel: [39372.448055] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 08:56:25 ocean kernel: [39387.640078] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 08:57:06 ocean kernel: [39429.560058] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 08:57:22 ocean kernel: [39444.744048] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 08:57:37 ocean kernel: [39460.560055] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 08:57:53 ocean kernel: [39475.752032] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 08:58:18 ocean kernel: [39500.944045] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 08:58:33 ocean kernel: [39516.484054] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 08:58:49 ocean kernel: [39531.640046] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 08:59:47 ocean kernel: [39589.852052] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 09:00:02 ocean kernel: [39605.004072] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 09:00:18 ocean kernel: [39620.780054] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 09:00:33 ocean kernel: [39635.960060] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 09:00:58 ocean kernel: [39661.160053] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 09:01:14 ocean kernel: [39676.592040] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 09:01:29 ocean kernel: [39691.764037] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 09:03:19 ocean kernel: [39801.904071] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 09:06:42 ocean kernel: [40004.872045] iwlwifi 0000:03:00.0: Failed to load firmware chunk! Apr 13 09:13:08 ocean kernel: [ 1.733757] psmouse serio1: trackpoint: IBM TrackPoint firmware: 0x0e, buttons: 3/3 Apr 13 09:13:08 ocean kernel: [ 7.193448] iwlwifi 0000:03:00.0: loaded firmware version 8.83.5.1 build 33692 op_mode iwldvm Apr 13 13:24:05 ocean kernel: [15067.014026] iwlwifi 0000:03:00.0: loaded firmware version 8.83.5.1 build 33692 op_mode iwldvm
它没有明确说明
iwlwifi
无法加载所需的固件。如何找到它们,然后解决加载失败的问题?
答案1
该错误消息并不表示iwlwifi
找不到所需的固件文件;而是表示找不到所需的固件文件。它表明无法将固件块加载到适配器中。所以iwlwifi
找到了它正在寻找的固件,它只是无法将(全部)它加载到适配器中......
一般来说,在寻找固件时,如果您使用发行版的内核,则应该使用发行版的固件包;如果您使用上游内核,您应该使用规范固件存储库。
至于您的具体固件,其版本是“8.83.5.1 build 33692”。固件文件名中的数字对应特定芯片和API版本;例如iwlwifi-8000-8.ucode
使用的固件是iwl-8000
适用于 8260 和 4165 设备,API 版本为 8。该iwlwifi
模块列出了其支持的所有芯片组的所有不同固件文件;由于它支持大量芯片组,因此它声明了大量固件文件,尽管对于任何给定设备通常只需要一个固件文件。
因此iwlwifi-7260-9.ucode
与 无关iwlwifi-8000-8.ucode
;它被使用iwl-7000
。如果将来发布后者的新版本,您将在 中看到更新linux-firmware
,但只有在 API 版本增加时文件名才会更改(大概是因为它以向后不兼容的方式更改)。