Firmware files for drivers in Linux
January 27, 2022
What is Linux Firmware for?
Firmware can be confusing because not all users remember them, and firmware are not always pre-installed on Linux distributions. At the same time, firmware is just as important for the normal operation of devices as are drivers (kernel modules), which usually already exist in the system, since they are part of the Linux kernel.
Due to the lack of firmware, the device may not work completely or partially.
The name of the firmware packages differs in distributions (and sometimes it differs in an unobvious way, for example, by rearranging words). Firmware packages can contain both firmware for devices from different manufacturers, and for devices from the same manufacturer.
Sometimes firmware from one manufacturer is divided in different packages, for example, the firmware-intel-sound package contains firmware for Intel sound devices, and the firmware-iwlwifi package contains firmware for Intel wireless cards.
There are cases when the firmware of devices of the same type and the same manufacturer is divided into different packages, for example, the firmware-ath9k-htc and firmware-atheros packages contain firmware for Atheros wireless adapters.
Examples of problems that missing firmware can cause:
- Linux does not see Alfa AWUS036NHA. “firmware: failed to load ath9k_htc” error (SOLVED)
- Linux does not see Wi-Fi on Realtek chipset. “firmware: failed to load rt2870.bin” error (SOLVED)
- Linux does not see Wi-Fi on Intel chipset. “firmware: failed to load iwlwifi” error (SOLVED)
Firmware in Kali Linux
Kali Linux has several firmware packages, for example:
The first two packages contain firmware that was previously included in the Linux kernel. The first package contains firmware that complies with the Debian Free Software Guidelines, the second contains the rest that do not comply with the Free Software Guidelines. Most of the firmware got into the non-free package. And the third package contains… more firmware.
In addition to these packages, there are packages containing firmware for certain devices from certain manufacturers, for example, firmware-realtek, firmware-atheros, firmware-iwlwifi.
The Kali Linux repository also has two metapackages:
- firmware-linux – includes firmware-linux-free and firmware-linux-nonfree
- kali-linux-firmware – includes bluez-firmware, firmware-amd-graphics, firmware-atheros, firmware-brcm80211, firmware-intel-sound, firmware-iwlwifi, firmware-libertas, firmware-linux, firmware-misc-nonfree, firmware-realtek, firmware-sof-signed, firmware-ti-connectivity, firmware-zd1211
In order not to experience problems with Wi-Fi and other devices in the future, it is recommended to install the kali-linux-firmware package, which will install most of the necessary firmware.
In Kali Linux, it is convenient to search for firmware packages with a command like
apt search SEARCH_STRING
As SEARCH_STRING, you can specify the name of the device, manufacturer, chipset of the device, the name of the firmware file, if you know it.
Firmware in Debian
In Debian, in addition to the firmware-linux-free, firmware-linux-nonfree, and firmware-misc-nonfree packages already familiar from Kali Linux, there is also the already familiar firmware-linux metapackage that combines the first two.
In addition to those discussed, there are firmware for devices from individual manufacturers, for example, firmware-iwlwifi, firmware-ath9k-htc, firmware-atheros, firmware-amd-graphics and others.
Firmware in Ubuntu, Linux Mint
In these distributions, the firmware is not divided into free and nonfree and is placed in one package called linux-firmware.
In addition to this package, there are also firmware for certain manufacturers, such as firmware-ath9k-htc, nouveau-firmware and others.
In general, in Ubuntu and Linux Mint, most of the firmware is collected in a single linux-firmware package, it is convenient!
But the search for firmware packages with a command like
apt search SEARCH_STRING
practically useless if you are trying to search by device model, chipset or firmware file. If you searched and did not find a separate package for your device, then most likely the firmware you need is contained in the linux-firmware package.
Firmware in Arch Linux, Manjaro, BlackArch
Until recently, all firmware were collected in one linux-firmware package. But some large and rare firmware have been divied into separate packages, details in the article “Changes in the linux-firmware package: kernel requirements, separating large files into separate packages”.
How to install all firmware for various drivers in the Linux kernel
In order to avoid possible problems due to missing firmware in the future, it is recommended to install them, since they take up relatively little disk space. Previously, many firmware were part of the kernel (which is understandable, given their importance), but were removed from the kernel, apparently to save space.
Installation of the main firmware packages is performed by the following commands.
On Kali Linux:
sudo apt install kali-linux-firmware
sudo apt install firmware-linux firmware-misc-nonfree firmware-iwlwifi firmware-ath9k-htc
On Ubuntu, Linux Mint:
sudo apt install linux-firmware firmware-iwlwifi firmware-ath9k-htc
On Arch Linux, Manjaro, BlackArch:
sudo pacman -S linux-firmware
- Linux does not see Alfa AWUS036NHA. “firmware: failed to load ath9k_htc” error (SOLVED) (100%)
- Linux does not see Wi-Fi on Realtek chipset. “firmware: failed to load rt2870.bin” error (SOLVED) (100%)
- Linux does not see Wi-Fi on Intel chipset. “firmware: failed to load iwlwifi” error (SOLVED) (100%)
- Changes in the linux-firmware package: kernel requirements, separating large files into separate packages (90.1%)
- How to install Wi-Fi driver in Linux if the computer is offline (67.6%)
- Comparison of performance (data transfer rate) of OpenVPN over UDP and TCP (RANDOM - 50%)