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
says driver=iwlwifi driverversion=3.16.0-34-generic firmware=8.83.5.1 build 33692
. But my module iwlwifi
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 <[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
What is the version of my firmware, 8.83.5.1 build 33692
, or 8000-8
or some other number in the firmware names listed by modinfo 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?
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).
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments