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.
| FEC | Name | Used at | Notes |
|---|---|---|---|
| none | — | 1G, 10G optics | raw BER must meet 10⁻¹² |
| BASE-R / FC-FEC | Fire-code, Clause 74 | 10G KR, some 25G short links | low latency, weak correction |
| RS-FEC (528,514) | Reed-Solomon, Clause 91/108 | 25G SR/LR, 100G SR4/CWDM4/PSM4 | the 100G "KR4/KP4" family |
| RS-FEC (544,514) | Reed-Solomon, Clause 134 | all 50G-per-lane and 100G-per-lane PAM4 | mandatory; 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.
Link training
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
| Symptom | Likely cause | Fix |
|---|---|---|
| Optical levels fine, link down | FEC mismatch between ends | set both ports to the FEC the PMD requires |
| Link up but high FEC corrected-block count | marginal optics or dirty connector | levels → clean → swap (link flapping) |
| Link up, uncorrectable errors, resets | FEC at the limit — Rx power or dispersion | check reach budget; wrong PMD for the distance |
| DAC never links, optic on same port does | AN/training disabled or unsupported cable | enable 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.