Using ethtool to troubleshoot your physical NIC/network connectivity issues
- Last Updated: 08/10/2018
Use the ethtool command to check your physical connections. You may have plugged a cable into eth1 when intended to be in eth0 and vice versa.
ethtool eth0 ethtool eth1
If you are connected to a gigabit network you will see these relevant settings:
Speed: 1000Mb/s Duplex: Full Link detected: yes
NOTE: Some 100M network connections will display no for Link Detected even though the connection is up and working. The PHY adapater sense settings for 100M are older and non-standard versus 1G so this problem may happen.
You can also use the ip link command to see if your link status is healthy - check the state for UP:
ip link | grep eth0
Sample ip link output:
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP mode DEFAULT group default qlen 4096
Sample ethtool output for a 1G network connection:
Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Link partner advertised pause frame use: Symmetric Receive-only Link partner advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: off Supports Wake-on: g Wake-on: d Current message level: 0x000000ff (255) drv probe link timer ifdown ifup rx_err tx_err Link detected: yes