Home / Notes / CRC Error Cross-Testing Method
NOTES · CRC ERROR / PHYSICAL LAYER TROUBLESHOOTING

CRC Errors: The Three-Step Swap Method That Finds the Culprit

A CRC error is a symptom, not a location — it can just as easily be the local port, the cable or optical module, or the far-end device. This is the three-step swap procedure that isolates which one it is by changing exactly one variable at a time, and how to read each outcome without guessing.

By the AtlasCommTech engineering team — 13 years of carrier & enterprise network deployments · Updated July 2026

Why You Swap One Thing at a Time, Not Everything at Once

A CRC error only tells you a frame arrived corrupted — it says nothing about which of the three physical elements between two devices actually corrupted it.

A rising CRC counter on display interface — part of the same discard/error path this note's packet loss diagnosis companion piece covers — means frames are arriving with a checksum that doesn't match their contents. That can happen at exactly three places: the local port's own transceiver and PHY, the cable or optical module in between, or the far-end device's port. The instinct is to change all three at once — swap the cable and the transceiver and move to a different peer port in the same visit — but that only tells you the problem went away, not which change actually fixed it.

The three-step method below changes exactly one variable per step, in a fixed order, and tells you from the counter baseline and each step's outcome exactly where to stop looking.

The Three-Step Swap, and How the Branches Read

Each step holds two of the three elements fixed and swaps only the third — the outcome of that one step tells you whether to escalate or move on.

Laid out as a decision tree, the order matters: local port first, then the physical link, then the far-end device — because each step is faster and cheaper to test than the next, and ruling out the inexpensive possibilities first saves an unnecessary hardware swap or an unnecessary call to the peer's support desk.

CRC Errors Rising Step 1 — Swap the Local Port Error stays on the same port→ local hardware — open a support case Error clears with the port swap→ port is clean — go to Step 2 Step 2 — Swap the Physical Link Error follows cable or module→ link-quality or optics issue Error stays regardless of swap→ link is clean — go to Step 3 Step 3 — Swap the Far-End Port/Device

Diagram labels are kept in English for engineering clarity.

Before running any of the three steps, clear the interface's counters with reset counters interface so that what you read afterward reflects only this test window, not the accumulated history since the device last rebooted.

Running the Three Steps

One swap, one clean read of the counter, one decision — repeated at most three times.

Stage 0 — Baseline the Counter Before You Touch Anything

display interface accumulates from the last reboot or the last reset — reading it without clearing first mixes weeks of old errors into today's test.

  1. Run reset counters interface interface-type interface-number on the suspect interface to zero its Layer 2 counters.
  2. Generate traffic across the interface — a sustained ping is enough — then read display interface again. A nonzero Total Error with CRC incrementing confirms a real, current CRC problem worth running the swap method on, not a stale count from weeks ago.
  3. Note the exact CRC count and the time before moving to Step 1 — every later step gets compared back against this same baseline, not against the device's all-time total.
<HUAWEI> reset counters interface GigabitEthernet 0/0/5

<HUAWEI> display interface GigabitEthernet 0/0/5
GigabitEthernet0/0/5 current state : UP
Line protocol current state : UP
 Total Error:            10
 CRC:                   4, Giants:                   0
 Jabbers:                1, Fragments:                    0
 Runts:                 0, DropEvents:                   0
 Alignments:               0, Symbols:                     5
// CRC incrementing after a clean reset -- a real, current problem, not old history

Step 1 — Swap the Local Port

Keep the cable and the far-end port exactly as they are — only change which local port the link plugs into.

  1. Move the suspect link onto a different, normal, known-good local port on the same device, leaving the cable/fiber and the far-end port untouched.
  2. If CRC errors keep incrementing on the same physical port position regardless of what's now plugged into it, that rules out the link and the peer device — the problem lives in this device's local hardware. Open a case with your support desk for further localization rather than continuing to swap cables.
  3. If moving the link to the other port clears the errors, the local port itself isn't the cause — proceed to Step 2.

Step 2 — Swap the Physical Link

Keep the local port and the far-end port exactly as they are — only change the cable, fiber, or optical module in between.

  1. Substitute a different cable or fiber run between the same two ports, keeping the optical module (if any) unchanged first.
  2. If the errors follow the cable or fiber — a different one clears them — that's a link-quality issue for you to inspect and replace: bend radius, connector cleanliness, and length against the standard's limit are the usual suspects.
  3. If the errors follow the optical module specifically, and it's a certified module, escalate to the vendor's R&D rather than assuming it's automatically a bad unit — a certified module failing this way still needs vendor-side analysis, not just a swap.
  4. If neither the cable nor the module changes anything, the link is cleared — proceed to Step 3.

Step 3 — Swap the Far-End Port or Device

Keep the local port and the link exactly as they are — only change what's on the far end.

  1. If the peer is a multi-port device, keep the same faulty link connected and move it to a different port on that same peer device.
  2. No more errors on the different peer port points to a peer-side port issue — hand it to the peer's own support team. Errors that persist even on a different peer port suggest a compatibility issue between the two devices, which needs both vendors' support engaged together, not just one side.
  3. If the peer is a single-port device, the equivalent test is substituting a same-model unit on the same link. No more errors means the original peer device was the cause; errors that persist again point to compatibility rather than a single bad unit.
StepWhat You SwappedIf the Error Follows the SwapConclusion
1Local portError stays on the original port positionLocal device hardware — open a support case
1Local portError clears when moved to the other portPort is clean — continue to Step 2
2Cable / fiberError follows the cableLink-quality issue — inspect and replace
2Optical moduleError follows the certified moduleEscalate to vendor R&D — not a simple swap
2Cable and moduleError stays regardless of either swapLink is clean — continue to Step 3
3Peer port (multi-port peer)Error clears on a different peer portPeer-side port issue — peer's own support team
3Peer device (single-port peer)Error persists on a different peer port or unitCompatibility issue — both vendors' support together

5 Things That Trip Up the Swap Test

The method is simple; these are the ways people get a false read from it in practice.

1. CRC Climbs While the Link Still Shows Up

SYMPTOMThe interface never goes admin or oper down, so a physical-layer problem gets ruled out early — surely a real fault would take the link down.

CAUSEA degrading connector, a marginal cable, or a borderline optical budget doesn't necessarily take the link down at all — it just corrupts an increasing fraction of frames while the link stays Up the whole time. The CRC counter is often the only symptom you'll ever get before it eventually does fail outright.

FIXNever use "the link is Up" as a reason to skip the swap method — a rising CRC counter on an Up interface is exactly the case this method is for.

2. Auto-Negotiation and Duplex Mismatch Masquerade as a Cable Problem

SYMPTOMA port shows Total Error with CRC, Alignments and Symbol errors climbing, alongside a large output Discard count — and the port cycles Up/Down repeatedly in the log.

CAUSEIn a real case, a switch port auto-negotiated down to 10Mbit/s half-duplex against a peer that expected 1000Mbit/s full-duplex, because the two ends' negotiation modes weren't consistent. The mismatch itself produced the CRC/Alignment/Symbol errors and the massive discard count — no cable or optical fault was involved at all.

FIXBefore running the swap method, check display interface for the Negotiation and Duplex fields on both ends. If they disagree, force both ends to the same non-auto-negotiation speed and duplex rather than swapping any hardware.

<HUAWEI> display interface GigabitEthernet 0/0/5
 Duplex: FULL, Negotiation: ENABLE  // port working in auto-negotiation mode
// diagnostic log showed CurrDuplex=HALF, Speed=10M during the fault window

[HUAWEI] interface GigabitEthernet 0/0/5
[HUAWEI-GigabitEthernet0/0/5] undo negotiation auto
[HUAWEI-GigabitEthernet0/0/5] speed 1000
// confirm the peer is also forced to the same speed/duplex, non-auto-negotiation

3. Forgetting to Reset Counters Makes an Already-Fixed Step Look Broken

SYMPTOMYou swap the cable, wait, and check display interface — the CRC count is still nonzero, so the conclusion is that the cable wasn't the problem after all.

CAUSEdisplay interface accumulates from the last reboot or the last manual reset, not from the moment you made the swap. A nonzero count after the fix can simply be the errors that happened before you changed anything, still sitting in the counter.

FIXRun reset counters interface immediately after every swap, before generating any test traffic — read the counter only after that reset, never before it.

4. Errors That Disappear During a Short Test Window Aren't Necessarily Fixed

SYMPTOMA handful of test pings after a swap show a clean counter, so the step gets marked as resolved — then the CRC count is back a few days later.

CAUSEIntermittent causes — a cable under mechanical stress, an optical budget that's marginal only at certain temperatures, EMI that only appears under real traffic volume — don't necessarily show up in a brief, low-traffic test window right after the swap.

FIXLet each step run under real production traffic for a meaningful window — hours, not a handful of pings — before concluding that step cleared the problem.

5. "Different Peer Port, Same Error" Isn't Automatically a Compatibility Problem

SYMPTOMStep 3 is run, the peer port is swapped, and the same CRC errors persist — the immediate conclusion is a vendor-interoperability issue.

CAUSEPersisting errors after a peer-port swap do point toward compatibility as the leading explanation, but only if Steps 1 and 2 were actually completed cleanly first. If the local port or the link was never properly cleared as a cause, Step 3's result is ambiguous, not conclusive.

FIXOnly read Step 3's outcome as compatibility once Steps 1 and 2 have each independently cleared their element — don't skip ahead to Step 3 to save time.

Related solution designs

Five Questions That Come Up Constantly

Pulled straight from the field — the ones worth having an answer ready for.

Do I have to go through all three steps every time, in order?

Yes, if you don't already have a strong reason to suspect one specific element — the order is cheapest-and-fastest first. But if the same cable or optical module already showed a problem on a different port pair recently, it's reasonable to start at Step 2 instead of repeating Step 1 from scratch.

What if I don't have a spare known-good port to swap into for Step 1?

Any port on the same device that's currently error-free under similar traffic qualifies as the known-good reference — it doesn't need to be an identical port type, only clean after reset counters interface.

The CRC count is climbing slowly, not fast — is this even worth chasing?

Yes. A slow, steady climb is often the early sign of a degrading connector or a cable nearing its bend-radius or length limit — exactly the kind of thing that becomes an outright physical down event later if left alone. Catching it while it's still just CRC creep is cheaper than diagnosing a hard failure after hours.

We swapped the cable and the errors went away — do we still need to check the optical module?

No. If the errors cleared when you changed the cable or fiber alone with the optical module untouched, the link (cable/fiber) is the confirmed cause — the optical module doesn't need to be replaced or escalated separately.

Both ends show CRC increasing at the same time — does the method still work?

Yes — run it independently at both ends, starting with whichever end has the higher CRC count or is easier to access. If both directions clear at the same swap, that step was almost certainly the fix. If they clear at different steps, you may be looking at two separate faults stacked on the same link, not one.

Honest Limits of This Note

Honest Limits of This Note

This note is built around the Huawei S-series switch's CRC/error-counter model and its reset counters interface / display interface workflow, plus the field cases behind it. The underlying method — isolate one variable per swap, in a fixed order of cost — is vendor-agnostic and carries over directly to other platforms, even though the exact commands change. It doesn't cover fiber-optic power-budget or OTDR-level diagnostics in depth, and it assumes you can physically access both ends to swap things — a fully remote far end limits you to Steps 0 and 1 only, with Steps 2 and 3 needing someone on-site at the peer.

Still chasing a CRC counter?

Tell us which step you're on, and what the counter did before and after, and we'll help you read it.

WhatsApp an engineer →

Related Reading