Error codes and meanings
This reference describes SFPTotal Wizard messages encountered when working with a coding board and transceiver memory: WRITE FAIL and the codes QERR. A code identifies the stage or condition of a failure, but usually does not establish a single cause. Save the complete device response and record the board model and HW/SW, Wizard version, operation, address and page.
The table covers documented SFPTotal messages. Codes and recovery methods may differ between boards and embedded firmware versions. The error "Could not create SSL/TLS secure channel" when updating Wizard or accessing Labs concerns the application's network connection. Use the Wizard SSL/TLS instructions.
Jump to an error code
WRITE FAIL · QERR:DEMO · QERR:MTDOC · QERR:SFP_EMPTY · QERR:SCL · QERR:SDA · QERR:I2C_BUSY · QERR:R20 · QERR:W20 · QERR:W30 · QERR:W48 · QERR:x00.
Code — meaning — checks — next step
| Code | Meaning | What to check | Next step |
|---|---|---|---|
WRITE FAIL | Writing was not confirmed as successful; data persistence has not been verified. | Read back and compare with the expected data. Check the selected area, write access, power and the specific module's requirements. | Save the original backup. Distinguish a communication problem from write protection; use the write protection guide. Do not repeatedly write the entire dump before identifying the cause. |
QERR:DEMO | The board is operating with limited functionality and requires activation. | Device status, model and serial number, and whether a key is available for this board. | Perform normal activation and check for ACTIVE status. Board activation is different from entering a transceiver password or configuring Labs access. |
QERR:MTDOC | Connection detection found more than one transceiver. | Check all ports and connected cable ends; leave only one module connected for diagnosis. Check the presence detection contacts. | After operations finish, remove the extra connection and repeat the read. If the code persists with one module, send the configuration to Support rather than disabling detection to bypass the cause. |
QERR:SFP_EMPTY | The board does not detect a connection to the corresponding port. | Check the correct port, full insertion, module compatibility, power and detection contacts. The code name does not replace checking the specific board and port. | Reconnect a compatible module according to its instructions and repeat the read. If a known-good module is also not detected, contact Support to check the board. |
QERR:SCL | The SCL clock line is held low, blocking communication. | Power, contacts, a single connected module, and completion of the current transaction. The code alone does not identify the faulty component. | Follow the bus recovery procedure. Software generated clock pulses may be insufficient for SCL; follow the board guide's full power cycle procedure where applicable. |
QERR:SDA | The SDA data line is held low, blocking communication. | The same connection and power conditions; whether the problem recurs after a particular module is connected. | On a supported board, use I2CRESET according to the bus reset instructions then test reading. This command does not remove write protection. |
QERR:I2C_BUSY | A bus busy message described in the communication recovery instructions. | Check whether an operation, script or automatic start is still running, and check connections and power. | Wait for the current operation to finish and stop subsequent automatic starts. If the error persists, use the recovery instructions taking the board's command support into account. |
QERR:R20 | The device did not acknowledge the address request in a read command. | Module presence and power, address/page availability, the selected memory map and device readiness. | Start with an accessible identification area, then check the module's advertised capabilities. An error at A2h alone does not prove that DDM is absent. |
QERR:W20 | The corresponding lack of address request acknowledgment for a write command. | First check that the module can be read, then check the address, area, power and write readiness. | Restore confirmed reading. After checking the documentation and backup, make only the necessary permitted changes. This code does not prove that a particular password is required. |
QERR:W30 | After the address with the write bit was acknowledged, transmission of a data byte was not acknowledged. | The previous block's save time, sequential write size, delay between operations and protection of the selected area. | Save the current settings. If they do not match the module's requirements, adjust them through Tools → General settings according to the documentation. If the error persists, investigate write protection; do not apply the same delay to every module. |
QERR:W48 | No acknowledgment was received for the address with the read bit. | The complete operation sequence, device readiness and power, address, and availability of the area being read. | Test reading an accessible area separately. If the error recurs, send the complete response and operation parameters to Support. Do not select a write protection removal method based only on this code. |
QERR:x00 | This reference uses the code for an unknown bus error. | The complete actual response, including all characters and numbers, the board model and software version. | Save the response without replacing it with the placeholder x00 and send it to Support with the steps to reproduce the problem. This entry does not decode an arbitrary unknown error code. |
Why QERR:R20 when reading A2h does not determine whether DDM is present
An address may not be acknowledged because the address space is not implemented, but also because of poor contact, missing power, device readiness or an incorrectly selected area. First check stable identification reads, the diagnostic information in the specific SFP memory map and the module documentation. Interpret A0h/A2h according to the tool's addressing convention; use the appropriate memory map for other form factors.
Only after these checks can diagnostic availability be determined. R20 alone establishes neither the absence of DDM nor the hardware write protection scheme. See transceiver memory structure and reading DDM diagnostics.
Where to start when diagnosing writing
- Record the exact operation, address/page and complete response. Back up the accessible original memory.
- Check communication with the board, a single compatible transceiver, the correct port and power. First establish repeatable reading.
- If acknowledgment is lost during writing, check area availability, block size requirements and save time. Change one parameter at a time and record its original value.
- Consider a password, WP or a special save command only when that mechanism is confirmed for the specific product. After an authorized write, read the data again and compare the result.
For SFPTOTAL commands and their applicability, use the protocol guide. Having Wizard does not automatically imply command support; for example, the common SFPTOTAL protocol does not apply to Whistle. Bus connection errors are covered in the QERR:SCL/SDA article.
What to send to Support about an unknown code
Through the official contact channels send the board model, HW/SW from Help → Get device version, Wizard version, module manufacturer/Part Number and revision, complete error string, address and page, write parameters, power connection and operation sequence. Include the result of testing with a known-good compatible module. Remove passwords, activation keys and sign-in details from the log; do not include complete production dumps in a public message.
The value "error -1" without the application, operation and full message is not a separately documented QERR. First establish the context and send it to Support.