Reading diagnostic trouble codes has become a standard operating procedure for every shop that does anything much beyond oil and filter changes (and even those shops have had to learn to reset oil life monitors on many cars). So you know the codes that have the headings P0 and P2—powertrain—B0 and B2—body systems and C0 and C2—chassis systems. That’s the generic stuff that comes through on even the low-cost OBD II scan tools that are of recent-enough design to cover systems with “CAN” (Controller Area Network) data busses. If you have a better-than-generic scan tool, it can also read the P1, B1 and C1 manufacturer-specific (enhanced) codes.
But what about “U” codes, the ones that refer to the data network, also called communications codes? A scan tool may display them, but few technicians pay much attention to them. Common attitudes: “It’s probably just some computer glitch—maybe some driveability thing, nothing to do with HVAC” or “I’m just looking for a trouble code that gives me some lead into what’s wrong.”
Yes, communications codes may be “different,” but that doesn’t mean they’re never important when you’re diagnosing HVAC problems.
First, let’s admit there are times when a data bus logs a code when nothing really is wrong. Why would it do that? Most causes relate to battery voltage and a technician’s service technique. The most common: the battery was disconnected before all the modules on a bus went to sleep (see the next topic, WHEN DOES THE COMPUTER FALL ASLEEP?). Interestingly, it doesn’t always happen, unless a module is trying to send out a message at the instant of disconnection. But modules on even a low-speed data bus are pretty chatty by human standards, so unless a disconnection is really instantaneous, a U-code can log.
- The battery went dead or, perhaps during a hard start the voltage dropped too low for an instant, while a module was attempting to communicate.
- There was no communication occurring as the battery went dead, but as the battery was being recharged, some modules awoke first and tried unsuccessfully to communicate with others on the data bus. This can happen if modules have to initialize and not all are ready when one that is finished, tries to communicate.
- While a technician was doing diagnosis, somehow the power to a module was cut during an attempt at communication on the data bus. Perhaps a partial disconnect occurred as a result of moving a harness connector during the effort. In most cases where there’s a brief loss, the U-code logs, but because nothing important was happening, no other codes in powertrain, body or chassis systems are logged, and the U-code simply goes into the “history” category. There’s nothing to do except erase it. If there are other codes and an active problem, a U-code should remain active.
- The U-code logs for a module or modules that are working normally.
That makes perfect sense. If a module can’t communicate, it can’t tell the data bus what’s wrong. All the other modules know is that they expected a signal from a particular module, but never got a message. So those other, wide-awake modules will log a code that applies to the type of information they were expecting. Each module has an identification number – a digital “name” – for the rest of the modules on the data bus, so they recognize it and know what message(s) to expect.The important thing to understand is that the U-code that gets logged in one or more modules will point to the module that didn’t respond; it usually doesn’t mean that anything is wrong with the module(s) that logged the code.
Also important to understand: a module may communicate to two or more data busses. An example of this can be an HVAC module that is part of a low or medium-speed bus, such as Class 2 (the long-used, original OBD II bus), and also a CAN B (Controller Area Network, “B” speed bus), but which for compressor load adjustment reasons, has to signal when it’s turned on, to the Powertrain Control Module, which is on the relatively-new very high-speed bus—CAN C. In that case, the signal often goes through a “gateway” module, which is capable of translating the low-speed signal into a message the high-speed data bus knows how to receive and interpret. A miscommunication (or no communication when a message is expected) can lead to a U-code in the gateway module, which typically is a specially-designed module that also handles other functions. In many Chrysler products, for example, it’s part of the Total Integrated Power Module.
Let’s return to the issue of “where is the failure?” when a U-code names a module. That U-code also doesn’t necessarily mean that the non-communicative module is defective – just that it isn’t talking. It could have lost power, ground or a communication line, and we’ve even heard of a U-code traced to a poor battery ground from a ground strap that was not making acceptable contact at its body connection. And there are still other possibilities.
In a training class at the 2009 MACS convention, mobile service technician John Anello pointed to a straightforward but classic case, a 2008 Chrysler 300 with a 3.5-liter V-6. It had active U-codes in four modules:
- Three generic codes for lost communication with the antilock brake module;
- A generic chassis system code for low tire pressure, in the WCM (wireless control module for tire pressure);
- An enhanced communication code (U1120) for lost wheel distance message, from the powertrain module.
The enhanced code is based on the fact that the wheel speed signal comes from the antilock brake system – four wheel speed sensors report to the antilock brake module, which not only controls ABS operation, but takes the four wheel speed signals, and divides them by four to produce a vehicle speed signal. It transmits that number to the powertrain module, which is looking for vehicle speed to help control engine operation.
The powertrain module doesn’t care about tire pressure. In the example cited by Anello, the fault turned out to be a broken data bus wire to the ABS module from an auto accident (he gets a lot of calls from body shops with electronics issues caused by accidents). The tire pressure module is wired to the ABS module, resulting in the low tire pressure code.
However, not all U-codes are that straightforward. Here’s an example of where the U codes were not able to define the problem so clearly, but still – in the absence of other trouble codes – gave a hint as to what might have been happening.
The blower motor didn’t work on a 2004 Pontiac Grand Prix, in which a new blower motor and blower speed control module had been installed at another shop. The technician checked the fuse (it was good), and using his scan tool with enhanced data, did a scan and found two U codes: U1000 and U1153. He cleared the codes, and although U1153 disappeared, U1000 returned.
He checked for voltage at the blower motor and the power feed wire terminal of the blower speed module and found only four volts. Some technicians might have concluded the new blower module was defective, but if you read the diagram, there is a power feed from the fuse to the module, and in this case, a bad wire was the cause of the voltage drop.
The U1000 is a system report, and in this case, the data bus didn’t get an expected report from the HVAC module. The U1153 is HVAC module-specific, and in the diagram it’s obvious that unless the blower speed module is working and the A/C is operating, there’s nothing for the HVAC module to report to the Class 2 data bus. So that code didn’t return. However, the general communications issue was not solved to the satisfaction of the diagnostics, so the U1000 continued in effect.
We always look for a more definitive answer from trouble codes, but often one isn’t there, and with U codes, even less likely to be.
When having your mobile A/C system professionally serviced, insist on proper repair procedures and quality replacement parts. Insist on recovery and recycling so that refrigerant can be reused and not released into the atmosphere.
If you’re a service professional and not a MACS member yet, you should be, click here for more information.
You can E-mail us at firstname.lastname@example.org or visit http://bit.ly/cf7az8 to find a Mobile Air Conditioning Society member repair shop in your area. Visit http://bit.ly/9FxwTh to find out more about your car’s mobile A/C and engine cooling system.
The 32nd annual Mobile Air Conditioning Society (MACS) Worldwide Convention and Trade Show will take place January 18-20, 2012 at the Rio All Suite Hotel and Casino in Las Vegas, NV.