CodingBox Documentation

No link: the checklist

A port that will not come up is the most common optical ticket and the one most often solved by trial and error. This checklist orders the checks by how cheap they are and how often they find the fault. Do them in sequence; each step either fixes the link or rules out a whole class of causes.

1. Is the module seen at all?

  • Host: show interfaces <if> transceiver (or the NOS equivalent). Nothing listed → the module is not seated, the cage is disabled, or the host cannot read its EEPROM.
  • Reseat firmly; try another port; try the module on the bench in CodingBox (Check transceiver) — if the bench reads it and the switch does not, suspect the port.

2. Is it accepted?

  • Status unsupported / invalid / Mod_Inv / errdisable → identity the host does not recognise. The laser is often disabled by the host in this state, so Rx at the far end will read −40 dBm even though nothing is broken.
  • Fix: allow third-party optics on the host or code the identity → Vendor lock.

3. Is the transmitter on?

  • Port administratively up? Laser shutdown features (e.g. UDLD, loop protection, "laser off until link") disabled for the test?
  • SFP-class: TX_DISABLE pin/bit clear (A2h byte 110), no TX_FAULT. QSFP: byte 86 Tx disable clear. CMIS: module state Ready, data-path Activated (CMIS issues).
  • Bench check: CodingBox DDM shows Tx power — if it is −40 dBm with Tx enabled, the module is dead.

4. Is there light at the far end?

Read Rx power on both ends (DDM levels):

Rx readingMeaningNext
−40 dBm (floor) on both endsno light arrives either wayfibre cut, patch unplugged, Tx/Rx crossed, wrong BiDi pair
−40 dBm on one end onlyone direction darkTx dead or disabled on the other side; one fibre of the pair broken
Below sensitivity (e.g. −25 dBm on a PIN receiver)light, but too weakdirty connectors, wrong band, budget exceeded → step 6
Above overload (> −3…0 dBm)too much lightlong-reach optic on a short span → attenuator
In window on both endslight is finethe problem is not optical → step 7

5. Do the ends match physically?

  • Same fibre type (single-mode vs multi-mode), same wavelength / BiDi pair, CWDM module on the right mux port, APC vs UPC not mixed, MPO polarity and pinning right, Tx→Rx not crossed → Physical mismatches.

6. Is the budget closed?

7. Do speed, FEC and mode match?

  • Both ends on the same speed and FEC (RS-FEC mandatory for 25G+/PAM4); AN and link training enabled on DAC; breakout configured on both host ports; copper SFP SGMII vs 1000BASE-X → Speed & rate, FEC & link training.
  • Module's own rate codes consistent with the intended rate (byte 12 / compliance codes).

8. Is the module allowed to run?

  • Power class vs port capability; module held in LowPwr; over-temperature → Power & thermal.

9. Isolate by substitution

  • Swap in a known-good module at each end in turn.
  • Loopback: connect the module's own Tx to its Rx with a short patch (attenuate a long-reach module first) — link up in loopback proves module and port; the fault is in the plant or the far end.
  • Swap the patch cord, then the port.

10. Read the logs

Interface counters and syslog on both ends usually name the layer: LOS, unsupported, FEC uncorrectable, speed mismatch, power exceeds. Match the message to the symptom index.

In CodingBox

Two bench reads settle most of the above in a minute: Check transceiver for identity, wavelength, fibre/reach and rate codes (steps 2, 5, 7), and DDM for Tx/Rx power and flags (steps 3–4). If the module is healthy on the bench, stop blaming it and go back to the plant.

The steps above mirror what the host itself does on insertion; the host-side sequence with pins, bytes and timings is in What the host does.