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.

Concepts

  • Negotiated speed/duplex reflects what the NIC and switchport agreed on at link-up time.
  • Auto-negotiation mismatches often show up as poor throughput, duplex conflicts, and rising error counters.
  • “Supported” vs “advertised” modes can explain why a link comes up at an unexpected speed.
  • Driver statistics help separate “bad wire/switchport” from host-side saturation or misconfiguration.
  • Evidence from ethtool is escalation-ready: it is hardware-facing and portable across distros.

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 : Confirm link detection state quickly.
Command
sudo ethtool enp0s3 | grep 'Link detected'

This gives a fast “is there a link” signal. If this reads no or flips between yes/no, shift attention to cabling, transceivers, and switchport conditions.

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

This section documents what the NIC can do and what it is advertising. It is especially useful when the switchport is hard-set to a speed/duplex that conflicts with the NIC.

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 : Identify the NIC driver and firmware details.
Command
sudo ethtool -i enp0s3

Driver and firmware details matter when diagnosing known NIC issues or aligning host behavior with vendor guidance. This output is also useful for escalation tickets.

driver: e1000
version: 7.3.21-k8-NAPI
firmware-version: N/A
bus-info: 0000:00:03.0
Step 5 : Review 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

Breakpoints

Link detected: no

If Link detected is no, confirm the cable and switchport are connected, enabled, and on the expected VLAN. Collect this output as escalation evidence.

Unexpected speed or duplex

If negotiated speed/duplex is lower than expected, compare supported/advertised modes and confirm switchport config. Mismatches often correlate with rising error counters.

Counters increasing

If drops or errors trend upward during traffic, capture a second snapshot after a short interval and compare. Include both outputs when escalating.

Cleanup checklist

  • No state changes were made in this lab.
  • Save the outputs if you are filing a ticket.

Reference

  • ethtool <iface> : Show speed/duplex, auto-negotiation, link detection, and supported/advertised modes.
  • ethtool -i <iface> : Show driver, version, firmware, and bus info.
    • -i: driver information
  • ethtool -S <iface> : Show NIC driver statistics counters (drops, errors, and vendor metrics).
    • -S: statistics
  • grep -A <N> 'Supported link modes' : Print link modes with context lines.
    • -A: include lines after match
  • grep 'Link detected' : Quick link-state line filter.