guide · static export
Hardware · network

Fix a Gigabit Connection That Runs at 100 Mbps

The link says connected, the speed says 100 Mbps. One bad pair in the cable, a forced duplex setting or green Ethernet is behind nearly every case.

by@guidox updated:10/31/26 time:25 min level:Intermediate tested on:Windows 11 24H2 works on:Windows 10, Windows 11, Windows Server 2019 tools:PowerShell as administrator, A spare network cable
TL;DR

Read **LinkSpeed** in **Get-NetAdapter**, then check the cable and the **Speed & Duplex** advanced property. Gigabit needs all four pairs, so one damaged wire drops the link to 100 Mbps.

Before you start

Requirements

  • Admin rights for adapter settings
  • A known good Cat5e or better cable
  • 25 minutes
Step by step

Instructions

01

Read what the link actually negotiated

**LinkSpeed** is the result of autonegotiation between the adapter and the switch, not a setting. 100 Mbps on a gigabit port means one side refused the faster mode.

Get-NetAdapter | Select-Object Name,Status,LinkSpeed,MediaType,FullDuplex
Get-NetAdapterAdvancedProperty -Name 'Ethernet' | Where-Object DisplayName -match 'Speed|Duplex|Green|Energy' | Select-Object DisplayName,DisplayValue
02

Check for errors, not just speed

A cable with a damaged pair produces errors even when the link reports 1 Gbps. Rising CRC or packet errors point at the physical layer, not at Windows.

Get-NetAdapterStatistics -Name 'Ethernet' | Select-Object ReceivedPacketErrors,OutboundPacketErrors,ReceivedDiscardedPackets
Get-NetAdapter -Name 'Ethernet' | Select-Object DriverVersion,DriverDate,InterfaceDescription
03

Swap the cable and the port

Gigabit needs all four pairs; 100BASE-TX needs two. A cable that works but only at 100 Mbps almost always has a broken pair or is Cat5 with damaged shielding.

:: swap in a Cat5e or Cat6 cable, then read the speed again
Get-NetAdapter -Name 'Ethernet' | Select-Object LinkSpeed
:: try another switch port as well, and a different switch if you have one
04

Reset a forced duplex setting

A manually forced 100 Mbps entry survives driver updates and is the classic cause of a link that never reaches gigabit. Set it back to autonegotiation and let both ends agree.

Get-NetAdapterAdvancedProperty -Name 'Ethernet' -DisplayName 'Speed & Duplex' | Select-Object DisplayValue,ValidDisplayValues
Set-NetAdapterAdvancedProperty -Name 'Ethernet' -DisplayName 'Speed & Duplex' -DisplayValue 'Auto Negotiation'
Restart-NetAdapter -Name 'Ethernet'
⚠ warningForcing gigabit full duplex on both ends disables autonegotiation and usually breaks the link. Fix duplex problems with a cable, not with a manual setting.
05

Turn off the power saving that caps the link

Green Ethernet and energy-efficient Ethernet negotiate lower power by lowering the link rate on some adapters. Disabling them is the test, and leaving them off is the fix when they misbehave.

Set-NetAdapterAdvancedProperty -Name 'Ethernet' -DisplayName 'Energy Efficient Ethernet' -DisplayValue 'Disabled' -ErrorAction SilentlyContinue
Set-NetAdapterAdvancedProperty -Name 'Ethernet' -DisplayName 'Green Ethernet' -DisplayValue 'Disabled' -ErrorAction SilentlyContinue
Disable-NetAdapterPowerManagement -Name 'Ethernet' -ErrorAction SilentlyContinue
06

Prove the speed instead of trusting the label

The negotiated speed is a claim; throughput is the measurement. Copy a large file from a gigabit peer and watch the counters, or use a throughput tool between two machines.

$a = (Get-NetAdapterStatistics -Name 'Ethernet').ReceivedBytes
Start-Sleep -Seconds 10
$b = (Get-NetAdapterStatistics -Name 'Ethernet').ReceivedBytes
'{0:N1} Mbit/s' -f ((($b - $a) * 8) / 10 / 1MB)
Troubleshooting

Common issues

One PC is fast, another on the same switch is not

Compare the driver version and the advanced properties of both adapters. The slow one usually has a forced duplex or a power-saving option enabled.

Speed drops during large transfers

Thermal throttling in a USB or M.2 Ethernet adapter, or a switch port negotiating down under load. Check the adapter temperature and errors.

LinkSpeed shows 1 Gbps but transfers are 12 MB/s

The bottleneck is elsewhere: the disk, the SMB share or the CPU. Measure the adapter counters during the copy before blaming the network.

The adapter has no Speed & Duplex property

USB and some virtualised adapters do not expose it. Those negotiate in the driver and cannot be forced from Windows.

FAQ

Frequently asked

Does a Cat5 cable do gigabit?

Sometimes, on short runs and with all pairs intact. It is not rated for it — replace it rather than diagnose it.

Does jumbo frames help?

Only when the whole path supports the same size. A mismatch produces stalls that look like a broken connection.

How to undo this

Set the advanced properties back with Set-NetAdapterAdvancedProperty using the previous DisplayValue, re-enable power management with Enable-NetAdapterPowerManagement, and restart the adapter.

Changelog · 1 entry
  1. 2026-10-31
    First version
Interactive version: checklist, feedback, related guides →

Free · no account needed · tracks your progress