The network interface controller (NIC) driver failed to bring the physical network link up, preventing the host from communicating on the network.

Cause 1: Bad Cable or Transceiver

  • Diagnosis: Visually inspect the Ethernet cable and the transceiver (SFP, QSFP, etc.) on both ends. Look for bent pins, damaged connectors, or signs of physical stress. If possible, swap with a known good cable or transceiver.
  • Fix: Replace the faulty cable or transceiver. For example, if using an SFP, you might replace a Cisco SFP-10G-SR with another Cisco SFP-10G-SR.
  • Why it works: The physical medium for signal transmission is broken, so the NIC cannot detect a link partner.

Cause 2: Interface Speed/Duplex Mismatch

  • Diagnosis: Check the configured speed and duplex settings on both the host interface and the connected switch port. On Linux, use ethtool <interface_name>. On Cisco switches, use show interfaces <interface_name>.
  • Fix: Ensure both sides are set to auto-negotiate or are manually configured to the same speed and duplex. For example, on a Linux host, you might run ethtool -s <interface_name> speed 1000 duplex full autoneg off to force 1000Mbps full duplex, and ensure the switch port is similarly configured. If auto-negotiation is enabled, ensure it’s working correctly and not being overridden by a misconfiguration on either end.
  • Why it works: If one side expects 1Gbps full duplex and the other expects 100Mbps half duplex, they won’t be able to establish a synchronized communication channel.

Cause 3: NIC Driver or Firmware Issues

  • Diagnosis: Check the system logs (dmesg, /var/log/messages, journalctl) for messages related to the network driver loading or failing. Verify the installed driver version against the hardware manufacturer’s recommendations for your kernel version. Check for firmware updates for the NIC.
  • Fix: Update the NIC driver to the latest stable version recommended for your operating system and kernel. This might involve recompiling from source or installing a package. Also, ensure the NIC’s firmware is up-to-date. For example, if using an Intel X710 NIC on Ubuntu 20.04, you might update the ixgbe driver and its associated firmware.
  • Why it works: Outdated or buggy drivers/firmware can lead to improper initialization of the NIC’s hardware, preventing it from detecting or asserting a link.

Cause 4: Power Saving Features

  • Diagnosis: Some NICs have aggressive power-saving features that can disable the link when idle. Check the NIC’s power management settings. On Linux, this can often be controlled via ethtool -s <interface_name> wol g (Wake-on-LAN) or by looking at /sys/class/net/<interface_name>/device/power/control.
  • Fix: Disable aggressive power saving for the NIC. For example, set power/control to on to disable runtime power management: echo "on" | sudo tee /sys/class/net/<interface_name>/device/power/control.
  • Why it works: The NIC might be powering down its link negotiation hardware to save energy, making it appear as if no physical link is present.

Cause 5: Interface Disabled in Software

  • Diagnosis: Verify that the network interface is enabled in the operating system. On Linux, use ip link show <interface_name> and check if the state is UP.
  • Fix: Bring the interface up using ip link set <interface_name> up. If it’s managed by NetworkManager, use nmcli device set <interface_name> managed yes and nmcli connection up <connection_name>.
  • Why it works: The physical hardware might be fine, but the operating system has administratively shut down the logical interface, preventing it from operating.

Cause 6: Hardware Failure of the NIC

  • Diagnosis: If all other checks fail, the NIC itself might be faulty. Try moving the cable to a different port on the switch, and if possible, try the NIC in a different machine.
  • Fix: Replace the network interface card.
  • Why it works: The component responsible for detecting and establishing the physical link has failed.

The next error you’ll likely encounter is a "Network unreachable" or "Destination Host Down" if the link is up but routing or ARP resolution is failing.

Want structured learning?

Take the full Computer Networking course →