CodingBox Documentation

CMIS modules: QSFP-DD 400G/800G issues

With QSFP-DD, OSFP and other CMIS modules, the nature of failures shifts. Fewer problems are about "the optics"; more are about the module's state machine, its firmware and the host–module handshake. A growing share of troubleshooting threads is about exactly this.

Failures that are not optical

SymptomWhat is going on
Module stuck in state 0x02 (ModuleLowPwr)The power-up handshake did not complete; the host never moved the module to high power
"Recognised, but not ready"Data-path initialisation failed — typically a mismatch between the module firmware and the CMIS version the host expects
Link never comes up though identity reads fineThe module is waiting for a host action (application selection, data-path activation) that the platform did not perform

These are resolved on the host side — a switch firmware update that speaks the module's CMIS version, or a module firmware update — not by swapping fibre.

Despite the extra logic, the most common causes of 400G link flapping are still physical:

  • Contamination on MPO-16 connectors — 16 fibres, 16 chances for a dust particle.
  • FEC mismatch between the two ends.
  • Polarity errors in the MPO cabling.
  • Thermal throttling — high-power modules in dense faceplates run hot and back off.

The order still holds

The diagnostic ladder does not change for CMIS:

  1. Cleanliness and inspection of the MPO end-faces.
  2. Seating of the module and the cable.
  3. The cable itself — polarity and type.
  4. Only then the EEPROM, the CMIS state machine, FEC settings and BER.

Reading a CMIS module

CMIS memory is paged and banked (see CMIS), and identity codes come from the SFF-8024 tables. The module state byte is the first thing to read when a 400G port will not come up. Open-source network operating systems publish their CMIS initialisation logic — a good reference for the expected sequence of states.

In CodingBox

For a CMIS module, CodingBox applies the CMIS layout and shows the lower memory and the upper pages in the EEPROM editor, so you can read the module state and identity directly. Per-lane diagnostics appear on the DDM screen, which is what reveals a single bad lane on an 8-lane 400G module.

Sources

  • SONiC — CMIS initialisation (reference logic)
  • AscentOptics — QSFP-DD troubleshooting
  • FiberMall — QSFP CMIS DDM/EEPROM guide