PS/2 Error Codes

POST Error Codes
   Beep Codes
   General Error Codes
   IML Error Codes (I99xxxx)
   General SCSI Error Codes

Troubleshooting Hints
   POST Errors
     Multiple POST Errors
   Dead System
     Troubleshooting Dead System
   Clearing the 96 8N1 code

This page is about one of the most annoying things in the PS/2 World - Error codes. They come up when you need them the least and -often- don't tell much why anything went wrong.
   Now here's a collection of the most common error codes along with some explanation and which action to take or which part to change.

POST Error Codes

Beep Codes

*Normal Operation
* *A problem exists, check config. Run diags, if no error code displayed
_ *Display or display adapter problem.
_ * *Display or display adapter problem.
_ * * *Display or display adapter problem.
* * * * * *Continuous short beeps. Check keyboard.
___________Continuous solid beep. System board.

(* indicates a short beep, _ means a long beep)

General Error Codes (from The Microchannel Enthusist's Page)

Major Error Code -----------+---+
                            |   |
                            |   |
Trailing Zeros   -------- 0024 01XX
to fill 8 digits                 ||
Minor (diagnostic Error Code)----++

The Error Code is written in the 4 + 4 style as it appears on a PS/2 Mod. 95 LED-panel and in the Premium Line "extended 8-digits" form. The bold part in the middle is the so called "Major Error Code" and -basically and in large parts- identical with the PC/AT Error Codes and those used on earlier PS/2 machines.

The 2 digits of the "Minor Error Code" is dependent on the type of the error and -mostly- only specified when running the Advanced Diagnostics. The minor error code is however often given at POST-Errors (after restarting the computer) and might specify a particular error condition. In case the minor error code is marked with "XX" in the follow-up error lists it means "Don't care" and it can be any character.

Error messages generally consist of eight characters. If an error message appears as a 12-character message, disregard the last four characters.

The following errors are all listed as eight-character messages. Messages might appear on your screen as three-, four-, or five-character messages. When this occurs, always add two zeros ["00"] to the RIGHT of the code, and add enough zeros "0" to the LEFT of the code to reach eight characters.

Error Code Format Examples:

00030100 - Three-character, Codes 300 - 999
00170100 - Four-character, Codes 1500 - 2999
01668000 - Five-character, Codes 15000 - 19999

Error Code Listing:

Codes 100 - 29999 and IML Code I9990

Error Code Tables:

Codes 100 - 159 Codes 160 - 199 Codes 200 - 299
Codes 300 - 999 Codes 1000 - 1499 Codes 1500 - 2999
Codes 3000 - 9999 Codes 10000 - 11999 Codes 12000 - 14999
Codes 15000 - 19999 Codes 20000 - 29999

IML-Errors (I9990)

These have to do with the Initial Microcode Load on the 76/77, 85, 90, 95, and 500 systems.(and the TP700/720!) see HERE.

General SCSI Error Codes

Device Size Code     -----------------+ +--------- Unit Reference Code
                                      | |
Adapter MCA-Slot     ----------------+| |+-------- Sense Key Code
                                     || ||
Logical Unit Number  ---------------+|| || +------ Additional Sense Code
                                    ||| || |
Physical Unit Number --------------+||| || |
                                   |||| || |
Device Code Number   ---------+--+ |||| || |
                              |  | |||| ||++
                              |  | |||| ||||
                              0210 401H 9231

Basically the SCSI Error Codes consist out of an 8-character output like a General Error Code, but have an additional 4-character Error Return Code at the end, which helps to specify the nature of the error.

There are small differences between SCSI Device Errors and SCSI Adapter Errors. These are explained when necessary.

SCSI Error Code Tables

Troubleshooting Hints

POST Errors

Refer to the General and SCSI Error Codes above.

If multiple errors occur during POST, resolve them in the order that they are presented.

Note: The correct procedure for using the Personal System/2 reference diskette is to power on the system with the diskette inserted in the diskette drive. Soft booting the reference diskette (i.e. Ctrl-Alt-Del) may cause false errors as well as a false indication that a power-on password is already present when you try to set one.

Ed. I can't remember having issues from a warm boot while working on a PS/2, -BUT- if the system refuses to apply configuration changes, cold boot.

Always cold boot and run Advanced Diagnostics (go into System Programs and at the main menu do a Ctrl-A) before replacing components when trying to resolve software problems. If diags don't fail, replacing components will probably not solve the problem. Refer to the software vendor for possible patches. The software may not be supported on the system.

Multiple POST Error Procedure

If more than one error code is displayed, diagnose the first error code first. The cause of the first error code could cause other devices to fail. This is especially important with configuration errors.

If no error codes appear, see if the error symptoms are listed in the Error list.

If an adapter consists of multiple FRUs (memory for example) remove the optional FRUs one at a time to see if symptoms change before replacing the adapter.

External surge suppressors may be the source for hard to diagnose problems.

Dead System (no POST, screen blank, no beep)

The most likely cause is a device that is shorting out the power supply. An improperly inserted memory module, a defective adapter or device can cause a short circuit. To prevent damage to a power supply, the system board must present a "Power Good" signal to the power supply in 150 ms or less. If this does not occur, then the power supply shuts down internally.

Known dufus tricks- SIMM inserted backwards (with enough force ANYTHING is possible). adapter not fully seated in expansion slot, power cord not plugged in, unsupported/defective adapter (Non-IBM adapter, like ALR..), or with a heavily loaded system, too many drives starting at once (overcurrent as the drives attempt to spin up- leave motor start jumper open to start drives after the controller interrogates them).

Troubleshooting a Dead System

  1. Verify that power is on (power cord plugged in?). If the system has power, then go to step 2.

    Note: Intermittent and very difficult to diagnose system problems, may be caused by line cords which are not fully seated, or are too loose to make a tight connection.

    When troubleshooting intermittent post errors, or any unusual, system problems, (for example; system performs power-on reset unexpectedly during operation) check the line cord for proper seating. Slight forming of the male contacts in the system unit power supply connector may correct the problem -OR- you can sometimes adjust the female contacts in the line cord plug.

    Warning! Remove line cord from outlet before working on line cord contacts!

    Replacing the line cord may be necessary in some cases. Both ends of the line cord should be checked.

  2. Remove all adapters, options, extra memory, etc.
    Remove all external connections, KB, mouse, display, etc.
  3. Plug in, power on, listen for a beep. The beep indicates POST has run.
    Multiple beeps may occur.
  4. A) If no beep is heard, verify continuity through speaker.
    If OK, replace system board memory and retry # 3.
    If still no beep, verify PSU voltages. If voltages are OK, replace system board.
    If voltages are incorrect, replace the power supply. 85/95 PS 90 PS 500 PS

    Note: On systems with LogicLock, the switches used to detect unauthorized access might be put in the wrong position during case re-installation.

    Unit does not run with cover removed (9556/57 9576/77)

    B) If a beep occurs, reinstall adapters one at a time and return to step 3. When something is added and the beep is no longer heard, the last item plugged in is probably defective. At this point, it is not necessary to reconfigure the system each time an adapter or device is added because we expect any beep.


Defective or weak batteries can cause loss of all setup information. If only part of the setup is lost, the battery is probably NOT the cause. Inaccurate time is usually caused by software, but some of the older models with the 6V batteries are more prone to time slowing down.

Clearing 96 8N1 (From Peter Wendt)

IBM wrote in the HMM "Remove the battery, then wait 5 minutes..." (HMM, September 1993, P/N 71G9316, page 300, "96 8N1 Error Message") but empirical research showed that this doesn't work fairly often.

Shortening the battery connectors (with the battery removed of course) *and* toggling the startup password jumper seems to be the only fast cure. There seems to be a board logic, that ANDs the two conditions after a power-on and deletes the entire setup from the CMOS.

At least during the "hot phase" when the Mod. 90s and 95s can be found in larger amounts at the customers this procedure was the only one that worked in a sufficiently fast way. And I had quite a lot 95s under service... (Some are mine now)

That worked any time I'd landed on the "ASCII-console mode" during fiddling with SOD- / bad-DMA platforms and Kingston Turbochips :-) Moving only the jumper or only isolating the battery often did *not* cure it. Which is slightly strange.

Password Jumper

It may be necessary to move the power-on password jumper (J16-8595 or J10 - 8590) to enable an IML to the reference diskette in drive a. Moving this jumper forces the stage 1 POST routine to branch to the diskette, rather than attempt to load stage 2 from the Fixed disk system partition. (A reference diskette must be present in the a: drive)

The Stage 2 POST code on the reference diskette is identical to the code loaded onto the system partition, Moving this jumper sets all default values, except ASCII terminal mode. It should be further noted, that moving the Power-On password jumper is effective for only 1 Power-On cycle because stage 1 POST tracks (records) the position of the jumper each time it is run.

Content created and/or collected by:
Louis Ohland, Peter Wendt, William Walsh, Kevin Bowling, Jim Shorney, Tim Clarke, David Beem, Tatsuo Sunagawa, Tomáš Slavotínek, and many others.

Ardent Tool of Capitalism - MAD Edition! is maintained by Tomáš Slavotínek.
Last update: 03 Mar 2021 - Changes & Credits | Legal Info & Contact