guidox / PC

Test a Network Cable and Port Before Buying a New One

TL;DR

Read the link speed with **Get-NetAdapter**, the error counters with **Get-NetAdapterStatistics**, and swap one component at a time. A cable that fails at gigabit usually still passes at 100.

Before you start

Requirements

  • A suspect cable and port
  • Two machines or a known-good device
  • 15 minutes
Step by step

Instructions

01

Read the negotiated link

**LinkSpeed** is what the two ends agreed on, not what the adapter supports. A 1 Gbps-capable port at 100 Mbps means at least one pair is faulty.

Get-NetAdapter | Select-Object Name,InterfaceDescription,Status,LinkSpeed,FullDuplex,MediaType
Get-NetAdapterHardwareInfo | Select-Object Name,Slot,PcieLinkSpeed,PcieLinkWidth
Get-NetAdapterAdvancedProperty -Name 'Ethernet' | Where-Object DisplayName -match 'Speed|Duplex' | Select-Object DisplayName,DisplayValue
02

Check the error counters

CRC and alignment errors mean the signal is bad, not the driver. A clean counter after a large transfer is the evidence that a cable is fine.

Get-NetAdapterStatistics -Name 'Ethernet' | Select-Object ReceivedBytes,SentBytes,ReceivedPacketErrors,OutboundPacketErrors,ReceivedDiscardedPackets
Get-NetAdapterStatistics -Name 'Ethernet'
Start-Sleep -Seconds 60
Get-NetAdapterStatistics -Name 'Ethernet'
03

Generate load and watch

Errors often appear only under load. Copy a large file to a second machine while sampling the counters, which turns a suspicion into a measurement.

1..5 | ForEach-Object { Get-NetAdapterStatistics -Name 'Ethernet' | Select-Object @{n='t';e={Get-Date -Format HH:mm:ss}},ReceivedPacketErrors,OutboundPacketErrors; Start-Sleep -Seconds 10 }
# during the loop, copy a multi-GB file to the other machine
04

Swap one component at a time

Cable, port on the PC, port on the switch. Changing two at once hides which one was faulty, which is the whole point of the test.

# step 1: same port, new cable
Get-NetAdapter -Name 'Ethernet' | Select-Object LinkSpeed
# step 2: same cable, other port on the switch
Get-NetAdapter -Name 'Ethernet' | Select-Object LinkSpeed
# step 3: another device on the same cable and port
Get-NetAdapter -Name 'Ethernet' | Select-Object LinkSpeed,Status
05

Check the switch side

The switch reports the same negotiation and its own error counters. A port that flaps between speeds has a physical fault that a driver update will not fix.

# switch web UI or console: port status, speed, duplex, CRC errors
Get-NetAdapterVmq -Name 'Ethernet' -ErrorAction SilentlyContinue | Select-Object Enabled
Get-NetAdapter | Select-Object Name,LinkSpeed,Status,MacAddress
06

Record the working combination

A cable that only works at 100 Mbps is still usable for a printer or a low-traffic port. Label it and keep it out of the gigabit paths.

Get-NetAdapter | Select-Object Name,LinkSpeed,DriverVersion | ConvertTo-Json | Set-Content "$env:USERPROFILE\link.json"
Get-Content "$env:USERPROFILE\link.json"
Get-NetAdapterStatistics | Select-Object Name,ReceivedPacketErrors,OutboundPacketErrors
Troubleshooting

Common issues

The link only reaches 100 Mbps

One or two pairs are broken, or the port is Fast Ethernet. Test the same cable on another port and another cable on the same port.

Errors rise during large copies

The cable is marginal or the connector is loose. Replace the cable before touching the adapter settings.

The link drops completely for a second

Energy-efficient Ethernet or a power saving feature is renegotiating. Disable EEE on the adapter and the switch.

The adapter reports a gigabit link but throughput is low

The bottleneck is elsewhere: disk, CPU or the switch uplink. Test with a direct connection between two machines.

FAQ

Frequently asked

Can software test a cable's length?

Only with a managed switch that supports cable diagnostics. A plain adapter has no time-domain reflectometer.

Is a Cat5e cable enough for gigabit?

Yes, up to 100 metres. Above that, or near power cables, Cat6 is the safer choice.

Do bad cables damage a port?

Rarely, but a shorted pair can. Stop using a cable that produces errors and heat at the connector.

How to undo this

Nothing is changed by testing. Disable any adapter feature you turned off during the test and reconnect the original cable if you swapped it.

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

Free · no account needed · tracks your progress