Skip to main content

Command Palette

Search for a command to run...

How to See Network Card in Linux

Updated
8 min read

When you’re working with Linux, knowing how to see your network card details is essential. Whether you’re troubleshooting connectivity issues or setting up a new network, understanding your network hardware helps you manage your system better. In this article, I’ll guide you through easy methods to find your network card information on any Linux system.

You don’t need to be a Linux expert to follow along. I’ll explain commands and tools step-by-step, so you can quickly identify your network card’s make, model, and status. Let’s dive into the practical ways you can check your network card in Linux.

Understanding Network Cards in Linux

A network card, also called a network interface card (NIC), connects your computer to a network. In Linux, network cards can be wired (Ethernet) or wireless (Wi-Fi). Each card has a unique identifier and driver that Linux uses to communicate with it.

Linux treats network cards as devices with names like eth0, wlan0, or newer predictable names like enp3s0. Knowing these names helps you manage network settings and troubleshoot problems.

Here’s why you might want to see your network card details:

  • Verify hardware is detected by Linux.
  • Check driver and firmware versions.
  • Identify the card’s manufacturer and model.
  • Troubleshoot connection issues.
  • Configure network settings manually.

With this understanding, let’s explore how to find your network card information using Linux commands.

Using the ip Command to List Network Cards

The ip command is a modern and versatile tool for managing network interfaces in Linux. It replaces older commands like ifconfig and provides detailed information about your network cards.

To see all network interfaces, open a terminal and type:

ip link show

This command lists all network devices with their names and status. For example, you might see:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 11:22:33:44:55:66 brd ff:ff:ff:ff:ff:ff
  • enp3s0 is a wired Ethernet card.
  • wlp2s0 is a wireless card.
  • lo is the loopback interface (not a physical card).

This command shows you the interface names and MAC addresses, which are unique identifiers for each network card.

How to Use ip for More Details

To get IP addresses and more info, use:

ip addr show

This shows IP addresses assigned to each interface, helping you understand which card is active and connected.

Checking Network Cards with lshw

The lshw (list hardware) command provides detailed hardware information, including network cards. It’s especially useful to see the manufacturer, model, and driver details.

Run this command with root privileges:

sudo lshw -class network

You’ll get output like this:

  *-network
       description: Ethernet interface
       product: Ethernet Controller XYZ123
       vendor: Intel Corporation
       physical id: 1
       bus info: pci@0000:03:00.0
       logical name: enp3s0
       version: 01
       serial: 00:1a:2b:3c:4d:5e
       capacity: 1Gbit/s
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list ethernet physical
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=1.1-5 ip=192.168.1.10 latency=0 link=yes multicast=yes port=twisted pair
       resources: irq:16 memory:f7e00000-f7e1ffff memory:f7e3c000-f7e3cfff ioport:f080(size=32)

This output tells you:

  • The card’s product name and vendor.
  • The driver in use.
  • The MAC address (serial).
  • Link speed and status.

If you want to see wireless cards only, you can filter by:

sudo lshw -class network | grep -A 15 wireless

This method is great for deep hardware insights.

Using lspci to Identify Network Cards

Most network cards are PCI devices. The lspci command lists all PCI devices, including network cards.

Run:

lspci | grep -i network

Example output:

03:00.0 Ethernet controller: Intel Corporation Ethernet Controller XYZ123 (rev 01)
04:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)

This shows the PCI slot, device type, and vendor/model names. It’s a quick way to identify network cards without detailed driver info.

For more details, add the -v (verbose) flag:

lspci -v | grep -A 10 -i network

This shows driver info and resources used by the network card.

Viewing Network Cards with ifconfig

Though somewhat outdated, ifconfig is still available on many Linux systems. It shows network interfaces and their status.

Simply run:

ifconfig -a

This lists all interfaces, including inactive ones, with IP addresses and MAC addresses.

Example:

enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.10  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 00:1a:2b:3c:4d:5e  txqueuelen 1000  (Ethernet)
        RX packets 12345  bytes 1234567 (1.2 MB)
        TX packets 6789  bytes 987654 (987.6 KB)

Use this if you prefer a simpler view or your system lacks ip.

Checking Wireless Network Cards with iwconfig

For wireless network cards, iwconfig shows wireless-specific details like SSID, frequency, and signal strength.

Run:

iwconfig

If you have a wireless card, you’ll see output like:

wlp2s0    IEEE 802.11  ESSID:"MyWiFiNetwork"  
          Mode:Managed  Frequency:2.437 GHz  Access Point: 00:11:22:33:44:55   
          Bit Rate=72.2 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

If no wireless card is present, it will say no wireless extensions.

This command helps you confirm wireless card presence and status.

Using ethtool for Advanced Network Card Info

ethtool is a powerful tool to query and control Ethernet devices. It shows link status, speed, and driver info.

To check a specific interface, run:

sudo ethtool enp3s0

Sample output:

Settings for enp3s0:
    Supported ports: [ TP ]
    Supported link modes: 10baseT/Half 10baseT/Full 
                          100baseT/Half 100baseT/Full 
                          1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Advertised link modes: 1000baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Link partner advertised link modes: 1000baseT/Full 
    Link partner advertised pause frame use: No
    Link partner advertised auto-negotiation: Yes
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000007 (7)
    Link detected: yes

This helps you understand the capabilities and current status of your Ethernet card.

Graphical Tools to See Network Cards

If you prefer a graphical interface, many Linux desktop environments provide network tools:

  • GNOME Network Manager: Shows network devices and status in Settings > Network.
  • KDE Plasma: Network settings panel lists interfaces.
  • hardinfo tool: A system profiler that displays hardware info, including network cards.

To install hardinfo:

sudo apt install hardinfo

Run it with:

hardinfo

Navigate to Devices > Network to see detailed info.

These tools are user-friendly for those less comfortable with the terminal.

Troubleshooting Tips When Network Card Is Not Detected

Sometimes Linux doesn’t detect your network card. Here’s what you can do:

  • Check hardware connection: Ensure the card is properly seated.
  • Verify drivers: Use lspci -k to see if a driver is loaded.
  • Install missing drivers: Search for Linux drivers from the manufacturer.
  • Check kernel modules: Use lsmod to see loaded modules.
  • Update your system: Newer kernels support more hardware.
  • Review system logs: Use dmesg | grep -i network for errors.

These steps help you identify and fix detection issues.

Summary Table of Commands to See Network Cards in Linux

CommandPurposeNotes
ip link showList network interfacesModern replacement for ifconfig
ip addr showShow IP addresses and interface detailsUseful for active interfaces
sudo lshw -class networkDetailed hardware info including driversRequires root privileges
`lspcigrep -i network`List PCI network devicesQuick hardware identification
ifconfig -aShow all network interfacesOlder tool, still widely used
iwconfigWireless card infoWireless-specific details
sudo ethtool <interface>Ethernet card capabilities and statusAdvanced Ethernet info
hardinfoGraphical hardware infoGUI tool for desktop users

Conclusion

Now you know several ways to see your network card in Linux. Whether you prefer simple commands like ip link show or detailed hardware info from lshw, these tools help you identify your network hardware quickly. You can check wired and wireless cards, see driver details, and troubleshoot issues effectively.

Next time you need to verify your network card or fix connectivity problems, try these commands. They’re easy to use and provide valuable insights into your Linux system’s networking setup. With this knowledge, managing your Linux network becomes much simpler.

FAQs

How do I find the name of my network card in Linux?

Use the command ip link show to list all network interfaces and their names like enp3s0 or wlp2s0. These names represent your network cards.

What command shows detailed hardware info about my network card?

Run sudo lshw -class network to get detailed information about your network card’s model, vendor, driver, and status.

How can I check if my wireless card is working?

Use iwconfig to see wireless interfaces and their status. If it shows your wireless card with details like ESSID, it’s working.

ethtool provides detailed Ethernet card info. Run sudo ethtool <interface> to check speed, duplex, and link status.

Why is my network card not detected in Linux?

Common reasons include missing drivers, hardware issues, or kernel incompatibility. Check with lspci -k and update drivers or kernel if needed.

More from this blog

L

LinuxBloke | Linux Tips, Tricks & Troubleshooting

672 posts