|Trouble Code||Fault Location||Probable Cause|
We recommend Torque Pro
What Does Code P2999 Mean?
In my experience, this type of code is one of the most misunderstood. This could be because it is one of the most complex and difficult to diagnose.
What it means is that the powertrain control module (PCM) has detected an interface error in one of the controllers or the controller area network (CAN). Regardless of whether or not this error will contribute to any malfunction, it violates certain criteria set forth by two regulating entities; the International Standard of Organization and the Society of Automotive Engineers.
International Standard of Organization (ISO)
ISO is the abbreviation of a popular name for what is actually called the International Organization for Standardization (ISO). Why? I don’t know.
Founded in 1947, it (by whatever name you choose) is a voluntary, non-treaty federation of standards setting bodies that is utilized in more than 100-countries.
It is intended to facilitate international trade in goods and services as well as cooperation in economic, intellectual, scientific, and technological ideas. I bet you are asking what this has to do with automobiles. It also covers standardization in the fields of computer technology and data communication.
Society of Automotive Engineers (SAE)
You may recognize this familiar abbreviation as one used to declare that certain bolts, nuts, washers, and the tools that fit them are not metric.
SAE International is a U.S. based (globally active) organization for the development of standards. They have been around since 1905. It is an association of active professionals in engineering from a variety of industries but its principle interest is in the areas of automotive and aerospace engineering.
That brings us back to automobile manufacturing and the stored ISO/SAE reserved code. Since 1996, the automotive industry, in conjunction with the federal government, has mandated specific characteristics of vehicle on-board diagnostic systems. They work closely with the ISO and SAE to calculate and clarify stringent guidelines; many of which are listed individually and numbered. Specifically, the ISO and SAE are responsible for setting standards regarding serial data communication as it relates to automotive on-board computers. These standards involve assurance of message delivery, avoidance of conflicting messages, minimum time of delivery, cost efficiency, and electromagnetic field noise suppression.
There are five automotive on-board protocols which are subject to the standards set forth by ISO/SAE. They are the CAN, the DC bus which is a multiplexed communication network, the keyword protocol which allows scanners and other diagnostic devices to communicate with on-board controllers, the local interconnected network (LIN) that is responsible for non-critical communication used in entertainment and comfort systems, and the vehicle area network (VAN).
We are only concerned with the CAN in this article. The CAN bus is a conglomeration of wires and connectors which allows the PCM and other controllers to interface with each other. There may be as many as seventy on-board controllers on a single vehicle so the CAN performs a crucial function, especially in today’s complex automobiles.
ISO/SAE standards ensure that CAN configuration is within a set of uniform guidelines. Without these guidelines, each vehicle CAN would need to be configured according to equipment options. This would not be cost effective or reliable.
The PCM controls the engine and transmission but it also shares data with virtually every other controller on the vehicle. If the PCM or any of the other controllers detects a communication signal which fails to fall within ISO/SAE guidelines, a code of this type will be stored and a malfunction indicator lamp (MIL) may be illuminated. Multiple drive cycles with a failure may be required for a hard code to be stored and MIL illumination.
What are the common causes of code P2999?
- Wiring or connector damage
- Corrosion in connectors or on ground cable ends
- Defective system controller
- Controller programing error
What are the symptoms of code P2999?
- Virtually any drivability symptom imaginable
- There may be no symptoms at all
- Other stored diagnostic trouble codes
How do you troubleshoot code P2999?
When diagnosing a code P2999, I rely heavily on the symptoms exhibited (and their severity) and other codes stored. Since this type of code can pertain to such a widespread area, utilizing other stored codes and freeze frame data will be vital to a successful diagnosis.
Diagnose and attempt to repair any other stored codes before attempting to diagnose the P2999. Also, make sure that the battery is fully charged and the alternator is charging sufficiently. Clean any corrosion from the battery and battery cable ends that could contribute to a poor connection.
If no other codes are stored and no symptoms (other than MIL illumination) are exhibited, I would seek help from any applicable technical service bulletins (TSB). If you locate a TSB that matches the vehicle in question, as well as the codes and the symptoms presented, chances are high that it will nearly diagnose the malfunction for you. With a code of this nature, you will need all the help you can get.
I would begin my limited diagnosis with a visual inspection of all visible wiring harnesses and connectors. On at least one occasion, I have repaired a code of this sort when varmint damage was the culprit.
Next, I would connect a diagnostic scanner to the vehicle diagnostic port and retrieve all stored codes and freeze frame data. I’d write it down in case it was needed later in my diagnosis.
I would clear the codes and test-drive the vehicle. I would be hoping that the ISO/SAE code was intermittent and didn’t return. If it did, and there was no damage and no helpful TSB entries, I would perform a wiggle test on all controller connectors.
If my wiggle test did not yield any results, I would suspect a possible controller defect or a controller programing error.
Codes Related to P2999
- Virtually any other code is subject to accompany a code of this type
- Other ISO/SAE codes