Common J1939 Data Link Code Patterns

Common J1939 Data Link Code Patterns matters because communication codes often involve missing messages, abnormal update rate, wiring, termination, or module power. This guide is educational and does not replace OEM diagnostic procedures.

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

What J1939 Communication Fault Codes Look Like

J1939 data link fault codes appear with specific SPN numbers — SPN 639 and SPN 1231 are commonly used for J1939 network health, though OEM-specific SPNs also appear. The FMIs most commonly associated with communication faults are FMI 9 (abnormal update rate — the expected messages are not arriving at the expected frequency), FMI 12 (failure mode not identifiable — the module has detected a network condition it cannot categorize), and FMI 19 (received network data in error).

Communication faults often produce a cascade of codes from multiple source addresses simultaneously — each module on the network logs a communication fault for the source address of the module it cannot hear. This cascade pattern, where codes from multiple different modules appear at the same time and all reference the same missing source address or the same network segment, is a strong indicator that the root cause is in the network infrastructure rather than in any individual module.

Distinguishing Bus Faults From Module Faults

When multiple modules log J1939 communication faults at the same time, the first diagnostic check is the bus resistance at the 9-pin diagnostic connector. With the ignition off and all modules unpowered (or with the vehicle key off and a brief wait for modules to power down), measure the resistance between pin C (CAN-H) and pin D (CAN-L). A healthy bus with both termination resistors intact reads approximately 60 ohms. A reading of 120 ohms or above suggests one terminator is missing or the bus has an open circuit. A reading near zero or below 20 ohms suggests a short between the CAN wires.

If the bus resistance is correct at approximately 60 ohms, the communication fault is not in the physical bus — it may be in one module's connection to the bus, a module that has lost power, or a software configuration issue. Disconnecting modules from the bus one at a time (starting with the most recently added device) and rechecking bus resistance identifies a module that is loading the bus beyond its specification.

Common Causes of J1939 Network Faults

The most common physical causes of J1939 communication faults are: a broken or corroded wire in the J1939 backbone harness (the main two-wire network that runs through the truck's frame), a failed or missing termination resistor (the 120-ohm resistors at each physical end of the bus), a connector fault at the ECM connector or the 9-pin diagnostic port, and an aftermarket device connected to the network without proper termination.

J1939 network faults frequently appear after three events: a major harness repair or replacement, a rodent infestation that chews through wiring, and installation of new telematics or ELD hardware. In each case, the event involves physical access to network wiring. Inspecting the wiring that was touched in these events — or disconnecting new hardware — is the highest-yield first step before a full network trace.

Aftermarket Devices and J1939 Bus Loading

The J1939 standard specifies a maximum bus load and limits the number of modules that can be connected before signal integrity degrades. Adding multiple aftermarket devices — ELD units, trailer tracking systems, remote diagnostic tools, and fleet monitoring hardware — all of which connect to the J1939 diagnostic port or the bus itself, can approach or exceed these limits. The result is increased susceptibility to communication errors that appear as sporadic FMI 9 or FMI 19 codes.

A practical indicator that bus loading may be a factor is communication faults that appear and disappear without physical changes to the vehicle's wiring. If disconnecting one aftermarket device causes sporadic communication faults to stop, that device is likely contributing to bus loading or bus impedance issues. Consulting the device vendor about proper network connection and termination is the appropriate corrective step.

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

My truck shows multiple module communication codes at the same time. Does that mean multiple modules failed?

Usually not. When several modules report communication faults simultaneously, the most common cause is a network-level problem — a damaged bus wire, a failed termination resistor, or a module whose bus transceiver is holding the network in a fault state. One failed or shorted module can prevent all others on the same network segment from communicating. Start with physical network checks (termination resistance, bus wiring) before suspecting multiple module failures.

What is the most common physical cause of J1939 data link fault codes?

In practice, connector corrosion and damaged wiring (chafed insulation, pulled pins, or water intrusion into multi-pin connectors) account for most data link faults. Termination resistor failure (the 120-ohm resistors at each end of the bus) is the second most common cause. Module failures that corrupt the bus are less common but do occur, particularly in modules exposed to high heat or vibration.

Can a termination resistor problem affect every module on the J1939 network?

Yes. The J1939 CAN bus requires two 120-ohm termination resistors at opposite ends of the network to function correctly. If one or both are missing or failed, the bus signal quality degrades, and modules can experience communication errors even though their wiring and hardware are intact. Measuring bus resistance between the CAN-H and CAN-L lines (should be approximately 60 ohms with the network powered down) is a quick check.