Troubleshooting, Maintaining & Repairing PCs
Stephen Bigelow
 $54.95  0-07-913732-6
Backward Forward
Chapter: 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53

Reserve your copy at a
Beta Bookstore near you!
Contact Bet@books
© 1998 The McGraw-Hill Companies, Inc. All rights reserved.
Any use of this Beta Book is subject to the rules stated in the Terms of Use.

CHAPTER 19

Error codes

In spite of the proliferation of diagnostics and test equipment in the PC industry, most computers are remarkably adept at testing their own hardware and reporting serious errors during start time. This is accomplished through the Power-On Self-Test (POST) written into BIOS. Since BIOS is written expressly for a particular processor, chipset, and other motherboard hardware, the BIOS is an ideal choice for startup diagnostics. However, startup diagnostics pose a unique problem - it’s hard to report an error when the system isn’t fully functional. BIOS reports POST errors through the use of audible signals (called beep codes) as well as through hexadecimal codes written to established I/O addresses (called POST codes). IBM has also established a standardized set of diagnostic codes for indicating system problems. This chapter explores the IBM diagnostic codes, then presents a compilation of beep and POST codes tracked down from just about every BIOS maker.

IBM diagnostic codes

IBM has taken an unusually thorough approach to diagnosing and reporting system errors through the use of their Advanced Diagnostics program (which can be purchased directly from IBM, but is available on many PS/2 reference disks). When the diagnostic is run, it will test and report on every possible sub-system - new or old - that may be in the PC. Unfortunately, IBM has never really done a very good job of documenting their vast array of codes. This section of the chapter is intended as a source of reference to assist you in interpreting these codes, and to help you select some repair alternatives.

Reading the codes

Diagnostic codes are split into two sections; the test code, and the fault code. The test code is simply the number that corresponds to the particular test being run. The fault code is a two-digit decimal number which corresponds to the specific type of error that is identified. A fault code of 00 indicates that NO problem was found. For example, the message "100" means that the motherboard was tested (01), and that no errors were detected (00) - thus "0100", or just "100". If a fault code appears other than 00, a problem has been detected which a technician will have to address. System initialization may or may not continue depending on the location and severity of the error. Table 19-1 provides a relatively comprehensive list of diagnostic codes for XT, AT, PS/2 systems.

Troubleshooting with diagnostic codes

Now that you have an idea of the diagnostic areas that are covered and error codes you can expect to see, you should have an understanding of how to deal with those errors when they occur. Generally speaking, a PC can be divided down into a motherboard, expansion boards, drives, and a power supply - each area can be considered as a replaceable module. When an error code is generated, you can match the code to its description in Table 19-1. The rule of thumb here is that you should replace the failed module. For example, if a video adapter fails, it should be replaced. If a motherboard fails, it should be replaced, if a hard drive fails, it should be replaced, and so on. The following notes will explain some of the finer points.

Motherboard notes - The motherboard manages virtually all of the PC's processing resources (i.e. DMAs, IRQs, memory, and so on). As a consequence, the motherboard is perhaps the most expensive module to replace. Before electing to replace the motherboard, be certain that the faulty component(s) can not be swapped out. For example, the CPU, BIOS ROM, math co-processor, expansion memory (SIMMs), RTC/CMOS IC, and CMOS backup battery are almost always socket mounted. In fact, when you purchase a new motherboard, it typically comes without those socket-mounted elements. If an error message indicates that the CPU has failed, try another CPU. If the math co-processor appears defective, try a new MCP. Of course, if the defective element is hard-soldered to the motherboard, you should probably go ahead and order another motherboard, then simply transfer any of the socket-mounted devices from the old motherboard.

Memory notes - Memory plays a vital role in every PC - the CPU is useless unless there is memory to hold data and program instructions. Since even one bad bit can cause an error that may crash a system, memory is perhaps the most thoroughly tested area of a computer. From a troubleshooting standpoint, memory can often be divided into two areas, the memory located on the motherboard, and the memory added in the form of SIMMs. When a failure occurs in a SIMM, it is a simple matter to locate and replace the SIMM. If the fault is on the motherboard, you are often faced with the prospect of replacing the defective RAM IC(s), or (more frequently) replacing the entire motherboard.

Keyboard notes - Not only is the keyboard the most popular and reliable input device for the PC, the keyboard controller IC is also in control of the A20 Gate which allows the CPU to enter its "protected-mode". While in the protected-mode, a CPU can address memory above 1MB. When a problem is detected in the keyboard assembly itself, it is usually a quick and easy process to replace the keyboard assembly. When a problem is located outside of the keyboard itself (or a protected-mode fault is found), the keyboard controller IC on the motherboard has probably failed. On some motherboards, the keyboard controller is mounted in an IC socket, and can be replaced easily. Where the keyboard controller is hard-soldered to the motherboard, it will probably be easiest to simply replace the motherboard outright.

Video notes - As you look over the error codes in Table 19-1, you may notice that there are sections dedicated to older video standards such as MDA and CGA. If you encounter a system with older video adapters that prove to be defective, it will be extremely difficult (if not impossible) to locate new replacement boards. As a result, you should expect to replace an older video board with one of the newer video adapters such as VGA or SVGA which offer backward compatibility to the older standards. Unfortunately, older video used TTL monitors, where VGA and SVGA adapters are designed for analog monitors. Keep in mind that It may be necessary to upgrade your customer's monitor as well as their video adapter.

Serial/parallel notes - Diagnostics typically attempt to test any serial or parallel ports that can be identified. In the early days of PCs, serial and parallel ports were typically added as expansion boards. When such add-on ports fail, it is a simple matter to replace the defective board. With most of today's systems, however, at least one serial and parallel port are integrated right on the motherboard. When these built-in ports check bad, there is often little that can be done other then replace the motherboard outright. Also, if an error code indicates a fault outside of the port circuit (i.e. the modem or printer), always try a new cable between the port and peripheral first. If a new cable does not correct the problem, try replacing the suspect peripheral. Also keep in mind that some test procedures require you to attach a loop-back plug (rather than connect a live peripheral).

Drive notes - Diagnostics typically check the complete suite of floppy drives, hard drives, and even CD-ROM drives. However, you must realize that a drive system includes not only the drive itself, but its controller board. When a drive problem is indicated, you should automatically inspect the signal and power cables at the drive. A loose power connector or frayed signal cable can easily disable the drive. If in doubt, try a new signal cable (much less expensive than replacing a drive).

Of course, if a new cable fails to correct the fault, you must decide whether the drive or controller has failed. Often, the diagnostic error code will pinpoint the fault to either the drive or controller circuit for you. If the drive has failed, replace the drive. If the controller has failed, things can get a bit more complicated. If the controller is implemented as an expansion board, it is easy enough to replace, but make sure that the new controller has any jumpers and DIP switches set similarly to the defective controller. If the controller is incorporated on the motherboard, you may find yourself replacing the entire motherboard.

Beep codes

When a fault is detected before the video system is initialized, errors are indicated with a series of beeps (or beep codes). Since each BIOS is a bit different, the accuracy, precision, and quality of error detection and reporting varies from BIOS to BIOS. While most POST routines today follow a remarkably similar pattern, the reporting style can vary greatly. Some routines (such as AMI) generate a continuous string of beeps, while other routines (such as Phoenix) create short beep sequences. This part of the chapter is intended to help you understand and interpret beep codes produced by major BIOS makers:

POST codes

During initialization, the POST performs a self-diagnostic routine designed to check key areas of the PC for major faults. When an error is detected early in the test cycle, you will probably hear a series of beep codes as described above. However, BIOS makers soon realized that most beep code sequences are not terribly specific, and a beep code can often represent any one of a number of possible failures. In order to make more specific information available to technicians, POST procedures are designed to output a single hexadecimal byte to I/O port 80h (or other suitable I/O address) as each step in the initialization is started or completed. If the PC should fail at any point during start-up, the code at port 80h represents the last step to be successfully completed. By knowing the full sequence of I/O POST codes generated by a BIOS, a technician can quickly determine the test step which failed - and thus pinpoint the fault with great accuracy. This part of the chapter presents the POST sequences for popular PC BIOS versions.

Companion CD: If you’re looking for a PC-based POST code reference, try the Post Code Master (PCM105.ZIP) on the Companion CD.

Interpreting the POST codes

When working with POST codes, it is important to understand that not all codes are the direct result of a test. Many codes simply indicate that a CPU is attempting to initialize various areas of the PC. These types of codes are known as checkpoints which simply show that certain initialization steps are being completed. Just because you see a hexadecimal code does not necessarily mean that anything has been tested.

Also remember that few listings of BIOS codes are actually complete. With the exception of publicly-available code lists (for the IBM PC, XT, and AT), most BIOS manufacturers have been unwilling to release the full context of their POST codes. As a result, POST code indexes such as those in this book are often compilations of data extracted from a number of different sources. If you encounter a POST code that is not covered in this book, your best course is usually to contact the BIOS manufacturer directly for specific details (and let Dynamic Learning Systems know so we can get it into the next update for this book).

Another area of confusion can arise when the POST process starts and ends. This can sometimes confuse a novice technician. When a system is first started with a POST board installed, the POST display is typically blank - this is normal for the initial moments after PC power is applied. After that, codes should begin flashing across the seven-segment LEDs. If the LEDs remain blank, you can assume that no data is reaching the card. In that event, make sure that your system produces POST codes (a few systems do NOT), and see that the board's I/O address is set properly (some systems use I/O ports other than 80h). After the POST is complete, a system will attempt to boot an operating system. Ordinarily, the last code on the display is 00h or FFh, so don't worry if either of these codes remains on the seven-segment display. In some cases - depending on the particular BIOS - some other code may be left in the display. If the system appears to boot normally, you rarely need to worry about this. Also keep in mind that not all tests are performed in numerical order. You will find that the POST code sequences in many of the following tables are a bit mixed, so look over each table carefully:

The POST board

Although virtually all current PC BIOS versions make use of port 80h, the port itself is merely a repository for that information. In order for you to read the contents of port 80h, you will need a POST board (such as the Micro2000 Post-Probe shown in Fig. 19-1) which should be installed in an open slot prior to troubleshooting, and then removed once troubleshooting is completed. Remember to turn the PC off before installing or removing a POST card. Essentially, the design of a POST board is quite simple. It reads the byte at the POST I/O port, and displays the hexadecimal code in the two seven-segment displays. However, many POST boards today provide a technician with a much more powerful troubleshooting tool. As an example, the Post-Probe supplies a series of LEDs which checks for main voltages (+12Vdc, -12Vdc, +5Vdc, and -5Vdc), and the presence of key signals on the expansion bus (i.e. address latch, I/O read, I/O write, memory read, memory write, system clock, and so on). Even an on-board logic probe attachment is provided.

I/O ports

While most traditional ISA-based PCs make use of port 80h, not all PCs follow this rule. The Compaq PC outputs codes to port 84h, and PS/2 models 25 and 30 send codes to port 90h. PS/2 model 20-286 sends codes to port 190h. Even most EISA-based PCs use port 80h, but Compaq PCs continue to use port 84h. EISA machines with Award BIOS use port 300h. Systems with a micro channel bus architecture (MCA) use port 680h. Take note that some PS/2 models, Olivetti, early AT&T, some NCR, and a few AT clones will send POST codes to a printer port at 3BCh, 278h, or 378h. The current generation of POST boards typically provides a DIP switch or jumper array for selecting the active port location. Before choosing a POST board, make sure that it can read the proper port address for your system.

Another issue to keep in mind is that not all PCs produce POST codes. The original IBM PC, the AMI XT, and some systems using HP, DTK, and ERSO BIOS do not send out POST codes during initialization. If you are testing such a system, you will be unable to see hexadecimal codes using the POST card (but power and signal indicators should still work).

Interpreting the LEDs

Before discussing the various POST codes in detail, you should have an understanding of the many discrete signal LEDs that accompany current POST boards. These individual signals can be a great asset when interpreted in conjunction with the POST code. Keep in mind that each POST card will offer a different selection of LEDs, so your own POST card may not have all of the indicators shown here:

Beep/POST troubleshooting

Generally speaking, a POST board is one of the best all-around PC hardware troubleshooting tools available. They are quick and easy to use, compatible across ISA, EISA, and MCA platforms, and even the simplest POST board can provide you with a remarkable insight into a system's operation. The trouble with POST boards is that every BIOS - although testing virtually the same functions - use varying codes are often cryptic and poorly documented (this chapter takes great pains to provide you with fairly comprehensive index of POST codes). Armed with the proper code list, a POST board can often pinpoint a fault to the exact IC. If not to the exact IC, then certainly to the major sub-assembly.

Symptom 19-1. The power and cooling fan(s) are on, but nothing else happens. You should first suspect that incoming AC power is very low, or that the power connector between the supply and motherboard has become loose or disconnected. Start by using a multimeter to check AC power available at the wall outlet. Use extreme caution to protect yourself from accidental electrocution. If the AC level is unusually low, try the PC in an outlet with an adequate voltage level. If the AC level is acceptable, check the power connector at the motherboard. Observe the power LEDs on the POST board. If one or more power LEDs is dim or absent, there may be a fault in the power supply. Troubleshoot or replace the supply.

Symptom 19-2. After power-up, you hear the fan change pitch noticeably (there may also be a chirping sound coming from the supply. First, be aware that some PCs use a variable-speed fan to optimize cooling. If you hear the fan pitch vary, you should make sure that this is abnormal for your particular system before pursuing a repair. If varying fan pitch is NOT correct for your system, the AC power level reaching the PC is probably low and allowing the power supply to drop out of regulation. Use a multimeter and check the AC level at the wall outlet. Use extreme caution to protect yourself from accidental electrocution. If the AC level is too low of unsteady, try the PC in a functional AC outlet. If AC levels measure correctly, check the power LEDs on your POST board. If one or more LEDs is dim or out (or if the supply is producing a "chirping" sound, the supply is probably defective. Troubleshoot or repair the power supply.

Symptom 19-3. You see one or more POST board power LEDs off, very dim, or flickering. Before suspecting a problem with the supply, try the POST board in a different socket - the expansion bus connector at that location may be bad. If the symptom persists (and the PC is behaving strangely), check the power connector between the supply and motherboard. If the connector is intact, the supply may be defective. Troubleshoot or replace the power supply.

Symptom 19-4. The Reset LED remains on (the POST display will probably remain blank). In most PC designs, the CPU is held in the reset state until a "power good" signal is received from the power supply. This typically requires no more than a few milliseconds. If the reset LED remains on longer than that, it may be held up by a problem with the "power good" signal. Use a logic probe (or probe that comes with the POST board) to check the "power good" signal. If the signal changes state as expected, the reset line may be shorted somewhere on the motherboard - try replacing the motherboard. If the signal does not change as expected, there may be a problem in the power supply. Try replacing the power supply.

Symptom 19-5. One or more activity LEDs is out (the POST display will probably remain blank). Most POST boards provide a selection of LEDs that are used to indicate signal activity on major bus lines. If one or more of these LEDs is out, there is probably a motherboard fault in the corresponding circuit:

Symptom 19-6. You hear a beep code pattern from the system speaker, but no POST codes are displayed. Any beep pattern other than a single short beep indicates a serious system problem, however, there may be several reasons why the POST board is not displaying POST codes. First, make sure that the BIOS for your system actually generates POST codes - most do, but a few do not. Also be sure that your POST board is set to read the proper I/O address which the codes are being written to. Many systems send codes to port 80h, but other ports such as 1080h, 680h, and 378h may be used. Configure the POST board to use the proper address. If problems persist, the BIOS itself may be defective. Try a different BIOS, or refer to Chapter 15 to troubleshoot the beep code.

Symptom 19-7. The POST display stops at some code (the system probably hangs up). The CPU and clock systems are probably working to fetch instructions from BIOS, but POST has detected a fault in the system. Use the table for your appropriate manufacturer in this chapter, and find the POST code's meaning. If the code refers to a fault on the motherboard, you can either attempt to replace the defective component, or replace the motherboard outright. If the code refers to an expansion device such as a drive or video adapter, take steps to replace the defective device.

Symptom 19-8. A POST or beep code indicates a video problem (there is no monitor display). Chances are that the system was unable to detect video ROM instructions or locate video memory. As a result, no display is available. Try a new video adapter board in the system. If the video adapter is located on the motherboard, try a new motherboard, or disable the motherboard video (usually with a jumper) and install an expansion video adapter.

Symptom 19-9. A POST or beep code indicates a drive or controller problem. Chances are that the video system is working. If possible, load the CMOS setup program and make sure that the drive selections entered are accurate for your system. An incorrect set of entries can disable your drives. Make sure that the drive being used is properly formatted and partitioned for your system. If the problem persists, either the drive or drive controller has failed. Start by trying an alternative drive controller. If the problem remains, try a new drive.

Further study

That finishes Chapter 19. Be sure to review the glossary and chapter questions on the accompanying CD. If you have access to the Internet, take a look at some of the diagnostic and information resources listed below:

Data Depot: http://www.datadepo.com

ForeFront: http://www.ffg.com

Micro2000: http://www.micro2000.com

Backward Forward
Chapter: 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53

Reserve your copy at a
Beta Bookstore near you!
Contact Bet@books
© 1998 The McGraw-Hill Companies, Inc. All rights reserved.
Any use of this Beta Book is subject to the rules stated in the Terms of Use.

Beta Books | Beta Bookstores | Computing McGraw-Hill

Professional Publishing Home | Contact Us | Customer Service | For Authors | International Offices | New Book Alert | Search Catalog/Order | Site Map | What's New


A Division of the McGraw-Hill Companies
Copyright © 1998 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use; the corporation also has a comprehensive Privacy Policy governing information we may collect from our customers.