How to See Network Card in Linux
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
enp3s0is a wired Ethernet card.wlp2s0is a wireless card.lois 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.
hardinfotool: 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 -kto see if a driver is loaded. - Install missing drivers: Search for Linux drivers from the manufacturer.
- Check kernel modules: Use
lsmodto see loaded modules. - Update your system: Newer kernels support more hardware.
- Review system logs: Use
dmesg | grep -i networkfor errors.
These steps help you identify and fix detection issues.
Summary Table of Commands to See Network Cards in Linux
| Command | Purpose | Notes | |
ip link show | List network interfaces | Modern replacement for ifconfig | |
ip addr show | Show IP addresses and interface details | Useful for active interfaces | |
sudo lshw -class network | Detailed hardware info including drivers | Requires root privileges | |
| `lspci | grep -i network` | List PCI network devices | Quick hardware identification |
ifconfig -a | Show all network interfaces | Older tool, still widely used | |
iwconfig | Wireless card info | Wireless-specific details | |
sudo ethtool <interface> | Ethernet card capabilities and status | Advanced Ethernet info | |
hardinfo | Graphical hardware info | GUI 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.
What tool can I use to see Ethernet card speed and link status?
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.
