Skip to content
DiscountTruck Repair

J1939 SPN and FMI reference

A J1939 fault is two numbers. The SPN says which parameter went wrong. The FMI says how. You need both, and the FMI is the half most people skip.

What an SPN is

The Suspect Parameter Number identifies a specific measured or commanded value on the vehicle network — DPF differential pressure, DEF concentration, engine coolant temperature, and several thousand others. The numbers are assigned by SAE, so SPN 3251 means the same thing on a Detroit as it does on a Cummins.

What differs between manufacturers is the diagnostic procedure, the part numbers, and the proprietary fault number the dash chooses to display alongside it. That is why an SPN lookup is a starting point and not an answer.

Every FMI, in plain language

Defined by SAE J1939-73. FMIs 22 through 30 are reserved for future SAE assignment and should not appear on a healthy network.

SAE J1939-73 Failure Mode Identifier definitions
FMIStandard definitionWhat it means for you
0Data valid but above normal operational range — most severe levelThe reading is far too high and the ECM considers it critical.
1Data valid but below normal operational range — most severe levelThe reading is far too low and the ECM considers it critical.
2Data erratic, intermittent, or incorrectThe signal is jumping around or disagrees with what other sensors say.
3Voltage above normal or shorted to high sourceElectrical fault — the circuit is seeing more voltage than it should.
4Voltage below normal or shorted to low sourceElectrical fault — the circuit is grounded or seeing too little voltage.
5Current below normal or open circuitThe circuit is broken, unplugged, or the component is open.
6Current above normal or grounded circuitThe circuit is drawing too much current, usually a short to ground.
7Mechanical system not responding or out of adjustmentThe ECM commanded something and the hardware did not do it.
8Abnormal frequency, pulse width, or periodA timing-based signal is arriving in the wrong shape.
9Abnormal update rateA module is reporting too often or not often enough.
10Abnormal rate of changeThe value moved faster than physically plausible.
11Root cause not knownThe ECM knows something is wrong but cannot classify it.
12Bad intelligent device or componentA smart module has reported its own internal failure.
13Out of calibrationThe component needs a calibration or learn procedure, not replacement.
14Special instructionsManufacturer-specific — you need the OEM service literature for this one.
15Data valid but above normal operating range — least severe levelSlightly high. Usually a warning before anything derates.
16Data valid but above normal operating range — moderately severe levelHigh enough to act on; often the stage before a derate.
17Data valid but below normal operating range — least severe levelSlightly low. Usually a warning only.
18Data valid but below normal operating range — moderately severe levelLow enough to act on; often the stage before a derate.
19Received network data in errorAnother module sent a message this one could not use — a network problem.
20Data drifted highThe reading has crept upward over time rather than jumped.
21Data drifted lowThe reading has crept downward over time rather than jumped.
31Condition existsA state, not a failure. The named condition is currently true.

SPNs we have full pages for

Each of these carries causes, diagnosis steps, parts, labour hours, and a drive/don't-drive call — not just a definition.

Have a code that is not here?

The lookup tool searches everything we hold. If we do not have your code, tell us which one — we write in request order, and a code somebody is actually stuck on beats one we guessed at.

FMI definitions reproduced from SAE J1939-73, Application Layer — Diagnostics. Plain-language glosses are ours. TODO(verify): confirm wording against the current revision of the standard rather than the 2022-08 revision we worked from.