How can we find out information about a firmware, such as whether itis installed, and if installed, its version?if the firmware is installed, how can we find out its version and ifit 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 iwlwififilename:       /lib/modules/3.16.0-34-generic/kernel/drivers/net/wireless/iwlwifi/iwlwifi.kolicense:        GPLauthor:         Copyright(c) 2003- 2014 Intel Corporation <ilw@linux.intel.com>version:        in-tree:description:    Intel(R) Wireless WiFi driver for Linuxfirmware:       iwlwifi-100-5.ucodefirmware:       iwlwifi-1000-5.ucodefirmware:       iwlwifi-135-6.ucodefirmware:       iwlwifi-105-6.ucodefirmware:       iwlwifi-2030-6.ucodefirmware:       iwlwifi-2000-6.ucodefirmware:       iwlwifi-5150-2.ucodefirmware:       iwlwifi-5000-5.ucodefirmware:       iwlwifi-6000g2b-6.ucodefirmware:       iwlwifi-6000g2a-5.ucodefirmware:       iwlwifi-6050-5.ucodefirmware:       iwlwifi-6000-4.ucodefirmware:       iwlwifi-7265-9.ucodefirmware:       iwlwifi-3160-9.ucodefirmware:       iwlwifi-7260-9.ucodefirmware:       iwlwifi-8000-8.ucodesrcversion:     93D664267873827B22C4309What 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/syslogApr 13 08:55:39 ocean kernel: [39341.818595] iwlwifi 0000:03:00.0: Loaded firmware version: 8.83.5.1 build 33692Apr 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/3Apr 13 09:13:08 ocean kernel: [    7.193448] iwlwifi 0000:03:00.0: loaded firmware version 8.83.5.1 build 33692 op_mode iwldvmApr 13 13:24:05 ocean kernel: [15067.014026] iwlwifi 0000:03:00.0: loaded firmware version 8.83.5.1 build 33692 op_mode iwldvmIt doesn't say explicitly which firmwares needed by iwlwifi failto load. How can I find them out, and then solve the failing-to-load problem?
How to find information about a firmware and install it?
firmware
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).