Symptoms & scope
- The PCI Wi-Fi adapter is present but no usable wireless interface appears.
- Firmware requests end with no suitable firmware found rather than a successful fallback.
Relevant environment
Kernel-managed Wi-Fi adapters loading firmware; the log signatures here target Intel iwlwifi, while package names vary by distribution.
Recognizable messages (synthetic examples)
iwlwifi 0000:03:00.0: Direct firmware load for iwlwifi-example-99.ucode failed with error -2Check the following lines for a supported fallback; this warning alone does not establish an unusable adapter.
iwlwifi 0000:03:00.0: no suitable firmware found!Match the driver’s requested API range to official firmware for the exact adapter and kernel.
Possible causes
These are possible explanations, not a confirmed diagnosis. Several independent faults can coexist.
- The installed kernel may request a supported firmware API not present in the distribution’s firmware package or early-boot image.
- Driver/hardware mismatch or initialization trouble remains possible; one missing highest firmware revision can be harmless when a lower supported revision loads.
Diagnose safely
Run one command at a time in the relevant session. Read the explanation first. Uppercase placeholders need your own values; tools and privileges vary by distribution. These commands are displayed here and never executed by the website.
Check 1
Read PCI device IDs and bound kernel drivers. Locate the network controller and record its full vendor/device ID; this query does not load modules.
lspci -nnkInterpret the result: A PCI device with no driver differs from iwlwifi bound but unable to load firmware. USB Wi-Fi needs lsusb identity instead; a model marketing name alone is insufficient.
Check 2
Read current-boot kernel firmware requests and the subsequent driver result; journal privileges may be needed.
journalctl -k -b --no-pager -n 350Interpret the result: Error -2 means a requested file was missing. A later loaded firmware line can make that request harmless; final no suitable firmware found confirms the driver exhausted its supported choices.
Evidence-guided next steps
Install the matching distribution firmware
If the driver exhausts supported firmware revisions, use the adapter ID and requested filenames to identify the distribution’s official firmware package and enabled repository. Install its matching update through the package manager, then reboot to compare driver initialization.
Precautions: Use Ethernet or offline distribution packages when Wi-Fi is unavailable. Do not copy an arbitrary firmware file for another adapter or assume the newest API supports an older card.
Recovery / rollback: Keep the previously working kernel and firmware package available; restore that supported pair through the package manager if initialization regresses.
Did this solution help you?
Compare the kernel and early-boot image
If the same adapter works with an installed previous kernel, compare the requested firmware API and package versions before replacing hardware. When Wi-Fi is needed during early boot and the installed file exists, rebuild the initramfs using the distribution’s procedure so it includes the required firmware.
Precautions: Do not rebuild an unrelated image or remove the only working kernel. Early-boot networking and encrypted-root recovery may require alternate boot media.
Recovery / rollback: Select the previous kernel and image from the boot menu. Restore the earlier image/package pair if the regenerated image prevents boot.
Did this solution help you?
References & review
This guide was prepared from primary project or distribution sources and reviewed on the date shown. This is an editorial source check, not evidence that a fix was reproduced on your hardware. Diagnostic log examples are synthetic fixtures. Version-dependent details must be checked against your installed release.
- Linux wireless: iwlwifi hardware and firmware requirements (project or distribution documentation)
- Linux iwlwifi: firmware version fallback and final rejection (upstream implementation; behavior can vary by version)
- Linux kernel: request_firmware interface (project or distribution documentation)