All Brands · J1939 Diagnostic ProtocolMedium

How to Read J1939 Fault Codes on Heavy-Duty Trucks

Guide J1939-Reading (FMI N/A) — How to read and interpret SAE J1939 fault codes on heavy-duty diesel trucks using OEM and aftermarket scan tools

4.8/5· 128 reviews

Quick Answer

J1939 codes pair an SPN (what failed) with an FMI (how it failed). Connect a J1939 scan tool to the 9-pin connector, read active faults with FMI, fix root codes first, and confirm inducement timers reset after repair.

Overview: All Brands Guide J1939-Reading

Heavy-duty diesel trucks communicate faults through SAE J1939 on the CAN bus. Unlike light-duty OBD-II P-codes, J1939 uses SPN and FMI pairs that tell a trained tech exactly which sensor or actuator failed and whether the signal is high, low, erratic, or missing.

Repair Snapshot

Time

30 Minutes - 2 Hours

Difficulty

Beginner

Parts Cost

$0 - $200

Dealer Labor

$150+

Tools Required

  • Noregon JPRO
  • Cummins INSITE
  • Detroit DDDL
  • Multimeter

What Guide J1939-Reading Means

J1939 fault codes on heavy-duty trucks use a Suspect Parameter Number (SPN) plus Failure Mode Identifier (FMI) to describe what failed and how. Connect a J1939-capable scan tool to the 9-pin Deutsch connector, read active and inactive faults, note FMI before clearing anything, and fix root codes before result codes like SPN 5246.

Symptoms Drivers Notice

  • Amber MIL or check engine lamp on dash
  • Active fault count climbing in JPRO or INSITE
  • Derate warning with SCR, DPF, or DEF message
  • Intermittent lamp that clears on key cycle
  • Stacked faults showing same SPN with different FMI values

Most Likely Root Causes

Misreading FMI and replacing the wrong component

Common

FMI 3 (voltage high) and FMI 4 (voltage low) on the same SPN point to different wiring or sensor failures.

Clearing codes without fixing root faults

Common

Result codes like SPN 5246 reappear until the upstream DEF, NOx, or DPF fault is repaired.

Using OBD-II-only tools on J1939 networks

Occasional

Many phone dongles read generic P-codes but miss J1939 SPN/FMI data on Class 8 trucks.

Common Misdiagnoses (Don't Waste Parts)

Replacing a sensor when FMI indicates a wiring fault

Why it happens: The SPN name points at a sensor, so the sensor gets swapped first.

Do this instead: Check FMI first — FMI 5 (current low/open) and FMI 6 (current high/grounded) mean harness problems, not a bad sensor.

Clearing all faults and driving without a saved report

Why it happens: Drivers want the lamp off immediately.

Do this instead: False-trigger trap — save the full fault list and freeze frame before any clear. Intermittent faults disappear without a record.

Master Tech Commentary

Mechanic's Notes

Shop tip: always write down FMI with SPN. SPN 3226 FMI 3 and SPN 3226 FMI 4 are completely different diagnoses. Cheap OBD dongles often hide FMI on J1939 trucks.

Step-by-Step Diagnostic Procedure

  1. Step 1: Locate the 9-pin green Deutsch diagnostic connector — usually under dash or hood on Class 8 trucks.
  2. Step 2: Connect Noregon JPRO or OEM tool (INSITE, DDDL, Davie4) and read active faults before clearing history.
  3. Step 3: Record each SPN, FMI, occurrence count, and freeze-frame data — FMI tells you if the signal is high, low, erratic, or missing.
  4. Step 4: Sort faults by priority: engine protection and fuel codes first, then aftertreatment root codes, then result codes like SPN 5246.
  5. Step 5: After repair, verify the fault transitions to inactive and confirm inducement timers reset in the scan tool.

Live Data & Freeze-Frame Tips

In JPRO, open the fault list view and enable SPN, FMI, active/inactive status, and occurrence count columns. Cross-reference live data for the same SPN while the fault is active — compare reported value against expected range.

Safety Warnings

  • Do not clear engine protection shutdown faults without identifying the root cause.
  • Key-on engine-off testing on the CAN bus requires stable battery voltage above 12.4 V.

When to Limp In vs Tow

Tow if active engine protection shutdown (SPN 1569) or severe SCR inducement limits speed below safe highway travel.

Prevention Tips for Fleets & Owner-Operators

  • Save fault reports before every clear for fleet history tracking.
  • Train drivers to note lamp color — amber vs red — before cycling the key.
  • Use J1939-capable tools, not generic OBD dongles, on Class 8 trucks.

Related Fault Codes

SPN 5246 FMI 0 — SCR Operator Inducement

Common result code — fix upstream SCR/DPF faults first.

SPN 1569 FMI 31 — Engine Protection Torque Derate

Engine protection shutdown — always read stacked root faults.

Frequently Asked Questions

Where is the J1939 diagnostic connector on a truck?

Most Class 8 trucks use a green 9-pin Deutsch connector under the dash or in the engine bay.

What is the difference between SPN and FMI?

SPN identifies the component or parameter; FMI describes the type of failure such as high, low, erratic, or not available.

Can I use a cheap OBD scanner on a semi truck?

Light-duty OBD-II scanners often miss J1939 SPN/FMI data. Use JPRO, INSITE, DDDL, or Davie4 for full coverage.

Should I clear J1939 codes before diagnosing?

No — read and save active faults, freeze frame, and occurrence counts first. Clear only after the root repair is complete.

What does inactive vs active mean on J1939 faults?

Active means the condition is present now. Inactive means it occurred before but is not currently detected.

Why do I see multiple FMIs on the same SPN?

Different failure modes on the same component set at different times. Each FMI requires a separate diagnosis path.

More All Brands codes on this system

All All Brands fault codes

Guides that go deeper