CodingBox Documentation

FEC, auto-negotiation & link training

From 25G upward, an Ethernet link is not just "light in, light out": both ends must agree on forward error correction, and on some media on auto-negotiation and link training. A mismatch produces the most common modern fault — a link with good optical levels that never comes up.

Forward error correction

FEC adds redundancy so the receiver can correct bit errors. Higher lane rates rely on it because the raw bit-error rate of the optics is no longer good enough on its own.

FECNameUsed atNotes
none1G, 10G opticsraw BER must meet 10⁻¹²
BASE-R / FC-FECFire-code, Clause 7410G KR, some 25G short linkslow latency, weak correction
RS-FEC (528,514)Reed-Solomon, Clause 91/10825G SR/LR, 100G SR4/CWDM4/PSM4the 100G "KR4/KP4" family
RS-FEC (544,514)Reed-Solomon, Clause 134all 50G-per-lane and 100G-per-lane PAM4mandatory; stronger, more latency

Rules of thumb:

  • PAM4 = FEC always. 50G/100G lanes (SFP56, QSFP56, QSFP-DD, OSFP) cannot run

without RS(544,514).

  • 25G/100G NRZ = FEC usually. SR and most SMF PMDs require RS-FEC; a few short

reaches allow "no FEC" or BASE-R by agreement.

  • 10G and below = no FEC on optics.

The host must be configured for the FEC the PMD requires; the module advertises its capabilities in memory, but it is the switch configuration that applies them.

Auto-negotiation

IEEE Clause 73 auto-negotiation exchanges speed, FEC and pause capabilities on copper backplanes and direct-attach cables (e.g. 25GBASE-CR). On optical links there is generally no auto-negotiation — both ends are configured statically, which is exactly why FEC mismatches happen so often on optics.

On copper DAC and backplane links, link training (Clause 72/93/136) lets each receiver tune the far transmitter's equalisation before data flows. Optical links skip it; PAM4 optics instead rely on the module's own DSP and on host-side equalisation selected via the module's advertised application (CMIS).

Symptoms and fixes

SymptomLikely causeFix
Optical levels fine, link downFEC mismatch between endsset both ports to the FEC the PMD requires
Link up but high FEC corrected-block countmarginal optics or dirty connectorlevels → clean → swap (link flapping)
Link up, uncorrectable errors, resetsFEC at the limit — Rx power or dispersioncheck reach budget; wrong PMD for the distance
DAC never links, optic on same port doesAN/training disabled or unsupported cableenable Clause 73 AN or use a qualified cable

In CodingBox

The identity block CodingBox shows on the Check transceiver screen includes the PMD/compliance codes from which the required FEC follows; on CMIS modules the advertised applications list the host interface (and thus FEC) each mode expects. When recoding a module, keep these codes consistent with the real PMD so the host applies the right FEC.