J1939 FMI Codes Explained

The SPN tells you which component or circuit the ECM is complaining about. The FMI tells you how it failed — shorted high, open circuit, stuck mechanically, drifted, or a real reading that is out of range. Get the FMI right and you stop replacing good parts.

All FMI codes

FMI 0 · Data / rationality

Data valid but above normal operating range — most severe level

The sensor is working and the reading is real, but the value is dangerously high. This is the engine telling you it has a mechanical or system problem, not a wiring problem.

FMI 1 · Data / rationality

Data valid but below normal operating range — most severe level

The reading is real and it is dangerously low. Low oil pressure, low coolant level and low rail pressure land here. Treat it as a real condition until proven otherwise.

FMI 2 · Data / rationality

Data erratic, intermittent or incorrect

The ECM is getting a signal but it jumps around or does not make sense. Nine times out of ten this is a connection, not a part.

FMI 3 · Electrical

Voltage above normal or shorted to high source

The signal wire is seeing more voltage than the circuit should ever produce — usually the signal wire touching battery power or the 5 V reference.

FMI 4 · Electrical

Voltage below normal or shorted to low source

The signal is pinned low — usually the signal wire touching ground, or the 5 V reference lost.

FMI 5 · Electrical

Current below normal or open circuit

The ECM is commanding a device on but almost no current flows. The circuit is open somewhere: connector, wire or the coil in the device.

FMI 6 · Electrical

Current above normal or grounded circuit

Too much current on the output circuit — usually a shorted coil or a control wire touching ground.

FMI 7 · Mechanical

Mechanical system not responding or out of adjustment

The ECM commanded a movement, the electrical side checks out, but the hardware did not move. This is a stuck or bound mechanism.

FMI 8 · Signal range

Abnormal frequency, pulse width or period

The signal is there but the timing of it is wrong — wrong pulse rate, wrong duty cycle, wrong spacing.

FMI 9 · Controller / network

Abnormal update rate

A module stopped sending its message often enough. Usually a network or a module-power problem, not the sensor.

FMI 10 · Data / rationality

Abnormal rate of change

The value moved faster than physics allows — a jump the ECM knows cannot be real.

FMI 11 · Controller / network

Root cause not known

The ECM knows the circuit or system is wrong but cannot classify how. Treat it as a general failure of that SPN and diagnose from the component out.

FMI 12 · Controller / network

Bad intelligent device or component

A smart component reported its own internal failure. The device told the ECM it is bad.

FMI 13 · Data / rationality

Out of calibration

The device works but its learned zero or span is off. Very common after a repair when the reset step got skipped.

FMI 14 · Controller / network

Special instructions

The manufacturer defines this one per SPN. You must read the OEM procedure for this exact code — there is no generic meaning.

FMI 15 · Data / rationality

Data valid but above normal operating range — least severe level

The reading is real and slightly high. An early warning, not a shutdown.

FMI 16 · Data / rationality

Data valid but above normal operating range — moderately severe level

Real reading, clearly high. Usually the middle warning stage before a derate.

FMI 17 · Data / rationality

Data valid but below normal operating range — least severe level

Real reading, slightly low. Early warning stage.

FMI 18 · Data / rationality

Data valid but below normal operating range — moderately severe level

Real reading, clearly low. The stage before a derate or shutdown.

FMI 19 · Controller / network

Received network data in error

The message arrived over J1939 but its contents were invalid. This points at the sending module or the bus, not at a sensor.

FMI 20 · Data / rationality

Data drifted high

The value crept upward over time compared with where it should sit. Slow drift, not a sudden fault.

FMI 21 · Data / rationality

Data drifted low

The value crept downward from where it should sit. Slow drift again, most often a tired sensor.

FMI 31 · Controller / network

Condition exists

A general 'this state is true' flag. It is not a circuit failure — the ECM is reporting that a defined condition is active, such as a regen inhibited or a switch in a given position.

Reserved FMIs (22–30)

SAE reserves these for future assignment, so a healthy truck should never report one. If your tool shows one, suspect the reader or the adapter before the engine.

The reference is free. The diagnosis is Pro.

Every SPN and FMI page on this site stays open — no account needed. Pro members can take the code into Blue Collar AI with the VIN, symptoms and photos, keep per-truck history, and print a work order. $14.99 a month or $99.99 a year.

All SPN/FMI fault codesBrowse by SPN