← Downloads

ethtool 6.11

Package v6.11 x86_64 TAR.XZ October 5, 2025

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

Mirror Region Download
kernel.org Releases Primary Global Download
ethtool Git Global Download

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.