You just installed a fresh optical transceiver into a switch port. The fiber is connected, the LED is glowing green, and everything looks perfect. But does it actually work? The only way to know for sure is to run a power-on self-test. A green LED tells you the link is negotiating. It does not tell you whether the optical power levels are within spec, whether the laser is stable, or whether the receiver sensitivity is healthy. Skip the self-test and you are flying blind — and one bad module can take down an entire uplink.
The self-test process takes five minutes. It catches problems that a visual inspection never will. Here is how to do it right.
When a transceiver powers up, it does not just sit there waiting for traffic. It runs a series of internal diagnostics automatically. Your job is to read those diagnostics and verify they fall within the expected range.
The first thing the module does when it receives power is check the laser bias current. The laser diode needs a precise current to operate at the correct wavelength and output power. If the bias current is too low, the laser will not fire. If it is too high, the laser degrades faster than normal and may fail within weeks.
The self-test compares the measured bias current against a factory-calibrated threshold stored in the module's internal memory. If the current is out of range, the module flags a fault and either refuses to come up or reports a warning through the digital diagnostic monitoring interface. You will see this as an alarm on the switch console or in your network management system.
After the laser check, the module verifies that the receiver photodiode is functioning. It does this by measuring the dark current — the tiny amount of current the photodiode generates when no light is hitting it. A high dark current means the photodiode is damaged or contaminated. A normal dark current means the receiver is healthy and ready to detect incoming optical signals.
This check happens in milliseconds, but it is critical. A transceiver with a dead receiver will show a green link LED if the remote end is transmitting, but it will not pass any data. The self-test catches this before you start pushing traffic.
Every optical transceiver has an internal thermistor that monitors the module temperature in real time. During power-on self-test, the module reads this sensor and compares it against the ambient temperature reported by the host board. If the two values differ by more than a few degrees, it means the thermal path between the module and the chassis is compromised — maybe the module is not making full contact with the cage, or maybe the heatsink is missing.
A temperature mismatch does not always cause immediate failure, but it is a warning sign. The module will run hotter than expected, which shortens its lifespan and degrades output power over time.
The self-test results are not visible on the front panel LED. You need to access them through the switch's management interface or the digital diagnostic monitoring protocol.
Most managed switches expose transceiver diagnostic data through a command-line interface. The exact command varies by platform, but it is usually something like "show transceiver detail" or "show interface diagnostic." Run this command on the port where you just installed the module.
The output will show you the TX power, RX power, module temperature, supply voltage, laser bias current, and receiver sensitivity. Each of these values has a high alarm threshold and a low alarm threshold defined by the transceiver specification. If any value is outside that range, the module has failed the self-test.
Do not just look at the numbers and guess whether they are good. Pull up the transceiver specification sheet and compare each value against the nominal range.
TX power should typically sit between negative three and positive one dBm for most short-reach modules. Long-reach modules will have lower TX power, sometimes as low as negative five dBm. RX power should be between negative eight and negative twenty-five dBm depending on the fiber length and the module type. If your RX power is above negative three dBm, the signal is too strong and you risk saturating the receiver. If it is below negative twenty-five dBm, the signal is too weak and the link will drop under load.
Module temperature should be within ten degrees of the ambient room temperature. If the module is running twenty degrees hotter than the room, something is wrong with the thermal interface.
Follow these steps every time you install a new transceiver or swap an existing one.
Insert the transceiver into the cage. Connect the fiber patch cable. Power on the switch port if it was administratively down. Then wait thirty seconds. The module needs time to complete its internal self-test and stabilize the laser output. Do not check the diagnostics immediately — the values will still be settling.
After thirty seconds, run the diagnostic command. Record the TX power, RX power, temperature, voltage, and bias current. Write these values down or screenshot them. This becomes your baseline. If the link fails later, you compare the current values against this baseline to see what changed.
Look at the port status LED. A steady green means the link is stable. A blinking green means the module is still negotiating or the signal is marginal. An amber or off LED means the self-test failed or the link did not come up. Do not ignore an amber LED — it means the module detected a fault during power-on and refused to transmit.
Plug a loopback fiber patch cable into the transceiver's own TX and RX bores. This forces the module to receive its own transmitted signal. If the loopback succeeds, the transceiver is working end to end. If it fails, the module itself is defective even though the link LED is green.
A loopback test catches problems that DDMI cannot. DDMI tells you the laser is on and the receiver is alive. A loopback test confirms that the actual optical path through the module is functional. Always run this test after a module swap.
When the self-test flags a problem, you need to know what it means and what to do about it.
If the bias current is above the high threshold, the laser is drawing too much power. This usually means the laser diode is aging or was damaged during installation. The module may still work for a while, but the output power will degrade faster than normal. Replace the module now rather than waiting for it to fail in production.
If the RX power is below the low threshold, the receiver is not detecting enough light. This could be a fiber problem — the patch cable might be too long, a connector might be dirty, or the fiber type might be wrong. Check the fiber first before you blame the module.
Clean both connectors, verify the fiber type matches the transceiver, and measure the optical power with a power meter. If the RX power is still low after cleaning, the receiver in the module is weak and the module needs to be replaced.
If the module temperature is significantly higher than ambient, check the cage contact. A module that is not fully seated will not transfer heat to the chassis properly. Pull it out, clean the contacts, reseat it until you hear the click, and recheck the temperature. If it is still high, the module's internal thermistor may be faulty — replace the module.
If you are managing dozens or hundreds of transceivers, manually checking each one is not practical. Automate it.
Most network management systems can poll DDMI data at regular intervals and generate alerts when any value crosses a threshold. Configure high and low alarms for TX power, RX power, temperature, and bias current. Set the alarm severity to warning for values near the threshold and critical for values outside the operating range.
This way you do not have to remember to check the diagnostics. The system checks for you and pages you when something drifts out of spec.
Configure your NMS to run a full DDMI poll on all transceiver ports at least once per day. A daily poll catches slow degradation — a laser that is losing output power over weeks, a receiver that is becoming less sensitive, a temperature that is creeping upward. These slow failures are invisible on the LED but they will eventually take down your link.
Weekly is the minimum. Daily is better. Monthly is too late.
The self-test needs time to complete. If you read the DDMI values immediately after inserting the module, the numbers will be garbage — still initializing, still stabilizing. Wait the full thirty seconds. It is not optional.
A green LED means the link is up. It does not mean the link is healthy. You have seen modules with green LEDs that are barely passing any data because the RX power is sitting right at the edge of the sensitivity threshold. The DDMI readout tells the real story. The LED is just a rough indicator.
If you do not record the initial DDMI values when the module is fresh, you have nothing to compare against when problems appear later. A baseline takes thirty seconds to capture and it saves you hours of troubleshooting down the road. Write it down. Store it in your change management system. Future you will thank present you.
If the self-test flags a fault, do not try to work around it. Do not ignore the warning and hope for the best. A module that fails self-test is telling you something is wrong internally. It might work for a day or a week, but it will fail when you least expect it. Pull it out, label it as failed, and replace it with a known-good module.