How can we find out information about a firmware, such as whether it is installed, and if installed, its version?
if the firmware is installed, how can we find out its version and if it is outdated?
If the firmware is not installed, how can we install it from where?
For example, my
lshw -C network
saysdriver=iwlwifi driverversion=3.16.0-34-generic firmware=8.83.5.1 build 33692
. But my moduleiwlwifi
depends on the following firmwares:$ 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 <ilw@linux.intel.com> 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
What is the version of my firmware,
8.83.5.1 build 33692
, or8000-8
or some other number in the firmware names listed bymodinfo iwlwifi
?I followed Mark's comment:
$ 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
It doesn't say explicitly which firmwares needed by
iwlwifi
fail to load. How can I find them out, and then solve the failing-to-load problem?
1 Answers
The error message doesn't indicate that iwlwifi
couldn't find a required firmware file; it indicates that it was unable to load a chunk of firmware into the adapter. So iwlwifi
found the firmware it was looking for, it just couldn't load (all of) it into the adapter...
Generally speaking, when looking for firmware, if you're using your distribution's kernel you should use your distribution's firmware packages; if you're using an upstream kernel you should use the canonical firmware repository.
As for your specific firmware, its version is "8.83.5.1 build 33692". The numbers in the firmware file names correspond to specific chips and API versions; so for example iwlwifi-8000-8.ucode
is the firmware used by iwl-8000
for 8260 and 4165 devices, with API version 8. The iwlwifi
module lists all the different firmware files for all the chipsets it supports; since it supports lots of chipsets, it declares lots of firmware files even though it generally only needs one for any given device.
Thus iwlwifi-7260-9.ucode
has nothing to do with iwlwifi-8000-8.ucode
; it is used by iwl-7000
. If newer versions of the latter are published in future, you'll see an update in linux-firmware
, but the filename will only change if the API version is increased (presumably because it changes in a backwards-incompatible fashion).

- 434,908
iwlwifi-6000g2a-6.ucode
, so it's not evident by the name alone as there is alsoiwlwifi-6050-5.ucode
, andiwlwifi-6000-6.ucode
. See this question for more info, https://unix.stackexchange.com/q/452123/3285 – Evan Carroll Jun 27 '18 at 23:26