ThisCalculator

Everyday

Check Ethernet Link Speed & Duplex on Windows, macOS, Linux

Updated · Standard formula, shown below

Check Ethernet Link Speed & Duplex on Windows, macOS, Linux

This guide shows you how to check the negotiated link speed and duplex mode of an Ethernet adapter on Windows, macOS, and Linux. You’ll see the current connection speed (e.g., 1000 Mbps) and whether it’s half or full duplex, which helps diagnose slow transfers or connection issues. No extra tools are needed – each OS has built-in commands and menus.

What You’ll Need

  • An Ethernet cable connected to your computer and a switch/router.
  • Administrator or sudo access (for some Linux commands and Windows details).
  • Basic familiarity with your OS’s terminal or settings app.

Step-by-Step

Windows

  1. Open PowerShell or Command Prompt as administrator (right-click Start, select “Windows PowerShell (Admin)� or “Command Prompt (Admin)�).
  2. Type Get-NetAdapter | Format-Table Name, InterfaceDescription, LinkSpeed, Status and press Enter. Look for your Ethernet adapter (usually named “Ethernet� or “Ethernet 2�). The LinkSpeed column shows the current speed (e.g., 1 Gbps).
  3. To see duplex mode, run: Get-NetAdapter -Name "Ethernet" | Select-Object Name, LinkSpeed, Duplex (replace “Ethernet� with your adapter’s name). The Duplex column shows Full or Half.
  4. Alternatively, use the GUI: open Control Panel → Network and Sharing Center → Change adapter settings (left sidebar). Right-click your Ethernet adapter, select Status, then click “Details�. Look for “Link Speed� (e.g., 1000/1000 (Mbps)) – duplex is implied (full duplex for modern connections).

macOS

  1. Open System Settings (or System Preferences on older versions) → Network.
  2. Select your Ethernet connection (e.g., “Ethernet� or “USB 10/100/1000 LAN�) in the left list.
  3. Click “Details� (or “Advanced�) next to the connection.
  4. In the pop-up, look for “Hardware� or “Ethernet� tab. You’ll see “Speed� (e.g., 1000baseT) and “Duplex� (e.g., full-duplex).
  5. For a command-line check, open Terminal and run: networksetup -getmedia Ethernet (replace “Ethernet� with your service name, found via networksetup -listallnetworkservices). Output shows “Current media: autoselect (1000baseT )�.

Linux

  1. Open a terminal.
  2. Identify your Ethernet interface with ip link show or ifconfig -a. Look for a name like eth0, enp3s0, or ens33.
  3. Check link speed and duplex with: ethtool eth0 (replace eth0 with your interface). The output shows “Speed: 1000Mb/s� and “Duplex: Full�.
  4. If ethtool is not installed, install it with your package manager (e.g., sudo apt install ethtool on Debian/Ubuntu, sudo dnf install ethtool on Fedora).
  5. For a quick check without ethtool, read /sys/class/net/eth0/speed (speed in Mbps) and /sys/class/net/eth0/duplex (value “full� or “half�). Use cat to view them.

Common Mistakes

  • Looking at the wrong adapter – Wi-Fi and virtual adapters (e.g., VMware, VPN) can appear in the list. Verify you’re checking the physical Ethernet port.
  • Assuming the displayed speed is the actual negotiated speed – Some tools show the maximum capability of the adapter, not the current link. For example, a 2.5G capable adapter may show 1000 Mbps if connected to a 1G switch. The methods above show the current negotiated speed.
  • Ignoring duplex mismatch – If you see “Half Duplexâ€� on a modern network, it’s usually a sign of a cable fault or a misconfigured switch port. Most modern networks run full duplex.
  • Using outdated commands – On Windows, ipconfig doesn’t show link speed. On Linux, ifconfig may not show speed without extra flags; ethtool is the standard tool.

Tips

  • Use ethtool eth0 on Linux for the most detailed info, including negotiated speed, duplex, and auto-negotiation status.
  • On Windows, PowerShell’s Get-NetAdapter is fast and scriptable. You can also check Get-NetAdapterStatistics for errors.
  • On macOS, the GUI shows the media type (e.g., “1000baseTâ€�) which implies speed and duplex. The Terminal command gives the same info in one line.
  • If you need to force a specific speed/duplex (e.g., for legacy devices), you can set it in the adapter’s advanced settings on Windows, or with ethtool -s eth0 speed 100 duplex full on Linux (requires sudo). On macOS, this is rarely possible via GUI; you may need a third-party tool.

Troubleshooting

  • No link speed shown – Ensure the cable is firmly connected and the other end is plugged into a working switch/router port. Try a different cable.
  • Speed is lower than expected (e.g., 100 Mbps instead of 1000) – Check the cable category (Cat5e or higher for gigabit). Try a known-good cable. Also verify the switch port supports gigabit and is not set to a lower speed.
  • Duplex shows “Halfâ€� – This is rare on modern networks. Check for a duplex mismatch: the switch port may be manually set to half-duplex while your adapter is auto-negotiating. Set both to auto or both to the same forced settings.
  • ethtool not found on Linux – Install it with your package manager. If you can’t install, use the sysfs method (cat /sys/class/net/eth0/speed).
  • macOS shows “Self-assigned IPâ€� but link speed is visible – That’s a separate network configuration issue; the link speed is still valid.

Frequently Asked Questions

What is duplex mode?

Duplex mode defines how data travels on the cable. Half-duplex allows one direction at a time; full-duplex allows simultaneous send and receive. Modern Ethernet is full-duplex.

Why does my adapter show 1000 Mbps but my internet is slow?

Link speed is the local connection to your switch/router, not your internet speed. Slow internet could be due to ISP, Wi-Fi, or other factors.

Can I force a higher speed than my adapter supports?

No. The adapter’s hardware limits the maximum speed. Forcing a higher speed will fail or cause errors.

What does “autoselect� mean on macOS?

It means the adapter is negotiating speed and duplex automatically with the switch. This is the recommended setting.

Does changing duplex mode require a restart?

On Windows, changing the adapter’s advanced settings may take effect immediately or after a few seconds. On Linux, ethtool -s takes effect immediately, but the link may drop and renegotiate.

Is there a way to check link speed without admin rights?

On Windows, the GUI method works without admin. On Linux, reading sysfs files (/sys/class/net/eth0/speed) works as a normal user. On macOS, the GUI works without admin.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.