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
- Open PowerShell or Command Prompt as administrator (right-click Start, select “Windows PowerShell (Admin)� or “Command Prompt (Admin)�).
- Type
Get-NetAdapter | Format-Table Name, InterfaceDescription, LinkSpeed, Statusand press Enter. Look for your Ethernet adapter (usually named “Ethernet� or “Ethernet 2�). TheLinkSpeedcolumn shows the current speed (e.g., 1 Gbps). - To see duplex mode, run:
Get-NetAdapter -Name "Ethernet" | Select-Object Name, LinkSpeed, Duplex(replace “Ethernet� with your adapter’s name). TheDuplexcolumn showsFullorHalf. - 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
- Open System Settings (or System Preferences on older versions) → Network.
- Select your Ethernet connection (e.g., “Ethernet� or “USB 10/100/1000 LAN�) in the left list.
- Click “Details� (or “Advanced�) next to the connection.
- In the pop-up, look for “Hardware� or “Ethernet� tab. You’ll see “Speed� (e.g., 1000baseT) and “Duplex� (e.g., full-duplex).
- For a command-line check, open Terminal and run:
networksetup -getmedia Ethernet(replace “Ethernet� with your service name, found vianetworksetup -listallnetworkservices). Output shows “Current media: autoselect (1000baseT)�.
Linux
- Open a terminal.
- Identify your Ethernet interface with
ip link showorifconfig -a. Look for a name likeeth0,enp3s0, orens33. - Check link speed and duplex with:
ethtool eth0(replaceeth0with your interface). The output shows “Speed: 1000Mb/s� and “Duplex: Full�. - If
ethtoolis not installed, install it with your package manager (e.g.,sudo apt install ethtoolon Debian/Ubuntu,sudo dnf install ethtoolon Fedora). - 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�). Usecatto 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,
ipconfigdoesn’t show link speed. On Linux,ifconfigmay not show speed without extra flags;ethtoolis the standard tool.
Tips
- Use
ethtool eth0on Linux for the most detailed info, including negotiated speed, duplex, and auto-negotiation status. - On Windows, PowerShell’s
Get-NetAdapteris fast and scriptable. You can also checkGet-NetAdapterStatisticsfor 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 fullon 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.