Loading...

Lab 59: NIC Information and Diagnostics with ethtool

Collect NIC-level evidence using ethtool to confirm link state, negotiated speed/duplex, supported modes, and driver statistics. Use the output to distinguish cabling/switch issues from host-side configuration or hardware faults.

network troubleshooting core

Scenario

You are performing diagnostics on a suspected faulty NIC. Your task is to collect and review interface hardware settings and statistics using ethtool. You will verify negotiated speed/duplex, confirm whether a link is detected, review supported and advertised link modes, and capture NIC counters that can indicate drops or error patterns.

Operator context

ethtool is where you validate “layer 1/2 reality.” If speed/duplex negotiation is wrong, or the link is flapping, higher-level tools can mislead you. These checks help you decide whether to escalate to cabling/switchport teams or continue host-level debugging.

Objective

  • Display detailed NIC information for enp0s3.
  • Confirm link detection state from the same output.
  • Retrieve supported and advertised link modes for the interface.
  • Collect NIC statistics to identify drops or error patterns.

What You’ll Practice

  • Inspecting negotiated speed and duplex using ethtool <iface>.
  • Filtering link status with grep for quick verification.
  • Capturing supported and advertised link modes for escalation evidence.
  • Reviewing NIC counters with ethtool -S to spot drops and error trends.

Walkthrough

Step 1 : View detailed NIC information for enp0s3.
Command
sudo ethtool enp0s3

This is the primary hardware-facing view for the interface: supported link modes, negotiated speed/duplex, auto-negotiation state, and whether a link is detected.

Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Link detected: yes
Step 2 : Filter the output to confirm link status.
Command
sudo ethtool enp0s3 | grep 'Link detected'

This provides a fast “is there a link” signal. If the link is down (or flapping), you may need to shift focus to cable, transceiver, or switchport investigation.

Link detected: yes
Step 3 : Retrieve supported and advertised link modes.
Command
sudo ethtool enp0s3 | grep -A 10 'Supported link modes'

This section is useful when troubleshooting negotiation mismatches. It documents what the NIC can do and what it is advertising, which helps validate switchport configuration and expected speeds.

Supported link modes:   10baseT/Half 10baseT/Full
                        100baseT/Half 100baseT/Full
                        1000baseT/Full
Advertised link modes:  10baseT/Half 10baseT/Full
                        100baseT/Half 100baseT/Full
                        1000baseT/Full
Step 4 : View NIC statistics for drops and errors.
Command
sudo ethtool -S enp0s3

Counters help validate whether the NIC is dropping packets, seeing CRC errors, or accumulating other low-level faults. Even small non-zero values can matter if they trend upward.

rx_packets: 124839
tx_packets: 118204
rx_errors: 0
tx_errors: 0
rx_dropped: 3
collisions: 0

Reference

  • ethtool <iface> : Displays NIC settings including supported modes, negotiation state, speed/duplex, and link detection.
  • grep 'Link detected' : Filters the NIC output to a single link-state signal line.
  • grep -A <N> 'Supported link modes' : Prints the supported/advertised modes section plus the next N lines of context.
    • -A <N> : “After” context lines to include following output.
  • ethtool -S <iface> : Displays NIC driver statistics counters (drops, errors, bytes/packets, and driver-specific metrics).
    • Use for trend evidence when diagnosing intermittent connectivity.