CodingBox Documentation

Symptom index: where to start

You have a symptom, not a diagnosis. Find the row that matches what you see, run the first checks, and follow the link to the detailed material. Every row assumes the diagnostic ladder as the baseline: levels → clean → swap → OTDR.

SymptomFirst checksLikely causesRead
Port down, module shows unsupported / invalid / Mod_Invhost log, identity on the benchvendor lock; identity or compliance codes the host rejectsVendor lock, No link checklist
Port down, Rx −40 dBm / LOS on both endsis Tx enabled? fibre continuity?fibre cut, Tx disabled by host, Tx/Rx crossed, wrong BiDi pair, wrong wavelength for the muxNo link checklist, Physical mismatches
Port down, Rx and Tx levels fineFEC and speed on both ends; AN on DACFEC mismatch, rate/breakout config, SGMII vs 1000BASE-X, CDR at wrong rateSpeed & rate, FEC & link training
Port down, Rx very high (> −3 dBm) on a short linklong-reach optic on a short span?receiver overloadPhysical mismatches
Works in one direction / LOS on one end onlycompare Rx on both endsdirty connector or weak laser on the failing side; polarityDDM levels, Physical mismatches
Link flaps up/downlevels, CRC counters, connectorscontamination, marginal budget, thermal throttlingLink flapping
400G/800G module recognised but never ready, stuck LowPwrCMIS module state, power class vs porthandshake / firmware / power classCMIS issues, Power & thermal
DAC does not link, optic in the same port doesAN/link training, cable length, identityAN disabled, unsupported cable, too long for the hostCopper & DAC, Speed & rate
SymptomFirst checksLikely causesRead
CRC / input errors climbingRx level vs baseline; FEC corrected counters; cleandirt, marginal budget, dispersion at 10G+ on long CWDMLink flapping, DDM levels
Slow throughput on a multi-lane link, no alarmsper-lane Rx/biasone degraded lane hidden by LACPFailures, Per-lane diagnostics
Works at 25G, dead at 10G (or 100G ok, 4×25G breakout not)rate codes, CDR bypass, host breakout configCDR range, module not breakout-capable, missing extended compliance codeSpeed & rate, CDR
Absurd DDM values (0 °C, +10 dBm, 0.00 V)byte 92 calibration bitsexternal calibration not applied, zeroed constantsCalibration
Tx power identical across a batchcompare modulesconstant Tx written to memoryDDM levels
Module hot, port disables it, "power exceeds" logpower class byte vs port rating; airflowclass mismatch, thermal shutdownPower & thermal
Everything fine for a year, then sudden failuresTx bias trend, batchlaser ageing, bad batch, heatFailures
Modules died after a switch firmware upgradehost release notes; identitystricter identity checks; clones failing authenticationVendor lock, Failures

On the bench (programmer / CodingBox)

SymptomFirst checksLikely causesRead
Module not detected on the programmerseating, form-factor adapter, power-up timenot seated, wrong cradle, module in LowPwrEEPROM read/write errors
Reads return FFh / 00h or garbageaddress (A0h/A2h/page), bus speedI²C NACK, wrong page, bus too fastEEPROM read/write errors
WRITE FAILpassword, WP type, clock speedprotected module, hardware WP, timingWrite-protection types, EEPROM recoding
Write "succeeds" but reverts after power cyclemodule typetemporary storage needs a save commandWrite-protection types
Host rejects module after editchecksumsstale CC_BASE / CC_EXT / CC_DMIMemory map

Access networks

SymptomFirst checksLikely causesRead
ONU does not register on the OLTserial / LOID, PON standard, ONU Rxwhitelist, wrong wavelength plan (GPON vs XGS-PON), Rx out of classPON problems
ONU shows LOSSC/APC cleanliness, splitter, polishdirt, UPC in an APC plant, fibrePON problems

If nothing matches

Work the no-link checklist top to bottom, then read the module on the bench with CodingBox: the Check transceiver screen tells you what the module claims to be, and DDM what it is actually doing.