Have Additional Questions? Contact Us →
A warning lamp and a derated lorry can cost a fleet more than a replacement sensor. Knowing how to read J1939 faults turns the message from a string of numbers into a practical starting point: which control unit reported the problem, what circuit or system is affected, how the failure behaved, and whether it is present now.
J1939 is the CAN-bus communication standard used across heavy-duty vehicles, engines and body systems. It is common on EURO 5 and EURO 6 lorries from DAF, MAN, Iveco, Mercedes-Benz, Scania, Renault and Volvo, although each manufacturer adds its own diagnostic logic and repair procedures. A code reader can display the fault in seconds. Interpreting it accurately is where workshop time is won or lost.
How to read J1939 faults: start with the three code values
Most J1939 diagnostic trouble codes are shown as three figures: SPN, FMI and OC. A scan tool may also show the source address of the ECU, lamp status and whether the code is active or stored. Do not treat the SPN alone as a diagnosis. The complete code and the vehicle conditions matter.
SPN identifies the suspect parameter
SPN means Suspect Parameter Number. It identifies the monitored parameter, component or system that the ECU believes is outside its expected operating range. Depending on the code, this may refer to a pressure sensor, temperature signal, injector circuit, NOx sensor, SCR dosing function, particulate filter value, brake input or another networked system.
Some SPNs are standardised across J1939 applications. Others are manufacturer-specific, particularly on later vehicles with complex engine, aftertreatment and body-control strategies. If a diagnostic tool labels an SPN only as “manufacturer specific”, use the correct OEM information for the vehicle and ECU rather than guessing from a generic online code list.
FMI describes the type of failure
FMI means Failure Mode Identifier. It explains how the reported parameter has failed. This is usually the most useful part of the first diagnosis because it points towards wiring, a sensor, a mechanical condition or an implausible data issue.
For example, an FMI may indicate that a signal is above normal range, below normal range, erratic, outside its normal operating rate, or not received over the data link. An SPN for intake manifold pressure with FMI 3 commonly points to a signal voltage above the expected range. That does not automatically prove the sensor is defective. A short to supply, connector contamination, damaged harness, poor ground or a 5 V reference problem can produce the same result.
Treat the FMI as a test direction, not a parts-ordering instruction. An FMI 2 for an erratic or incorrect signal calls for a different approach from an FMI 5 for current below normal or open circuit, even when both codes use the same SPN.
OC shows how often the fault occurred
OC means Occurrence Count. It records how many times the ECU has recognised that particular fault. A high count can support a recurring issue, but it does not prove that the current failure is permanent. A code with OC 1 may have appeared during the present journey and still be serious. Conversely, a high-count historic code may be unrelated to the complaint in the workshop today.
Use OC alongside freeze-frame data, active status and driver reports. If a lorry only faults after a long pull, in wet weather, during regeneration or after a hot restart, those conditions are often more valuable than the count itself.
Check which ECU sent the J1939 fault
J1939 networks contain multiple electronic control units. Engine ECU, aftertreatment controller, transmission ECU, ABS/EBS module, instrument cluster and body controller can all issue diagnostic messages. The source address tells the scan tool which ECU transmitted the code.
This matters when the same symptom can have several causes. A missing CAN message reported by the engine ECU may be caused by the sending module, its power or earth supply, network resistance, water ingress in a connector, or a wiring fault between ECUs. Replacing an engine sensor will not repair a data-link fault simply because the engine ECU displayed it.
Most professional tools separate faults into active, pending and stored or previously active entries. Focus first on active codes. Then check whether stored codes support the same fault pattern. J1939 DM1 messages normally carry active diagnostic information and warning-lamp status, while DM2 is used for previously active faults. Tool menus vary, but that distinction is useful when deciding whether a fault is current.
Read the fault in the right order
Start with a stable power supply. Low battery voltage creates misleading communication, aftertreatment and sensor-related codes, especially during key-on diagnosis. Connect a compatible heavy-duty diagnostic tool using the correct 6-pin, 9-pin or manufacturer-specific adaptor, identify the vehicle correctly, and perform a complete control-unit scan before opening individual systems.
Record every code before clearing anything. Include SPN, FMI, OC, ECU, active or stored status, mileage, operating hours and lamp condition. For an emissions-related complaint, also record urea tank level and quality readings, exhaust temperatures, differential pressure, NOx values, dosing status and any inducement or torque-limit message. These live values often show whether the code is the cause of the derate or simply a consequence of another failure.
Next, group faults by system and time. A cluster of voltage-low, communication and sensor plausibility codes appearing together often points to supply, earth or harness trouble. A single, repeatable sensor circuit code is more likely to need targeted circuit testing. A NOx or SCR code accompanied by incorrect exhaust-temperature readings may lead back to the temperature circuit rather than the NOx sensor itself.
Only after this review should you consult the manufacturer test procedure. Check connectors for spread pins, corrosion, heat damage and fluid ingress. Load-test power and earth circuits where appropriate. Measure reference voltage, signal voltage and continuity according to the wiring diagram. On CAN faults, inspect termination, network voltage behaviour and module communication before condemning an ECU.
Why code descriptions are not enough
Generic diagnostic software can translate many J1939 codes, but translation quality varies. A label such as “abnormal update rate” or “data erratic” gives a useful direction, not a repair authorisation. Manufacturers may apply different enable conditions, thresholds and substitute values to the same SPN/FMI combination.
This is particularly relevant on SCR and AdBlue systems. An active aftertreatment code may be triggered by poor dosing, a blocked line, incorrect tank quality, crystallisation, a failed heater, pressure loss, a NOx sensor fault, an exhaust temperature issue or a communication problem. Clearing the code may remove the lamp temporarily, but it does not establish that the system can complete its monitor or prevent the fault from returning under load.
The correct repair route depends on the vehicle’s exact engine, emissions generation, software level and code set. Always retain the original emissions-control function and complete the required repair and verification process. This protects the operator, the workshop and the vehicle’s roadworthiness.
Confirm the repair instead of just clearing the code
After a repair, clear faults only when the cause has been addressed. Run the relevant actuator test or guided routine if the OEM procedure requires it, then monitor live data while the system reaches its normal operating conditions. A stationary test may not validate a fault that occurs only at road speed, under boost, during a regeneration event or after an extended warm-up period.
Perform a controlled road test where safe and necessary. Re-scan all ECUs afterwards and confirm that no active code has returned, warning lamps have extinguished correctly and torque limitation has been removed. For fleet work, save the pre-repair and post-repair reports against the job card. It makes repeat visits, warranty discussions and future diagnosis much quicker.
A capable heavy-duty diagnostic tool is valuable because it presents the data clearly, but it cannot replace a structured test process. The fastest repairs come from reading the full J1939 fault, checking the ECU and live data, then proving the circuit or system before fitting parts. That approach keeps the next lorry moving and gives the workshop a repair it can stand behind.

