How to Find Your WiFi Module Model in Linux: A Comprehensive Guide

Linux operating systems are renowned for their flexibility and transparency when working with hardware, but for beginners, the process of hardware identification can seem like a confusing maze of command-line interfaces. Unlike Windows, where the Device Manager provides a visual interface, Linux often requires accessing the terminal to obtain precise information about network adapterThis is especially true when you install the system on a laptop or PC and encounter a lack of internet connection due to inappropriate drivers.

Understanding the exact chipset installed in your device is a critical step before installing drivers. Users often confuse the USB dongle manufacturer (e.g., TP-Link or D-Link) with the actual chip manufacturer (e.g., Realtek or MediaTek), which leads to downloading the wrong software. In this article, we'll cover all the reliable methods to ensure this is the case. identify the network interface and understand which module is responsible for the wireless connection.

Whether you're using a modern distribution like Ubuntu or Fedora, or a minimalist build like Arch Linux, diagnostic methods remain universal. We'll cover both standard utilities and more specialized tools that will help you get comprehensive information about PCI And USB devices. This knowledge will allow you to avoid hours of useless searching and immediately begin resolving your connection issue.

Diagnostics using the lspci utility for internal cards

If your computer or laptop has a WiFi module connected via a PCI or PCI Express bus (which is the standard for most internal cards and M.2 adapters), then the utility lspci will become your first and foremost tool. This command reads data directly from the PCI configuration space and lists all connected devices. To obtain detailed information about network controllers, you need to use filter keys to filter out unnecessary data about video and sound cards.

Run the command in the terminal lspci | grep -i network or more specific lspci | grep -i wifiHowever, the most accurate result will be obtained by searching for the word "wireless" or simply browsing all network devices. In the output, you will see a line containing the vendor and device IDs, as well as the model name. For example, the line might contain a mention of Intel Corporation Wireless 8265 or Qualcomm AtherosThis is the data you need to search for drivers.

It's important to pay attention to the device revision, which is often listed at the end of the output line. Different revisions of the same module may require different microcode or driver versions. If the standard output seems too brief, add a flag. -v (verbose) to get a detailed report, including IRQs and memory areas used, although for simple model identification this is usually overkill.

⚠️ Attention: If the team lspci If your WiFi adapter isn't showing up, this could mean the device is physically disabled in the BIOS/UEFI, is in power-saving mode with the power completely turned off, or the card is faulty. Check your BIOS settings before continuing with diagnostics.

Decoding vendor codes

Hexadecimal codes, such as [8086:24fd], are common in lspci output. The first four digits (8086) are the vendor ID (in this case, Intel), and the second four (24fd) are the device ID. These codes can be entered into the PCI ID database to obtain the exact name if a text description is unavailable.

Analyzing USB WiFi Adapters with lsusb

External wireless adapters connected via a USB port do not appear in the PCI device list. A utility is available for diagnosing them. lsusb, which polls the Universal Serial Bus. Run the command lsusb in the terminal, and you'll get a list of all connected USB devices. Look for lines in the list containing the words "Wireless," "WiFi," "802.11," or the names of well-known chip manufacturers such as Ralink, Mediatek, or Realtek.

It often happens that the manufacturer of the whistle itself (for example, some NoName brand) has nothing to do with the contents. Utility lsusb will show the actual chipset manufacturer. This is critically important, since the driver is written specifically for the chip, not the plastic case. For example, you can see the device Bus 001 Device 004: ID 0bda:b711 Realtek Semiconductor Corp., which immediately indicates the need for drivers for Realtek b711 series chips.

For a more in-depth analysis, you can use the command lsusb -v, which will provide a detailed description of each device, including USB versions, maximum speed, and device class. However, the output will be very voluminous, so it's best to use pipelining with grep: lsusb -v | grep -A 10 -i wifiThis will help filter out noise and focus on the desired adapter.

  • 🔍 ID 0bda: Indicates products from Realtek, one of the most common in the budget segment.
  • 📡 ID 8087: Often found in Intel modules integrated into laptops.
  • 💻 ID 04ca: A common identifier for Lite-On devices, which are often OEMs for Dell and HP.
  • 🔧 ID 0cf3: Owned by Qualcomm Atheros, known for its good Linux compatibility.

Using the lshw utility for detailed information

Utility lshw (list hardware) provides a more structured and readable report of hardware configuration compared to the dry lists of lspci and lsusb. It collects information from various sources in the system and presents it in a convenient format. To obtain information specifically about network interfaces, use the command sudo lshw -class networkPlease note that getting full data often requires superuser (sudo) privileges.

In the output, you will see sections for each network interface. Look for the line description: Wireless interfaceThe fields below will be indicated. product (model), vendor (manufacturer) and, very importantly, configuration. The configuration often specifies which driver (driver) is currently in use and is it loaded (link). If the driver field is empty or specified unclaimed, then the driver is not installed.

This utility also allows you to view the physical address (MAC address) and interface enable status. If the interface is software-disabled (rfkill), lshw may show this as a disabled status. This is a powerful tool for comprehensive testing, combining hardware and software status data in a single report.

Team Description Requires sudo
lspci List of PCI devices (internal cards) No
lsusb List of USB devices (external adapters) No
lshw -class network Detailed information about the network Yes (preferred)
nmcli dev Device status via NetworkManager No

Checking drivers and kernel using dmesg and modinfo

When you know the device model but are unsure whether it is working correctly, the kernel log comes to the rescue. The command dmesg | grep -i firmware or dmesg | grep -i wifi will show messages generated by the Linux kernel when loading the driver. This can show firmware loading errors, which are a common issue with proprietary Broadcom or Realtek drivers.

If the driver is loaded, you can find out more about it using the utility modinfoEnter . modinfo module_name (For example, modinfo iwlwifi (for Intel). This command will show the module version, license, parameters that can be passed to the module when loading, and dependencies. This is useful for fine-tuning: sometimes, for stable operation of a specific chipset, you need to add a parameter. options into the modprobe configuration.

It's also worth checking whether the adapter is blocked by software or hardware. The command rfkill list will show the status of all wireless devices. If you see Soft blocked: yes, this means that WiFi is disabled in the system and needs to be enabled using the command rfkill unblock wifi. If Hard blocked: yes, then the switch is located on the laptop case or in the BIOS.

📊 What type of WiFi adapter is causing you problems?
Built-in PCIe (laptop/PC)
External USB whistle
Integrated into the motherboard (Mini-PCIe)
I don't know / Other

Chipset specifics: Intel, Realtek and Broadcom

In the Linux world, WiFi hardware support is divided into three categories: excellent, challenging, and non-functional. Modules are traditionally considered the most compatible. Intel. Drivers for them (for example, iwlwifi) are built right into the Linux kernel, and they generally work right out of the box without any additional steps. If you have an Intel laptop, you're in luck.

Chipsets Realtek (especially new models with WiFi 6 support) often require manual driver compilation from source code, as the main kernel may contain older versions. This can be challenging for beginners, but can be resolved by searching GitHub repositories. Broadcom similar: often requires package installation broadcom-sta-dkms or a similar proprietary driver via the distribution's package manager.

When choosing an external adapter for Linux, always check forums for support for a specific chip model. Buying a device with a MediaTek or Atheros chip is often a safer choice than the latest models with chips whose support hasn't yet been included in stable kernel branches. Older, proven chips (such as the RTL8812AU) have excellent community support.

⚠️ Warning: WiFi drivers downloaded from manufacturer websites are often designed for specific kernel versions and may break after a system update. Always choose drivers from your distribution's official repositories or DKMS versions, which are automatically rebuilt.

☑️ Check before installing the driver

Completed: 0 / 5

Alternative methods and graphical interfaces

Not all users prefer the command line, and fortunately, modern distributions offer graphical ways to obtain information. In GNOME or KDE desktop environments, you can open "Settings" -> "About" -> "Details," which often displays the network card model. However, this information may be less accurate than the terminal output.

Utility inxi is a powerful tool for generating system reports. The command inxi -N will display a brief summary of network devices, and inxi -Nz Hides MAC addresses, which is convenient for posting screenshots on forums when asking for help. This utility aggregates data from lspci, lsusb, and other sources, presenting it in a convenient format.

You can also use the utility hwinfo, which is even more verbose than lshw. The command sudo hwinfo --netcard Provides comprehensive information about network cards, including connection status, link speed, and the driver used. This is the "heavy artillery" of diagnostics, rarely leaving questions unanswered.

What to do if nothing helps?

If no utility detects the adapter, try booting from a Live USB of a different distribution (for example, Fedora or Mint). If the adapter is detected, there's a problem with your main system configuration. If not, there's likely a hardware failure or complete incompatibility.

Frequently Asked Questions (FAQ)

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

This could be due to several reasons: the adapter is physically disconnected (removed from the slot or the contact has come loose), disabled in the BIOS/UEFI, or a deep power saving mode is enabled, which completely cuts off power to the card. It's also possible that the USB/PCI controller to which the module is connected has burned out.

How do I know which driver is currently being used?

Use the command lspci -k (for PCI) or lsusb -v (for USB, look for the Driver field). Also, the command lshw -class network in the configuration line, the parameter is explicitly specified driver=driver_name.

Can Windows drivers be used on Linux?

Directly, no. However, there is a project ndiswrapper, which allows you to run Windows drivers (.inf files) on Linux. This is considered a temporary and unstable solution, and should only be used as a last resort when a native driver is unavailable.

Where can I find firmware for my adapter?

Most distributions include all the necessary firmware in a package. linux-firmware. Make sure it's installed and up to date. Separate firmware for Broadcom or Realtek may come in packages with names like firmware-brcm80211 or firmware-realtek.

Does the Linux kernel version affect WiFi support?

Yes, directly. New chipsets are only supported in new kernel versions. If you have a modern WiFi 6 card and are using an older LTS kernel (e.g., 4.15), the driver may simply not exist. A kernel update often resolves issues with newer hardware.