What To Do When A Fault Code Is Not Found

What To Do When A Fault Code Is Not Found matters because not every display uses the same format, and some codes require OEM-specific lookup tools. This guide is educational and does not replace OEM diagnostic procedures.

Review status: source-backed medium Last reviewed: 2026-04-03

Why a Fault Code May Not Be Found in a Generic Lookup

Heavy-duty truck fault codes are displayed in several formats depending on the OEM, model year, and instrument cluster software. A code displayed as 'SPN 3364 FMI 1' maps directly to a J1939 standard parameter. A code displayed as 'SAE 523' or 'FMI 523' may be using an older formatting convention. A code displayed as a four- or five-digit proprietary number (like Cummins' ISX-era fault code numbers) requires OEM-specific lookup tables rather than a generic J1939 reference.

Additionally, the same fault may be described in multiple ways — 'AMBER 1569' on a Kenworth display, 'DEF INDUCEMENT SPN 5246 FMI 31' in DiagnosticLink, and 'Aftertreatment System Fault — Service Required' on a Freightliner dash may all describe the same or similar conditions. Generic J1939 lookups work best when the code is presented in SPN/FMI format; OEM-specific lookup tools are needed for proprietary codes.

Proprietary OEM Codes vs. J1939 Standard Codes

Cummins, Detroit, International, Volvo, and PACCAR each have proprietary fault code numbering systems that they use in some display formats and service documentation. Cummins ISX15 and X15 engines may display active fault codes as four-digit Cummins Fault Codes (like 'SFC 1234') in some instrument clusters, while displaying the same fault as 'SPN 3364 FMI 1' in others. Detroit DiagnosticLink may use proprietary code names alongside J1939 SPNs.

When a displayed code cannot be found in a standard J1939 SPN reference, the best approach is to note the exact format displayed (especially the word structure and the numbers) and consult the OEM's documentation for that specific display format. Alternatively, connecting a diagnostic tool to the 9-pin port will typically show the underlying J1939 SPN/FMI code even if the instrument cluster shows a proprietary format.

J1708/J1587 vs. J1939 Format Differences

Trucks manufactured before approximately 2010 may still be in service using the older J1708/J1587 communication standard. These systems use MID (Message Identifier — identifies the reporting module), PID (Parameter Identifier — identifies the monitored parameter), and SID (Subsystem Identifier — identifies a component or subsystem) rather than SPN/FMI. A fault displayed as 'MID 128 PID 100 FMI 1' is an older J1587 code that requires a J1587 reference rather than a J1939 SPN lookup.

On transitional-era trucks (approximately 2005–2012), both J1939 and J1708 networks may be active, and faults can appear in either format depending on which module generated them. An older ABS controller using J1708 and a newer engine ECM using J1939 may both report faults through the same instrument cluster in their respective formats. A scan tool that supports both protocols can read both code sets.

Next Steps When a Code Cannot Be Located

When a code cannot be found in any generic reference, the best next steps are: (1) photograph the exact display to capture the code format, (2) connect a J1939-compatible scan tool to read the underlying code in SPN/FMI format if it is not already in that format, (3) look up the code in the OEM's published fault code reference for the specific engine family if a generic reference does not return results, and (4) contact a dealer or certified technician who has access to OEM diagnostic software.

This site covers J1939 SPN/FMI codes using registered sources. If a code does not appear in search results here, it may be a manufacturer-specific SPN (above 520,191 in J1939), an OEM proprietary code with a non-standard numbering scheme, or a J1587/J1708 code. Pages that exist for covered SPNs and FMIs are source-backed; codes outside our coverage are better addressed through the OEM's own documentation.

Related Pages

Sources

  • SAE J1939 Standards Collection SAE International · official · accessed 2026-05-05 · confidence medium

    Source: SAE International, SAE J1939 Standards Collection. This page paraphrases factual fields only and is not a substitute for the original document.

    Open source
  • 49 CFR Part 393 - Parts and Accessories Necessary for Safe Operation Electronic Code of Federal Regulations · government · accessed 2026-05-05 · confidence high

    Source: Electronic Code of Federal Regulations, 49 CFR Part 393 - Parts and Accessories Necessary for Safe Operation. This page paraphrases factual fields only and is not a substitute for the original document.

    Open source

FAQ

The display shows a code like 'C3 – 14.' Is that an SPN/FMI format?

That format is not standard J1939 SPN/FMI notation. It could be an OEM-specific code (common on older Mack, International MaxxForce, or some Freightliner body controllers), a J1708/J1587 MID/PID or MID/SID code, or a display-specific shorthand from the instrument cluster software. The OEM's fault code table for that specific vehicle and module is needed to decode it. Bringing the exact display text to the shop or manufacturer's documentation is the right approach.

A code shows in telematics but doesn't appear in any public lookup. Why?

Several reasons: the SPN may be a manufacturer-specific value (numbers above 520,191 are manufacturer-assigned), the FMI may be a proprietary value, or the code may require OEM documentation to cross-reference to a display message. Not all fault codes have public documentation, particularly for chassis-level and body controller functions that manufacturers keep within their own service information.

Some manufacturers use flash codes or blink codes. How do I use a blink code for lookup?

Blink codes are OEM-specific display formats — each manufacturer (Cummins, Detroit, Bendix, Freightliner, etc.) has its own blink code table that maps a count sequence to a fault condition. A two-digit blink sequence on a Bendix ABS controller means something completely different from the same sequence on a Cummins engine. You need the specific OEM blink code chart for the system you are reading. Record the exact count sequence (pause between counts, pause between digits) before trying to look it up.