How to Find the WiFi Adapter Model on a Linux Laptop: A Complete Guide

operating system Linux is renowned for its flexibility and transparency, but sometimes even experienced users face the need to accurately identify their hardware. This is especially true for wireless network cards, which often require installing specific proprietary drivers or configuring kernel parameters. If you don't know the exact model of your Wi-Fi adapter, the process of finding the right software turns into fortune telling.

Unlike Windows, where the device manager immediately displays a fancy commercial name like "Intel Dual Band Wireless-AC 8265," in the Linux console you'll often see only the bare vendor and device ID. Understanding How to find out the model of a Wi-Fi adapter, is a fundamental skill for any Linux user. This knowledge allows you not only to install drivers but also to check for support for modern security standards and frequency ranges.

There are many ways to obtain this information, ranging from standard command-line utilities to deep analysis of kernel logs. We'll cover the most effective methods that work on most distributions, whether Ubuntu, Debian, Arch or FedoraYou don't need to be a programming expert; you can simply copy the commands and understand the output.

Using the lspci utility for internal cards

The most common and fastest way to get information about devices connected via the PCI bus is the command lspciMost internal WiFi modules in laptops connect via this interface, so this method works 90% of the time. Entering the command without arguments will return a long list, so it's best to filter the results by adding the keyword "network" or "wireless."

Run the command in the terminal lspci | grep -i networkto see a list of network controllers. In the response, you'll see a string containing identifiers, for example, "02:00.0 Network controller: Intel Corporation Device...", where the numbers after the colon are the device ID. For more detailed information, including the exact chipset name, add the key -nn, which will show the vendor and device numeric codes in square brackets.

If the standard output is too sparse and does not contain the full model name, use the utility lspci with a key -v (verbose) for a detailed description. This will help you see the kernel driver in use in the "Kernel driver in use" line, which is critical for diagnosing problems.

⚠️ Attention: If the team lspci If your WiFi adapter isn't showing up, this could mean the device is disabled at the BIOS/UEFI level, is in a deep power-saving state, or is physically faulty. Also, some USB adapters don't show up here because they use the USB bus.
What do the codes in square brackets mean?

Codes of the form [8086:24fd] are hexadecimal identifiers. The first number (8086) is the vendor ID, in this case Intel. The second number (24fd) is the device ID. Knowing these codes, you can find drivers for even the most exotic hardware by searching for them in the pci.ids database.

For those who prefer a graphical interface, there are utilities like Hardinfo or Neofetch, but they often take data from the same system calls. The console method remains the most reliable, as it doesn't depend on a graphical shell and works even in recovery mode.

Analyzing USB devices with lsusb

If you are using an external USB WiFi adapter "whistle" or your laptop is equipped with a module that emulates a USB connection, the command lspci will be useless. In this case, a utility comes to the rescue lsusb, which scans the Universal Serial Bus. It is the second most important tool in the Linux system administration arsenal.

Run the command lsusb in the terminal, and you'll get a list of all connected USB devices. Look for lines containing the words "Wireless," "WiFi," "802.11," or the names of well-known network card manufacturers, such as Realtek, Ralink, MediaTek or AtherosOften, a device may be identified simply as "802.11n WLAN Adapter" without specifying a brand, which requires additional ID analysis.

As with PCI, use a key -v for detailed information, but be careful: the output can be huge. It's best to filter it: lsusb -v | grep -A 7 "Wireless"This will show configuration details, including maximum speed and device class.

Integrated into the motherboard (Mini PCIe/M.2)

External USB "whistle"

I don't know / I need to check

I use an Ethernet cable-->

Sometimes the adapter may not be detected correctly if the microcode for it is not installed. In this case, the output lsusb The chipset name may appear instead of the product's commercial name. For example, instead of "TP-Link Archer T4U," you'll see "Realtek Semiconductor Corp. 8812AU."

Obtaining information through the iw and iwconfig utility

There is a special set of utilities for working with wireless networks in Linux. iw, which replaced the outdated one wireless-tools (including iwconfig). Although iwconfig still found in many distributions, usage iw is considered a modern standard for interaction with drivers cfg80211.

Team iw dev Displays a list of all wireless interfaces available on the system. The output will show the interface name (e.g. wlan0 or wlp2s0), its index, and type. This confirms that the system sees the device as wireless, even if the driver isn't working correctly.

To get more detailed information about a specific interface, use the command iw listIt provides an exhaustive list of adapter capabilities, supported frequencies, channel widths, and operating modes. This is a great way to confirm that your adapter supports 5 GHz or monitor mode.

iw dev wlan0 link

If the adapter is connected to the network, this command will show the connection status, including the SSID, frequency, and signal strength. However, if the driver is not loaded, iw may not see the device at all, unlike lspci, which sees the physical presence of the card.

It's important to distinguish between interface states. An adapter can be physically present but logically disabled (RF-kill). This can be verified with the command rfkill list, which will show whether WiFi is blocked by software or hardware.

Detailed diagnostics using lshw

Utility lshw (List Hardware) provides comprehensive hardware configuration information in a readable format. It collects data from various sources, including /proc, /sys and PCI/USB calls, generating a single report. This is perhaps the most convenient way for beginners to obtain structured data.

Because lshw requires access to low-level information and must be run with superuser rights. The command sudo lshw -class network will filter the output and show only network devices. Unlike dry lists lspci, here you will see the fields "description", "product", "vendor" and "configuration".

Pay attention to the "driver" field. If it contains a value, a kernel module for the device is loaded. If the field is empty or contains "UNCLAIMED," the operating system sees the device but doesn't know how to use it, indicating a missing driver.

Parameter Description Example of meaning
class Device class network
product Product name Wi-Fi 6 AX200
vendor Manufacturer Intel Corporation
driver Driver used iwlwifi
capabilities Supported technologies pm msi bus_master cap_list

Usage lshw This is especially useful when writing reports or contacting technical support, as the command output contains all the necessary technical details in one place. You can also save the report to an HTML file using the key -html, for convenient viewing in the browser.

Analysis of system logs and dmesg

When standard utilities are silent or provide conflicting information, system logs come to the rescue. The Linux kernel polls all connected hardware at boot and writes the results to a ring buffer, which is accessed via the command dmesgThis is the "ultimate truth" for diagnosing hardware problems.

Run the command dmesg | grep -i wifi or dmesg | grep -i firmwareto see messages related to the initialization of wireless cards. Here you can see whether the kernel attempted to load the firmware and whether any errors occurred. This is often where messages about the device Realtek Firmware file not found.

If you just connected a USB adapter, use the command dmesg | tail Immediately after connecting. This will display the latest log entries, which will detail the process of detecting the new USB device, its vendor ID, and the driver binding attempt.

⚠️ Warning: Logs can be very large. Use scrolling (PageUp/PageDown) or redirecting the output to a file (dmesg > log.txt) to avoid missing important messages in the data stream.

Log analysis can also help identify IRQ conflicts or USB port power issues, which can cause unstable WiFi performance. If you see recurring error messages, this is a sure sign of a hardware or driver issue.

Check the physical connection of the antennas

Make sure the adapter is visible in lspci/lsusb

Check for driver availability in lshw

View boot errors in dmesg

Check blocking via rfkill-->

Search for drivers by ID

Once you have found out the model or at least received the device ID (for example, 10ec:8822), the driver search begins. In the Linux world, drivers are often referred to as "kernel modules." Knowing the exact chipset name, you can find the corresponding package in your distribution's repositories.

There are specialized databases such as Linux Wireless or PCI ID Repository, where the exact chip name can be determined by the numerical code. For example, knowing that your adapter is based on the chip MT7921, you will be looking for a package named mt7921u-firmware or similar.

Often for popular adapters Realtek Drivers are not part of the main kernel branch and require manual compilation from sources on GitHub. In this case, precise knowledge of the model is critical, as installing the wrong driver can cause the system to crash when loading the module.

Please note that for some proprietary drivers (eg. Broadcom or old ones NVIDIA) You may need an internet connection via Ethernet or USB modem for automatic installation via the driver manager.

Frequently Asked Questions (FAQ)

Why doesn't the lspci command show my WiFi adapter?

This could be due to several reasons: the adapter is disabled in the BIOS/UEFI, a hardware lock (a switch on the laptop case) has been triggered, or the device is faulty. Also check the output lsusb, your module may be detected as a USB device.

How do I know if my adapter supports 5GHz?

Use the command iw listIn the "Frequencies" section, look for 5 GHz bands (usually from 5180 MHz to 5800 MHz). If only 2.4 GHz frequencies (2412-2472 MHz) are listed, then the adapter is single-band.

What should I do if the driver is present, but WiFi won't turn on?

Check the lock status with the command rfkill listIf the status is "blocked: yes", use the command sudo rfkill unblock wifiAlso make sure that the wireless module is not disabled in the BIOS.

Where can I find a driver if it's not in the repository?

Search for the driver source code on GitHub by chipset name (e.g., "rtl8812au linux driver"). Installation usually requires a compiler. build-essential and kernel header files (linux-headers).

Can Windows drivers be used on Linux?

Directly, no. However, there is a project ndiswrapper, which allows some Windows drivers (.sys files) to run on Linux. This is considered a temporary solution and is unstable for modern WiFi 6 standards.