ethtool
Overview
ethtool queries and controls Ethernet NIC settings: link speed/duplex, offloads, ring parameters, and driver info. Use it when ip link shows a device but performance or link negotiation looks wrong. Requires root for most changes.
sudo apt install ethtoolSyntax
ethtool [options] devname
ethtool -s devname … # change settingsCommon Options
| Option | Description |
|---|---|
| (dev) | Show basic link settings |
-i |
Driver and firmware info |
-k |
Offload features |
-K |
Change offloads |
-S |
NIC/driver statistics |
-g / -G |
Ring buffer get/set |
-s |
Change speed/duplex/autoneg/wol |
-p |
Identify port (blink LED) |
Safety
- Forcing speed/duplex incorrectly causes silent poor performance or link down. Prefer autoneg when the peer supports it.
- Offload changes can fix or break checksum issues — test with care on production.
Examples with Explanations
Link status
ethtool eth0
# Speed, Duplex, Auto-negotiation, Link detectedDriver info
ethtool -i eth0Statistics
ethtool -S eth0 | egrep -i 'err|drop|crc|miss'Identify physical port
sudo ethtool -p eth0 5 # blink ~5 secondsOffloads
ethtool -k eth0 | head
sudo ethtool -K eth0 gro off # example; know why you togglePersist settings
Use distro network config (netplan, NetworkManager, systemd-networkd) or ethtool udev/systemd oneshot units — bare ethtool -s does not survive reboot alone.
Additional Resources
man ethtool