964 Diagnostic Codes

by: Bill Wagner (wagner@sprynet.com)

Date: August 13, 2002


Introduction
Back to TOC Most U.S. model 964s sold in 1991 and later years are equipped with an active Check Engine Light system that is capable of displaying some of the diagnostic codes that the DME may have detected. Some 964s built to meet California emission requirements may also have this feature as an option that may have preceded the 1991 production year. On cars without this feature, the only way to get the diagnostic codes is through the use of a Bosch "Hammer" diagnostic tool. If your car has an active Check Engine Light system, the following sections will tell you how to extract the check engine codes and what they mean.

Please read this page in it's entirety before attempting this procedure.

NOTES:

  • If you are running a car with an after market chip, this feature may have been disabled.
  • Some ROW cars may have this feature active if the DME has been swapped out with a US unit or deliberately modified to make use of the system.
  • Only some of the codes that a Bosch Hammer can detect are capable of being displayed. The Check Engine Light will only display codes related to the sensors identified in the section below called "What the Codes Mean".
  • Some U.S. models prior to 1991 may have this feature installed as an option.

 

Extracting the Codes
Back to top The following procedure identifies how to extract the fault codes using the Check Engine Light system:
  1. With the car turned completely off (it shouldn't matter if it's warmed up or not), put your foot on the accelerator pedal and push the pedal to the floor.
  2. Put the key in the ignition, and rotate it clockwise until all the lights on the dash (check engine, !, ABS, etc.) come on., but DO NOT TURN THE KEY FAR ENOUGH OVER TO START THE CAR. Leave the key in this position.
  3. Wait a few seconds until the check engine light flashes. This seems to vary with software releases with some taking longer and some taking shorter, but it's typically 3-5 seconds. These initial flashes are NOT part of the engine codes. If  you wait for the lights to go out completely, you may end up resetting the DME, so move quickly to the next step after seeing the first flash.
  4. Take your foot completely off the accelerator pedal and start watching the check engine light. On my car, the check engine light flashes once briefly right after I take my foot off the gas pedal, but this is NOT part of the codes being generated, it's just an indicator that the system is about to start spitting out codes.
  5. Watch (and count) the sequences of flashes. The "no faults recorded" code is 1500, which means you will see one flash (the first digit in 1500), a pause, and then five more quick flashes (the second digit in 1500) and then a longer pause. This code will repeat itself.
  6. If you've received a real fault code (not 1500 described above), once you have recorded the code, punch the accelerator pedal and release it once. If another code is stored, then it will show up. When all codes have been retrieved the check engine light will put out a code 1000 (a single pulse) to indicate that all the codes have been retrieved.
I would recommend that anyone with a U.S. model with this system try it out before they have a problem so they get a feel for how the systems works.

NOTE: In order for this system to work properly, the DME must sense the wide open throttle microswitch. If this switch is not making this contact properly while pushing the gas pedal all the way to the floor,  then this procedure will not work. In such instances, your system may need some adjustments, and the DME will never go into self diagnostic mode. Please keep in mind that for the most part the active Check Engine Light applies to 1991 and greater US MODELS ONLY!  It will not work on ROW 964s!

 

Interpreting the Codes
Back to top All codes generated by the Check Engine Light system come out in groups of four flashes. The only exception to this rule are codes 1500 and 1000. Code 1500 will show up as a single flash, a pause, and then five quick flashes. Code 1500 means that no faults were recorded by the DME. Code 1000 means that all the diagnostic codes have been retrieved, and it shows up as a single pulse.

If your car has a fault recorded by the DME, which will usually be the case if you've seen your Check Engine Light come on either briefly or permanently during regular driving, the breakdown of the codes is as follows:
 

  • The first digit (flash), will always be a single flash indicating the digit "1".
  • The second digit will be either a single flash or two flashes. A single flash indicates that the DME detected a constant fault, a double flash indicates the fault is intermittent. These flashes correspond respectively to the numbers "1" and "2".
  • The next two sets of flashes indicate the source of the failure (HOPEFULLY!!). This set of flashes will equate to a number ranging in value from eleven (11) to fifty six (56). For example, 11 would be a single flash, pause, and another single flash, whereas 56 would be five flashes (the digit 5 in 56) followed by six flashes (the digit 6 in 56).

Examples

The following examples illustrate what you will see if you have some codes generated by the DME A description of the codes is given in the next section. When I refer to "punching the accelerator pedal", I mean that you push the accelerator pedal to the floor and then take your foot off of it. 

  • Code "1124": Faulty oxygen sensor in constant failure. The Check Engine Light sequence seen would be one flash (first digit in 1124), a pause,  another single flash (second digit in 1124), a pause, two flashes (third digit in 1124), a pause,  and finally four flashes (the fourth digit in 1124). This sequence will repeat itself until you punch the accelerator., after which you may get a single pulse (code 1000) indicating no more codes are stored, or the code may just keep repeating itself. See the note below regarding code 1000.
  • Codes "1121" and "1224": Air flow sensor in constant failure and oxygen sensor in intermittent failure. The first code  (1121) will show up  as a single flash, a pause, a single flash, a pause, two flashes, a pause, and a single flash. This will keep repeating itself until you punch the accelerator pedal. After punching the accelerator pedal, the code 1224 will show up. Code 1224 will show up as a single flash, a pause, two flashes, a pause, two more flashes, a pause, and then four flashes followed by a longer pause. Once again, the code will continually repeat itself until the accelerator pedal is punched. After you punch the accelerator pedal one more time, the final code (1224) should stop and you should be greeted by a code 1000, which is just a single pulse, indicating that all the stored codes have been retrieved. See the note below regarding code 1000.
  • Code "1000": This code is something that may or may not be implemented on all DME units. Porsche made numerous software upgrades to the DME during the production run of 964s, and there seem to be some subtle differences from one release to another. I've never seen a code 1000 on my car, but it's never recorded a fault yet. Other people have told me that the final code stored repeats itself until the ignition is turned off, and others reported seeing the code 1000.
What the Codes Mean
Back to top

 

The following listing is essentially from the factory service manual. If a fault has been recorded by the DME, the second digit will always be either one or two flashes (indicating the numbers one or two, respectively). Recall from above that "1" means constant failure and "2" means intermittent failure (often a loose connector). Because this is the case for all codes EXCEPT 1500 (no fault detected) and 1000 (end of fault codes), the letter "X" is used to signify the digits "1" or "2". 
  • Code 1000 - End of fault code reporting sequence
  • Code 1500 - No faults detected
  • Code 1X11 - Supply voltage
  • Code 1X12 - Idle speed contact ground short
  • Code 1X15 - Idle speed contact break
  • Code 1X13 - Full load contact
  • Code 1X14 - Engine temperature sensor II
  • Code 1X21 - Air flow sensor
  • Code 1X22 - Idle speed control activation
  • Code 1X23 - Oxygen regulation stop
  • Code 1X24 - Oxygen sensor
  • Code 1X25 - Intake air temperature sensor
  • Code 1X31 - Knock sensor I
  • Code 1X32 - Knock sensor II
  • Code 1X33 - Control unit faulty, knock computer
  • Code 1X34 - Hall signal
  • Code 1X41 - Control unit faulty
  • Code 1X43 - Tank venting valve
  • Code 1X44 - Resonance plate
  • Code 1X45 - Check engine warning lamp (it detects it's own errors???)
  • Code 1X51->56 - Injection valve - injection control unit (one for each injector)
Limitations of the System
Back to top This system POINTS to faults in the car, but it doesn't alleviate anyone from having to do some troubleshooting. Here are some of the limitations of the system: 
  • When a fault code is recorded, whether it's constant or intermittent, it does not necessarily mean that the component identified is really the cause. For example, a code of 1124 (O2 sensor in constant failure) could be caused by a bad O2 sensor (as implied by the code), but other possible causes could include a wire being broken going to the O2 sensor, a break in the cabling going to the DME control line that monitors the O2 sensor, or even a bad connector or loose wire on or in the DME or the electrical path it follows to monitor the O2 sensor. I like to think of the system as pointing to a path of possible problems, not necessarily identifying an exact problem.
  • The system is limited to those items identified in the preceding section. The Bosch Hammer is capable of much more. It can monitor and show actual readings of some items (like fuel and air levels) in real time. The check engine light cannot provide real time diagnostics of any type.