AutoLogicTools

OBD-II trouble code

U0002: High Speed CAN Communication Bus (Performance)

The powertrain backbone is still passing traffic, but the signal quality on it has degraded. This bus has a defined electrical specification you can actually measure against — 60 ohms across a terminated pair, a differential waveform with known voltages — which makes it the one network fault a scope can settle.

High severityNetworkNetwork CommunicationDo not drive

Quick facts

System
Network
Category
Network Communication
Severity
High severity
Drivable
No — stop driving until repaired
Repair cost range
$120$1,400
DIY difficulty
Shop recommended

What does U0002 mean?

High-speed CAN is the backbone the safety-critical and time-critical modules sit on: engine, transmission, brakes, stability control, restraints. It runs fast — typically 500 kilobits per second on a passenger vehicle — over a deliberately twisted pair, and it signals differentially, meaning the information lives in the difference between the two wires rather than in either one measured against ground. That design is why it is remarkably resistant to electrical noise, and it is also why a fault on it behaves the way it does.

The distinction this code draws is between a bus that has stopped and a bus that is struggling. Nothing has gone silent. Frames are still moving, modules are still responding, but the error counters that every CAN controller maintains are climbing — corrupted frames, retransmissions, occasional dropouts. CAN is engineered to absorb exactly this and keep going, escalating a misbehaving node through warning states toward a self-imposed bus-off condition only when the errors accumulate far enough. A performance code means the network is running inside that tolerance band rather than outside it, which is precisely why the car often drives fine between episodes.

What makes this bus different from every other network on the vehicle is that it comes with a specification you can hold a meter against. A properly terminated high-speed CAN segment carries a 120-ohm resistor at each physical end of the trunk, so with the ignition off and the battery disconnected, measuring across the two bus wires should return about 60 ohms — two resistors in parallel. That number is diagnostically loaded. Roughly 120 ohms says one terminator or one end of the trunk has gone missing. A reading far below 60 says something is loading the pair. An open reading says the trunk is broken between you and both ends. No other bus type on a vehicle gives you a single number that means that much, and it costs nothing to take.

The waveform is the second thing this bus lets you verify directly. At idle the pair sits at a recessive state with both lines near 2.5 volts; a dominant bit drives one line up toward roughly 3.5 volts and the other down toward roughly 1.5 volts, symmetrically about that midpoint. Asymmetry is the tell. If one line moves properly and the other does not, the fault is on that specific conductor and you have halved the harness you need to inspect. If both move but the transitions are rounded and slow, you are looking at added capacitance or resistance in the run. This is genuinely scope work — a multimeter averages away exactly the detail that matters.

One pattern follows from this bus being the highest-priority network on the vehicle. Degrade it and you do not get one complaint, you get a shotgun blast of lost-communication codes from modules all over the car, because everything important lives here. That breadth is a clue rather than a catastrophe: when a great many modules are all reporting each other missing, the trunk they share is far more likely to be the problem than any of them individually.

Common causes

  • One of the two 120-ohm terminating resistors open or drifted, leaving the pair under-terminated and the signal ringing
  • Twisted pair untwisted over a length during a previous repair or an accessory installation, destroying its noise rejection
  • CAN-High or CAN-Low chafed to the point of intermittent contact with the body, most often where the harness crosses a moving joint
  • Corroded or spread terminal in a splice pack, adding resistance that rounds off the signal edges
  • A module's CAN transceiver failing and injecting corrupted frames onto the shared trunk
  • Water intrusion into a connector, bridging the pair intermittently and only in wet weather
  • Aftermarket device spliced into the trunk with an untwisted tail, adding a stub that reflects signal back down the bus
  • Poor module ground shifting the common-mode voltage far enough to push the differential signal out of range
  • Damaged bus wiring after collision repair, where the trunk was cut and rejoined without maintaining the twist

Symptoms

  • Warning lights flickering on and off rather than staying lit
  • A large number of lost-communication codes from many modules at once, which points at the shared trunk rather than at the modules
  • Brief stalls or a momentary no-start that clears on the next attempt
  • Stability control, ABS and transmission warnings appearing together, since all of them live on this bus
  • Scan tool session dropping and reconnecting mid-diagnosis
  • Symptoms tracking bumps, temperature or wet weather, which points at a mechanical or moisture-driven fault
  • Gauges glitching momentarily and then recovering

Diagnostic steps

  1. 1.With the ignition off and the battery disconnected, measure resistance across the CAN pair at the diagnostic connector. About 60 ohms is a correctly terminated bus; roughly 120 means one terminator or one end of the trunk is missing; much lower means something is loading the pair; open means the trunk is broken.
  2. 2.Repeat that measurement while wiggling the harness. A resistance figure that jumps is a mechanical fault, and it is often the fastest way to locate one.
  3. 3.Put a scope on CAN-High and CAN-Low together. The pair should sit near 2.5 volts at rest and split symmetrically to roughly 3.5 and 1.5 volts on a dominant bit.
  4. 4.Check the symmetry specifically. If one line swings correctly and the other does not, the fault is on that conductor, which immediately halves the wiring you need to inspect.
  5. 5.Look at the edges as well as the levels. Rounded, slow transitions indicate added resistance or capacitance in the run rather than a break.
  6. 6.Read the error counters and bus-off history where the module software exposes them, and note which modules are escalating fastest — they tend to sit nearest the fault.
  7. 7.Inspect any point where the twisted pair has been untwisted, cut or spliced. Aftermarket installations and previous collision repairs are the usual places this has happened.
  8. 8.Disconnect suspected modules one at a time while watching error rates. A transceiver failing internally will show its effect on the whole bus the moment it is removed from it.
  9. 9.Check module grounds. A ground that has drifted moves the common-mode voltage of the pair and can push a perfectly good differential signal outside the range receivers accept.

Repair cost

$120$1,400

Diagnostic time is the largest single variable at $200 to $450, because catching a marginal bus generally means scope work and provoking an intermittent rather than reading a value. A chafed wire or corroded splice repaired properly, with the twist restored, is $150 to $600. A terminating resistor — which on many vehicles lives inside a module rather than as a discrete part — is $150 to $700 depending on where it is. A module with a failing transceiver is $450 to $1,100 including programming. Vehicles with several interconnected networks and long harness runs sit at the top of these figures purely because there is more of everything to test.

Estimate your repair

Run the numbers for your vehicle

Open the Repair Cost Estimator with module communication / can bus diagnosis preselected. Adjust labor rate and vehicle category to fit your situation.

DIY vs shop

Leave this one to a qualified shop. It typically involves emissions-critical components, refrigerant handling, or other work that requires manufacturer-grade tooling, training, or certification. DIY attempts often produce a more expensive problem than the original code.

Related codes

Editorial context

About This Diagnostic Information

AutoLogicTools diagnostic guides explain OBD-II trouble codes using recognized code definitions, standard automotive diagnostic principles, and practical automotive context. A trouble code records a condition detected by a control module. It does not automatically identify a failed part, and the right diagnostic procedure can vary by vehicle.

Manufacturer service information, technical service bulletins, wiring diagrams, and vehicle-specific procedures should take precedence when available.

AutoLogicTools was founded by Vincent Fisk, an automotive locksmith and shop owner in San Diego with hands-on experience in vehicle keys, immobilizer systems, electrical issues, modules, programming, and diagnostics.

Frequently asked questions

What does the 60-ohm reading actually tell me?

A high-speed CAN trunk has a 120-ohm resistor at each physical end, and measuring across the pair puts those two in parallel, so a healthy bus reads about 60 ohms. That makes the number genuinely diagnostic. Around 120 means one terminator or one end of the trunk has been lost. Well below 60 means something is loading the pair. An open reading means the trunk is broken between your probes and both ends. Very few network tests give you that much for so little effort — take the measurement with the ignition off and the battery disconnected.

Why do I need an oscilloscope for this?

Because the information is in the shape of the signal, and a multimeter averages that away. This bus signals differentially: at rest both wires sit near 2.5 volts, and a dominant bit splits them symmetrically toward about 3.5 and 1.5 volts. A scope shows you whether both lines are moving, whether they are moving symmetrically and whether the edges are crisp. Asymmetry names the faulty conductor outright, and rounded edges point at resistance or capacitance in the run. A meter shows you none of that.

Dozens of modules are reporting each other missing. Are they all failing?

Almost certainly not, and the sheer number is the clue. This is the highest-priority network on the vehicle, so nearly everything important communicates across it. Degrade the shared trunk and every module simultaneously notices that its neighbours have gone quiet. A wide spread of lost-communication codes points at the wiring they all depend on, not at the modules. Working the trunk first is what stops this becoming an expensive guessing game.

The car drives fine most of the time. Can I leave it?

It is not a good idea. CAN is designed to absorb errors and carry on, escalating only gradually, which is exactly why a degraded bus can feel normal between episodes. But this bus carries engine, transmission, braking and stability control traffic, and the failure mode when it finally crosses the threshold is not gentle — modules take themselves off the network and the vehicle can lose functions without warning. A marginal wire tends to become a broken one.