You can use the following commands to list Ethernet adapters under Ubuntu Linux:
- lspci command – List all PCI device including Ethernet cards (NICs).
- ip command – Display or manipulate routing, devices, policy routing and tunnels on Linux operating systems.
- ifconfig command – Display or configure a network interface on Linux or Unix like operating systems.
Examples
Open a command-line terminal (select Applications > Accessories > Terminal), and then type the following command to list total number of Ethernet devices on Linux:
$ lspci
$ lspci | less
$ lspci | grep -i eth
Sample outputs:
09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5761e Gigabit Ethernet PCIe (rev 10)
Above output indicates that my system has one Gigabit Ethernet controller installed using PCIe interface. It also displayed name of the manufacture. To list actual ip address assigned to the interface, enter:
$ ifconfig
$ ifconfig eth0
OR
$ /sbin/ifconfig
$ /sbin/ifconfig eth0
Sample outputs:
eth0 Link encap:Ethernet HWaddr b8:ac:6f:65:31:e5 inet addr:192.168.2.11 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::baac:6fff:fe65:31e5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1938092 errors:0 dropped:0 overruns:0 frame:0 TX packets:2436052 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:771061372 (771.0 MB) TX bytes:2118333235 (2.1 GB) Interrupt:17
You can use ip command as follows to list all NICs:
$ ip link
OR
$ ip link
Sample outputs:
Alternatively, you can pass the -a (all) and -s (stats) option to the ifconfig command to display Ethernet cards including network alias on Linux operating systems:
$ ifconfig -s -a
Sample outputs:
The last command “ifconfig -s -a” is equivalent to the “netstat -i” command:
$ netstat -i
Sample outputs:
Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 46686747 0 0 0 23678718 0 0 0 BMRU eth1 1500 0 5951068 0 0 0 2412620 0 0 0 BMRU lo 16436 0 1 0 0 0 1 0 0 0 LRU
Display or change Ethernet card settings
You can use the ethtool command for querying settings of an ethernet device and changing them such as speed, duplex settings and much more:
$ ethtool eth0
Sample outputs:
Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Link partner advertised link modes: Not reported Link partner advertised pause frame use: No Link partner advertised auto-negotiation: No Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) Link detected: yes
See how to change duplex settings with the ethtool command under Linux operating systems.
See also
- Man pages: ethtool(8)
ifconfig -a -s
Thank you. It was the exact solution of my problem.
The faq has been updated. I appreciate your feedback.
lshw -c network
All the commands in here are >practically< useless especially if you consider that most of the visitors that will check this would be linux newbies….
the command that does the job (= tells you the chipset,what it does were its connected,what is its logical name etcetc) is:
lshw -c network
everything else in here just is either practically useless or will confuse the newbie…