如何查找有关固件的信息并安装它?

如何查找有关固件的信息并安装它?
  1. 我们如何找到有关固件的信息,例如是否安装,如果安装,其版本?

    如果安装了固件,我们怎样才能知道它的版本以及它是否已经过时?

    如果没有安装固件,我们如何从哪里安装呢?

    例如,我的lshw -C networkdriver=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

  2. 我跟着马克的评论:

    $ 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 版本增加时文件名才会更改(大概是因为它以向后不兼容的方式更改)。

相关内容