GM Service Manual Online
For 1990-2009 cars only

Diagnostic Instructions

    • Perform the Diagnostic System Check - Vehicle prior to using this diagnostic procedure.
    • Review Strategy Based Diagnosis for an overview of the diagnostic approach.
    •  Diagnostic Procedure Instructions provides an overview of each diagnostic category.

DTC Descriptors

DTC P0012: Intake Camshaft Position (CMP) System Performance Bank 1-Retarded

DTC P0015: Exhaust Camshaft Position (CMP) System Performance Bank 1-Retarded

Circuit/System Description

The camshaft position (CMP) actuator system enables the engine control module (ECM) to change the timing of the camshafts while the engine is operating. The CMP actuator solenoid signal from the ECM is pulse width modulated (PWM). The ECM controls the CMP actuator solenoid duty cycle by controlling the amount of solenoid ON time. The CMP actuator solenoid controls the advance or the retard of each camshaft. The CMP actuator solenoid controls the oil flow that applies the pressure to advance or retard the camshafts.

Conditions for Running the DTC

    • The engine speed is running.
    • The crankshaft position system variation learn procedure learned.
    • The DTCs run continuously once the above conditions are met for greater than 20 seconds.

Conditions for Setting the DTC

P0012

    • The ECM detects the actual intake camshaft position (CMP) is between 5 degrees and 50 degrees when the PWM is less than 10 percent or greater than 85 percent.
        OR
    • The ECM detects the difference between the actual and desired CMP is greater than 12 percent for a calculated period of time.

P0015

    • The ECM detects the actual exhaust camshaft position (CMP) is between -35 degrees and 0 degrees when the PWM is less than 10 percent or greater than 90 percent.
        OR
    • The ECM detects the difference between the actual and desired CMP is greater than 15 percent for a calculated period of time.

Action Taken When the DTC Sets

DTCs P0012 and P0015 are type B DTCs.

Conditions for Clearing the DTC

DTCs P0012 and P0015 are type B DTCs.

Reference Information

Schematic Reference

Engine Controls Schematics

Connector End View Reference

Component Connector End Views

Description and Operation

Camshaft Actuator System Description

Electrical Information Reference

    •  Circuit Testing
    •  Connector Repairs
    •  Testing for Intermittent Conditions and Poor Connections
    •  Wiring Repairs

DTC Type Reference

Powertrain Diagnostic Trouble Code (DTC) Type Definitions

Scan Tool Reference

Control Module References for scan tool information

Diagnostic Aids

    • The engine oil condition has a major impact on the camshaft actuator system.
    • A low oil level condition may set this DTC. The engine may require an oil change. Inquire with the customer when the last oil change was performed. You may also monitor the scan tool Engine Oil Life parameter. Advise the customer an oil change may be required.
    • Inspect the engine for any recent engine mechanical repairs. An incorrectly installed camshaft, camshaft actuator, or timing belt can cause this DTC to set.

Circuit/System Verification

    Important: The engine oil level and the oil pressure are critical to the correct operation of the camshaft position (CMP) actuator system. Verify that the engine has the correct oil level and the correct oil pressure before continuing with this diagnostic.

  1. Ignition ON, observe the DTC information with a scan tool. DTC  P0012 and P0015 should not set.
  2. Engine running, command the suspected camshaft actuator from 0 degrees to 40 degrees and back to zero while observing the appropriate scan tool CMP Angle Variance parameters. The CMP Angle Variance should be less than 2 degrees in each of the commanded states.
  3. Operate the vehicle within the Conditions for Running the DTC to verify the DTC does not reset. You may also operate the vehicle within the conditions that you observed from the Freeze Frame/Failure Records data.

Circuit/System Testing

  1. Ignition OFF, disconnect the harness connector at the appropriate camshaft position (CMP) actuator solenoid.
  2. Ignition ON, load test for B+ between the ignition circuit terminal 1 and ground.
  3. If less than the specified range, test the ignition voltage circuit for a short to ground or an open/high resistance. If the circuit tests normal and the ignition circuit fuse is open, test all the components connected to the ignition circuit and replace as necessary.
  4. Connect a test lamp between the control circuit terminal 2 and B+.
  5. Command the appropriate CMP actuator solenoid ON with a scan tool.
  6. Load test for less than 1 volt between the control circuit terminal 2 and the ECM housing.
  7. If greater than the specified range, test the control circuit for an open/high resistance. If the circuit tests normal, replace the ECM.
  8. Remove the CMP actuator solenoid. Inspect the CMP actuator solenoid and mounting area for the following conditions:
  9. • For a torn, restricted, mis-positioned, or missing screens at the CMP actuator solenoid
    • For engine oil leaks between the oil sealing lands of the CMP actuator solenoid--Inspect the lands of the CMP actuator solenoid for nicks.
    • For oil seepage at the CMP actuator solenoid connector
    If a condition is found, replace CMP actuator solenoid.
  10. Ignition OFF, swap the suspected CMP actuator solenoid with a CMP actuator solenoid that is operating correctly.
  11. Engine running, command the suspected camshaft actuator from 0 degrees to 40 degrees and back to zero while observing the appropriate scan tool CMP Angle Variance parameters. The CMP Angle Variance should be less than 2 degrees in each of the commanded states.
  12. If the CMP Angle Variance is greater than 2 degrees, replace the camshaft position (CMP) actuator.
  13. If all circuits test normal, test or replace the CMP actuator solenoid.

Repair Instructions

Perform the Diagnostic Repair Verification after completing the diagnostic procedure.

Control Module References for engine control module replacement, setup, and programming