ethtool 6.11
Queries and controls network interface card settings: link speed and duplex, ring buffers, offload features, driver information, and per-interface statistics.
Download TAR.XZ Project website ↗Download Mirrors
ip tells you about addresses and routes. ethtool tells you about the network card itself.
The first thing to check
sudo ethtool eth0
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Link detected: yes
When a gigabit link is running at 100Mb/s, this is where you find out. The usual causes are a bad cable, a bad port, or auto-negotiation failing on one side.
Link detected: no on a cable you believe is connected narrows the problem considerably.
Driver and firmware
sudo ethtool -i eth0
driver: e1000e
version: 6.11.0
firmware-version: 0.2-4
bus-info: 0000:00:1f.6
Useful when searching for a hardware-specific problem, because the driver name is what other people’s reports will mention.
Statistics the kernel does not show elsewhere
sudo ethtool -S eth0
sudo ethtool -S eth0 | grep -iE 'err|drop|discard|fail'
Per-driver counters including CRC errors, receive buffer overruns, and drops. Rising CRC errors mean a physical layer problem: cable, connector, or port.
Ring buffers
sudo ethtool -g eth0 # current and maximum
sudo ethtool -G eth0 rx 4096 tx 4096 # increase
Small ring buffers cause packet drops under bursty load, and the default is often well below the hardware maximum. If ethtool -S shows rising receive drops on an otherwise healthy link, this is the setting.
Offload features
sudo ethtool -k eth0 # what is enabled
sudo ethtool -K eth0 tso off gso off gro off
Offloads move work from CPU to the card and generally help. They are also a common source of strange behaviour when a driver implements one badly, and disabling them is a standard diagnostic step for packet corruption or throughput that makes no sense.
They also interfere with packet capture: tcpdump sees oversized aggregated frames with GRO enabled, which is confusing until you know why.
Finding a port
sudo ethtool -p eth0 10 # blink the port LED for 10 seconds
Genuinely useful in a rack with eight identical cables.
Persisting settings
ethtool changes are lost at reboot. Persist them through a udev rule, a systemd unit, or your distribution’s network configuration.
Verify Your Download
Source releases on kernel.org are published with GPG signatures.