What CAN Communication Error Means on a Heavy Truck
A CAN communication error indicates a fault at the Controller Area Network (CAN) physical or data-link level — the actual bus wires, transceivers, or timing of the bit communication. On a heavy truck, J1939 runs as the application layer on top of CAN; a CAN-layer error therefore affects the J1939 messages that all modules exchange. CAN errors can be categorized as bit errors (a bit transmitted did not match what was received), bus-off errors (a module disconnects from the bus due to too many errors), and frame errors (invalid frame structure).
CAN communication errors are similar to J1939 communication errors in their practical effects on the vehicle — module-to-module communication is disrupted — but CAN-level errors indicate the physical or electrical layer rather than just application-layer message absence. Both types produce similar symptoms: multiple simultaneous fault codes, unexpected module behavior, and dashboard warning lamps.
Fault Code Data to Record for CAN Communication Error
Record: all active fault codes and their source addresses, whether the error is constant or intermittent, whether it appeared under specific conditions (startup, vibration, high electrical load, rain exposure), and any recent events that involved wiring or harness work.
The primary diagnostic test for CAN-level communication errors is bus resistance measurement at the 9-pin connector (pin C to pin D, key off): approximately 60 ohms for a healthy terminated bus. Also useful: a CAN analyzer or advanced scan tool that can display bus error counts, bus-off events, and error frames helps identify whether the network is experiencing occasional errors (intermittent issue) or continuous errors (active fault).
Physical vs. Module-Level CAN Errors
Physical CAN errors result from damaged bus wiring (broken conductor, chafed wire with intermittent short to ground or power), missing or failed termination resistors (the 120-ohm resistors at each end of the bus that prevent signal reflections), or a poor connection at a module's CAN interface. These physical causes produce consistent or load-dependent errors — errors that worsen with vibration, temperature change, or specific harness flexing.
Module-level CAN errors occur when a module's CAN transceiver (the chip that interfaces between the microcontroller and the CAN bus) fails or produces non-standard signals. A module with a failed transceiver can corrupt the bus continuously, preventing all other modules from communicating. Identifying a corrupting module requires systematically disconnecting modules from the CAN bus while monitoring the bus error rate — when the corrupting module is disconnected, errors stop.
Intermittent CAN Errors and Environmental Factors
Intermittent CAN errors are particularly challenging because they may not be reproducible in a shop environment. Common environmental factors that produce intermittent CAN errors: moisture ingress into a connector at a module CAN interface (creates intermittent shorts when wet), vibration-sensitive harness routing that causes wire stress at certain RPM or road conditions, and temperature-dependent connector resistance (a connector with marginal terminal tension has higher contact resistance when cold).
A CAN error that consistently appears in rain or after a car wash, then clears when dry, indicates a moisture ingress point in the CAN wiring or connectors. A CAN error that appears only after the truck warms up suggests a temperature-sensitive connector or a module whose CAN transceiver is marginal at operating temperature. Correlating the conditions under which errors appear with specific harness routing and connector locations reduces the diagnostic search area significantly.
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
FAQ
Is a CAN communication error the same as a J1939 data link fault?
Related but not identical. J1939 runs as an application layer on top of CAN. A CAN communication error indicates a problem at the physical or data-link level — the actual wire, transceiver, or bit-level communication. A J1939 data link fault is a higher-level indication that an expected J1939 message is missing or late. A CAN error can cause J1939 faults, but a J1939 fault can also occur from module-level issues without the CAN bus hardware being damaged.
How can I tell whether a CAN communication error is from wiring damage or a module with a bad transceiver?
Measuring the resistance across CAN-H and CAN-L with the key off should show approximately 60 ohms (two 120-ohm termination resistors in parallel). Significantly higher resistance suggests a break in the wiring or a missing termination. Near-zero resistance suggests a short. If resistance is correct but communication still fails, a module with a defective transceiver is a likely cause — identified by systematically disconnecting modules while monitoring bus behavior.
Can a CAN communication error fix itself, or does it require physical repair?
Transient CAN errors from momentary events (a voltage spike, brief connector separation from vibration) can produce inactive codes without recurring if the root cause was intermittent. Permanent wiring damage or a failed module will produce recurring active codes. If the CAN error code is inactive and never recurs, monitoring is reasonable. If it recurs under specific conditions (vibration, temperature change), it indicates an intermittent physical fault that will eventually worsen.