Software and Hardware Diagnostic Tools
About Me
Favorite Links
Contact Me
Family Photo Album
Personal Computer Background
Communications and Networking
Overview of System Components
Software and Hardware Diagnostic Tools
The Power Supply
Video Display Hardware
Hard Disk Interfaces
Bus Slots and I/O Cards

Software and Hardware Diagnostic Tools

Software and Hardware Diagnostic Tools

Diagnostic software, the kind that comes with your computer as well as the types of available third-party software, is vitally important to you any time your computer malfunctions or you begin the process of upgrading a system component or adding a new device. Even when you attempt a simple procedure, such as adding a new adapter card, or begin the sometimes tedious process of troubleshooting a hardware problem that causes a system crash or lockup when you are working, you need to know more about your system than you can learn from the packing list sent with the system. Diagnostic software provides the portal through which you can examine your system hardware and the way your components are working.

This chapter describes three levels of diagnostic software (POST, system, and advanced) included with your computer or available from your computer manufacturer. The chapter describes how you can get the most from this software. It also details IBM's audio codes and error codes, which are similar to the error codes used by most computer manufacturers, and examines aftermarket diagnostics and public-domain diagnostic software.

Diagnostics Software

Several types of diagnostic software are available for PC-compatible systems. This software, some of which is included with the system when purchased, assists users in identifying many problems that can occur with a computer's components. In many cases, these programs can do most of the work in determining which PC component is defective. There are three programs that can help you locate a problem; each program is more complex and powerful than the one that precedes it. The diagnostic programs include the following:

  • POST. The Power-On Self Test operates whenever any PC is powered up.

  • Manufacturer supplied diagnostics software. Many of the larger manufacturers--especially high-end, name-brand manufacturers such as IBM, Compaq, Hewlett Packard, and others--have made special diagnostics software that is expressly designed for their systems. This manufacturer-specific software normally consists of a suite of tests that thoroughly examines the system. IBM's diagnostics software is on the reference disk for the PS/2 systems, and on an advanced diagnostics disk for their other systems. Both Compaq and Hewlett Packard also produced diagnostics designed for a technician to use in troubleshooting his or her respective systems. In some cases, however, the diagnostics are installed on a special partition on the hard drive and can be accessed during bootup. This is a convenient way for system manufacturers to make sure you always have diagnostics available.

  • Aftermarket diagnostics software. There are a number of manufacturers making general purpose diagnostics software for PC-compatible systems. This includes utilities--Symantec's Norton Utilities, Microscope by Micro 2000, Qa-Plus by Diagsoft, PC-Technician by Windsor Technologies, and others--that provide detailed diagnostics of any PC-compatible systems. This chapter also mentions software from numerous other companies.

Many computer operators use the first and last of these software systems to test and troubleshoot most systems--the POST tests and a third-party diagnostic package.

Manufacturer diagnostics can sometimes be expensive, but they are usually complete and work well with the systems they are designed for.

The Power-On Self Test (POST)

When IBM first began shipping the IBM PC in 1981, it included safety features that had never been seen in a personal computer. These features were the POST and parity-checked memory. The parity-checking feature is explained in Chapter 7 - Memory. The following provides much more detail on the POST, a series of program routines buried in the motherboard ROM-BIOS chip that tests all the main system components at power-on time. This program series causes the delay when you turn on an IBM-compatible system; the POST is executed before the computer loads the operating system.

What is Tested?

Whenever you start up your computer, it automatically performs a series of tests that check the primary components in your system. Items such as the CPU, ROM, motherboard support circuitry, memory, and major peripherals (such as an expansion chassis) are tested. These tests are brief and not very thorough compared with available disk-based diagnostics. The POST process provides error or warning messages whenever a faulty component is encountered.

Although the diagnostics performed by the system POST are not always very thorough, they are the first line of defense, especially in handling severe motherboard problems. If the POST encounters a problem severe enough to keep the system from operating properly, it halts bootup of the system and produces an error message that often leads you directly to the cause of the problem. Such POST-detected problems are sometimes called fatal errors. The POST tests normally provide three types of output messages: audio codes, display-screen messages, and hexadecimal numeric codes to an I/O port address.

POST Audio Error Codes

POST audio error codes usually are audio codes consisting of a number of beeps that identify the faulty component. If your computer is functioning normally, you hear one short beep when the system starts up. If a problem is detected, a different number of beeps sound--sometimes in a combination of short and long beeps. These BIOS-dependent codes can vary among different BIOS manufacturers. Table 20.1 lists the beep codes for IBM systems and the problem indicated by each series of beeps.

Table 20.1  IBM POST Audio Error Codes and Indicated Problem

Audio Code Sound Problem (Fault Domain)
1 short beep . Normal POST-system OK
2 short beeps . . POST error
No beep Power supply, system board
Continuous beep ___________ Power supply, system board
Repeating short beeps . . . . . . Power supply, system board
One long, one short beep - . System board
One long, two short beeps - . . Display adapter (MDA, CGA)
One long, three short beeps - . . . Enhanced Graphics Adapter (EGA)
Three long beeps - - - 3270 keyboard card

. = short beep
- = long beep

In Table 20.2, the Audio POST Codes are listed for AMI BIOS. Tables 20.3 and 20.4 list audio codes for Phoenix BIOS. You'll notice that both lists are far superior to the IBM fatal error codes.

Table 20.2  AMI BIOS Audio POST Codes

Beep Code Fatal Error
1 short DRAM refresh failure
2 short Parity circuit failure
3 short Base 64K RAM failure
4 short System timer failure
5 short Processor failure
6 short Keyboard controller Gate A20 error
7 short Virtual mode exception error
8 short Display memory Read/Write test failure
9 short ROM BIOS checksum failure
10 short CMOS Shutdown Read/Write error
11 short Cache Memory error
Beep Code Nonfatal Errors
1 long, 3 short Conventional/extended memory failure
1 long, 8 short Display/retrace test failed

Table 20.3  Phoenix BIOS Fatal System Board Errors

Beep Code Code at Port 80h Description
None 01h CPU register test in progress
1-1-3 02h CMOS write/read failure
1-1-4 03h ROM BIOS checksum failure
1-2-1 04h Programmable interval timer failure
1-2-2 05h DMA initialization failure
1-2-3 06h DMA page register write/read failure
1-3-1 08h RAM refresh verification failure
None 09h First 64K RAM test in progress
1-3-3 0Ah First 64K RAM chip or data line failure, multibit
1-3-4 0Bh First 64K RAM odd/even logic failure
1-4-1 0Ch Address line failure first 64K RAM
1-4-2 0Dh Parity failure first 64K RAM
2-1-1 10h Bit 0 first 64K RAM failure
2-1-2 11h Bit 1 first 64K RAM failure
2-1-3 12h Bit 2 first 64K RAM failure
2-1-4 13h Bit 3 first 64K RAM failure
2-2-1 14h Bit 4 first 64K RAM failure
2-2-2 15h Bit 5 first 64K RAM failure
2-2-3 16h Bit 6 first 64K RAM failure
2-2-4 17h Bit 7 first 64K RAM failure
2-3-1 18h Bit 8 first 64K RAM failure
2-3-2 19h Bit 9 first 64K RAM failure
2-3-3 1Ah Bit 10 first 64K RAM failure
2-3-4 1Bh Bit 11 first 64K RAM failure
2-4-1 1Ch Bit 12 first 64K RAM failure
2-4-2 1Dh Bit 13 first 64K RAM failure
2-4-3 1Eh Bit 14 first 64K RAM failure
2-4-4 1Fh Bit 15 first 64K RAM failure
3-1-1 20h Slave DMA register failure
3-1-2 21h Master DMA register failure
3-1-3 22h Master interrupt mask register failure
3-1-4 23h Slave interrupt mask register failure
None 25h Interrupt vector loading in progress
3-2-4 27h Keyboard controller test failure
None 28h CMOS power failure/checksum calculation in progress
None 29h Screen configuration validation in progress
3-3-4 2Bh Screen initialization failure
3-4-1 2Ch Screen retrace failure
3-4-2 2Dh Search for video ROM in progress
None 2Eh Screen running with video ROM
None 30h Screen operable
None 31h Monochrome monitor operable
None 32h Color monitor (40 column) operable
None 33h Color monitor (80 column) operable

Table 20.4 Nonfatal System Board Errors

Beep Code Code at Port 80h Description
4-2-1 34h Timer tick interrupt test in progress or failure
4-2-2 35h Shutdown test in progress or failure
4-2-3 36h Gate A20 failure
4-2-4 37h Unexpected interrupt in protected mode
4-3-1 38h RAM test in progress or address failure > FFFFh
4-3-3 3Ah Interval timer Channel 2 test or failure
4-3-4 3Bh Time-of-day clock test or failure
4-4-1 3Ch Serial port test or failure
4-4-2 3Dh Parallel port test or failure
4-4-3 3Eh Math coprocessor test or failure
Low 1-1-2 41h System board select failure
Low 1-1-3 42h Extended CMOS RAM failure

POST Visual Error Codes

On the XT, AT, PS/2, and most compatibles, the POST also displays on the system monitor the test of system memory. The last number displayed is the amount of memory that tested properly. For example, the system might display the following:

32768 KB OK

In most cases, the number displayed by the memory test should agree with the total amount of memory installed on your system motherboard, including conventional and extended memory. Some systems display a slightly lower total because they deduct all or part of the 384K of UMA (Upper Memory Area) from the count. The RAM on an expanded memory card is not tested by the POST and does not count in the numbers reported. However, if you are using an expanded memory driver, such as EMM386.EXE or Quarterdeck's QEMM, to configure extended memory installed on the motherboard as expanded, the POST executes before this driver is loaded so that all installed memory is counted. If the POST memory test stops short of the expected total, the number displayed often indicates how far into system memory a memory error lies. This number alone is a valuable troubleshooting aid.

If an error is detected during the POST procedures, an error message is displayed on-screen. These messages usually are in the form of a numeric code several digits long; for example:

1790-Disk 0 Error

The information in the hardware-maintenance service manual identifies the malfunctioning component.

I/O Port POST Codes

A lesser-known feature of the POST is that at the beginning of each POST, the BIOS sends test codes to a special I/O port address. These POST codes can be read only by a special adapter card plugged into one of the system slots. These cards originally were designed to be used by the system manufacturers for burn-in testing of the motherboard during system manufacturing without the need for a video display adapter or display. Several companies have made these cards available to technicians. Micro 2000, JDR Microdevices, Data Depot, Ultra-X, Quarterdeck, and Trinitech are just a few manufacturers of these POST cards.

When one of these adapter cards is plugged into a slot, during the POST you see two-digit hexadecimal numbers flash on a display on the card. If the system stops unexpectedly or hangs, you can just look at the two-digit display on the card for the code indicating the test in progress during the hang. This step usually identifies the failed part.

Most BIOS on the market in systems with an ISA or EISA bus output the POST codes to I/O port address 80h. Compaq is different: its systems send codes to port 84h. IBM PS/2 models with ISA bus slots, such as the Model 25 and 30, send codes to port 90h. Some EISA systems send codes to port 300h (most EISA systems also send the same codes to 80h). IBM MCA bus systems universally send codes to port 680h.

Several cards read only port address 80h. This port address is certainly the most commonly used and works in most situations, but those cards would not work in Compaq systems, some EISA systems, and IBM PS/2 systems. A POST card designed specifically for the PS/2 MCA bus needs to read only port address 680h because the card cannot be used in ISA or EISA bus systems anyway.

NOTE: With all these different addresses, make sure that the card you purchase reads the port addresses you need.

The two most common types of POST cards are those that plug into the 8-bit connector that is a part of the ISA or EISA bus, and those that plug into the MCA bus. Some companies offer both types of POST cards--one for MCA bus systems and one for ISA/EISA bus systems. Micro 2000 and Data Depot do not offer a separate MCA bus card; rather, they have slot adapters that enable their existing ISA bus cards to work in MCA bus systems as well as in ISA and EISA systems. Most other companies offer only ISA/EISA POST cards and ignore the MCA bus.

IBM Diagnostics

IBM systems usually have two levels of diagnostics software. One is a general-purpose diagnostics that is more user-oriented, and the other is a technician-level program that can be somewhat cryptic at times. Because the troubleshooting procedures for most newer systems are fairly simple, most people have no problems running the diagnostics software without any official documentation.

IBM Advanced Diagnostics

For technician-level diagnostics, IBM sells hardware-maintenance and service manuals for each system, which include the Advanced Diagnostics disks for that system. These disks contain the real diagnostics programs and, combined with the hardware-maintenance service manuals, represent the de facto standard diagnostics information and software for IBM and compatible systems. For PS/2 machines, IBM includes the Advanced Diagnostics on the Reference Disk that comes with the system; however, the instructions for using the diagnostics are still found in the service manuals available separately.

These programs produce error messages in the form of numbers you can use to identify the cause of a wide range of problems. The number codes used are the same as those used in the POST and general-diagnostics software. The meaning of the numbers is consistent across all IBM diagnostic programs. This section explores the advanced diagnostics and lists most of the known error-code meanings. IBM constantly adds to this error-code list as it introduces new equipment.

Using IBM Advanced Diagnostics

If you have a PS/2 system with the MCA (Micro Channel Architecture) bus slots (models produced later than the Models 25 to 40), you may already have IBM's Advanced Diagnostics, even if you don't know it. These diagnostics are usually hidden on the PS/2 Reference Disk. To access these diagnostics, boot the PS/2 Reference Disk. When the main menu is displayed, press Ctrl+A (for Advanced). The program changes to the Advanced Diagnostics menu. In some of the PS/2 systems, the Advanced Diagnostics were large enough to require a separate disk or disks.

Examining Error Codes

Most personal computer error codes for the POST, general diagnostics, and advanced diagnostics are represented by the display of the device number followed by two digits other than 00. When the tests display the device number plus the number 00, they indicate that a test was completed without an error being found.

The following list is a compilation from various sources including technical reference manuals, hardware-maintenance service manuals, and hardware-maintenance reference manuals. In each three-digit number, the first number indicates a device. The other two digits indicate the exact problem. For example, 7xx indicates the math coprocessor. A display of 700 means all is well. Any other number (701 to 799) indicates that the math coprocessor is bad or having problems. The last two digits (01 to 99) indicate what is wrong. Table 20.5 lists the basic error codes and their descriptions.

Table 20.5  Personal Computer Error Codes

Code Description
1xx System Board errors
2xx Memory (RAM) errors
3xx Keyboard errors
4xx Monochrome Display Adapter (MDA) errors
4xx PS/2 System Board Parallel Port errors
5xx Color Graphics Adapter (CGA) errors
6xx Floppy Drive/Controller errors
7xx Math Coprocessor errors
9xx Parallel Printer Adapter errors
10xx Alternate Parallel Printer Adapter errors
11xx Primary Async Communications (serial port COM1:) errors
12xx Alternate Async Communications (serial COM2:, COM3:, and COM4:)
13xx Game Control Adapter errors
14xx Matrix Printer errors
15xx Synchronous Data Link Control (SDLC) Communications Adapter errors
16xx Display Station Emulation Adapter (DSEA) errors (5520, 525x)
17xx ST-506/412 Fixed Disk and Controller errors
18xx I/O Expansion Unit errors
19xx 3270 PC Attachment Card errors
20xx Binary Synchronous Communications (BSC) Adapter errors
21xx Alternate Binary Synchronous Communications (BSC) Adapter errors
22xx Cluster Adapter errors
23xx Plasma Monitor Adapter errors
24xx Enhanced Graphics Adapter (EGA) errors
24xx PS/2 System Board Video Graphics Array (VGA) errors
25xx Alternate Enhanced Graphics Adapter (EGA) errors
26xx XT or AT/370 370-M (Memory) and 370-P (Processor) Adapter errors
27xx XT or AT/370 3277-EM (Emulation) Adapter errors
28xx 3278/79 Emulation Adapter or 3270 Connection Adapter errors
29xx Color/Graphics Printer errors
30xx Primary PC Network Adapter errors
31xx Secondary PC Network Adapter errors
32xx 3270 PC or AT Display and Programmed Symbols Adapter errors
33xx Compact Printer errors
35xx Enhanced Display Station Emulation Adapter (EDSEA) errors
36xx General Purpose Interface Bus (GPIB) Adapter errors
38xx Data Acquisition Adapter errors
39xx Professional Graphics Adapter (PGA) errors
44xx 5278 Display Attachment Unit and 5279 Display errors
45xx IEEE Interface Adapter (IEEE 488) errors
46xx A Real-Time Interface Coprocessor (ARTIC) Multiport/2 Adapter errors
48xx Internal Modem errors
49xx Alternate Internal Modem errors
50xx PC Convertible LCD errors
51xx PC Convertible Portable Printer errors
56xx Financial Communication System errors
70xx Phoenix BIOS/Chip Set Unique Error Codes
71xx Voice Communications Adapter (VCA) errors
73xx 3 1/2-inch External Disk Drive errors
74xx IBM PS/2 Display Adapter (VGA card) errors
74xx 8514/A Display Adapter errors
76xx 4216 PagePrinter Adapter errors
84xx PS/2 Speech Adapter errors
85xx 2M XMA Memory Adapter or Expanded Memory Adapter/A errors
86xx PS/2 Pointing Device (Mouse) errors
89xx Musical Instrument Digital Interface (MIDI) Adapter errors
91xx IBM 3363 Write-Once Read Multiple (WORM) Optical Drive/Adapter errors
096xxxx SCSI Adapter with Cache (32-bit) errors
100xx Multiprotocol Adapter/A errors
101xx 300/1200bps Internal Modem/A
104xx ESDI Fixed Disk or Adapter errors
107xx 5 1/4-inch External Disk Drive or Adapter errors
112xxxx SCSI Adapter (16-bit without Cache) errors
113xxxx System Board SCSI Adapter (16-bit) errors
129xx Model 70 Processor Board errors; Type 3 (25MHz) System Board
149xx P70/P75 Plasma Display and Adapter errors
165xx 6157 Streaming Tape Drive or Tape Attachment Adapter errors
166xx Primary Token Ring Network Adapter errors
167xx Alternate Token Ring Network Adapter errors
180xx PS/2 Wizard Adapter errors
194xx 80286 Memory Expansion Option Memory Module errors
208xxxx Unknown SCSI Device errors
209xxxx SCSI Removable Disk errors
210xxxx SCSI Fixed Disk errors
211xxxx SCSI Tape Drive errors
212xxxx SCSI Printer errors
213xxxx SCSI Processor errors
214xxxx SCSI Write-Once Read Multiple (WORM) Drive errors
215xxxx SCSI CD-ROM Drive errors
216xxxx SCSI Scanner errors
217xxxx SCSI Optical Memory errors
218xxxx SCSI Jukebox Changer errors
219xxxx SCSI Communications errors

Tables 20.6 and 20.7 list error codes that were documented or encountered for several BIOS manufacturers.

Table 20.6  Hewlett Packard 486/U POST Error Codes

Code Description
00Ax, 00Bx, 00Cx, 00Dx Adapter ROM (read-only memory) checksum error - check configuration
008x Video ROM (read-only memory) checksum error - check video ROM or adapter
009x Adapter ROM (read-only memory) checksum error in addresses between C8000h and CFFFFh - check configuration and adapter
0111x, 0120 CMOS real-time clock is not updating - check battery and system board
0130 CMOS real-time clock has invalid time and/or date - reset date and time
0240, 0241 CMOS memory information is incorrect - check the clear configuration switch on the system board; it should be OFF
0250 CMOS configuration does not match installed devices
0280, 0282 CMOS configuration information has been corrupted
02C0 EEPROM memory has not been set or was corrupted
0301, 0302, 0303, 0305, 0306, 0307, 0311, 0312, 03E0, 03E1, 03E2, 03E3, 03E4, 03E5, 03EE, 03EC System board keyboard/mouse controller did not respond
0342, 0343, 0344, 0345, 0346, 0350, 0351 System board keyboard/mouse controller self-test failure - check keyboard controller
0352, 0353 Keyboard not responding to POST tests - check cable and keyboard controller
0354 Keyboard self-test failure - check keyboard
03E6, 03E7, 03E8, 03E9 Mouse interface test failure - check mouse, cable, or keyboard/mouse controller
03EA, 03EB Keyboard/mouse reset failure - check mouse and cable
0401 Gate A20 failure - check keyboard/mouse controller (8042) on system board or the system board itself
0503, 0505 Serial port error or conflict - check system board or adapters
0543, 0545 Parallel port or configuration failure - check configuration, system board, or adapters
06xx Keyboard stuck key failure; xx = scan code (hex) of the key
1100, 1101 System timer failure - check system board
1300 Floppy controller conflict - check configuration
13x1 Adapter communications error; x = slot containing adapter (for example, 1351 = slot 5)
13x2 CMOS indicates a slot is empty, but a board is installed; x = slot
13x3 CMOS indicates a slot contains a board with no readable identification, but a board with a readable identification is present; x = slot
13x4 CMOS configuration information does not match the board in slot x, where x = slot
13x5 CMOS configuration information is incomplete
2002 SIMM not detected. Check SIMMs and system board
2003, 2005, 2007 Incorrect SIMM configuration; for example, when you have 2M and 8M memory modules installed at the same time, the 8M modules must be in the first sockets
21xx, 22xx DMA (Direct Memory Access) controller is not functioning correctly - check system board
4F0x SIMM error; x = SIMM socket (for example, 4F02 = socket 2)
61xx Memory addressing error - check installed SIMMs
62F0 Memory parity error - check SIMMs or system board
62F1 Memory controller error - check system board
6300 Adapter RAM error - check installed adapters and memory
6500 System board ROM BIOS shadowing error - check system board and setup for conflicts
6510 Video ROM shadowing error - check system board or video adapter
6520 Adapter ROM shadowing error - check system board adapters and memory
65C0, 65D0, 65E0 Reserved memory for shadowing failed tests; segment indicated by third digit (for example, 65D0 = segment D000h)
70xx, 71xx, 7400, 7500 Interrupt controller failure - check system board and adapters
8003, 8103 Hard disk configuration (number of sectors) is not correct
8004, 8104 CMOS hard disk parameters are not correct, where 8004 = drive C, and 8104 = drive D
8005, 8105 CMOS hard disk parameters not supported, where 8005 = drive C, and 8105 = drive D
8x06 BIOS shadow RAM on your system board must be functioning if you have either a hard disk drive type 33 or type 34 installed
8007, 8107 The number of hard disk drive cylinders specified for your type 33 or type 34 hard disk drive is not correct, where 8007 = drive C, and 8107 = drive D
800D, 8010, 800E, 800F Hard drive controller not responding - check controller or cables
8011 Hard disk test failure
8012, 8013 Hard disk controller test failure
8020, 8120 Hard drive not ready, where 8020 = drive C, and 8120 = drive D
8021, 8121 Unable to communicate with hard disk controller, where 8021 = drive C and 8121 = drive D is at fault
8028 Hard disk controller is configured for drive splitting, but splitting is not supported or is not functioning - check configuration
8030, 8130 Identify drive failure, where 8030 = drive C, and 8130 = drive D is at fault - check the EISA Configuration Manager Utility
8038, 8138, 803A, 813A, 803B, 813B 803C, 813C Hard disk (Recalibrate) error, where 8039, 803A, or 803C = hard disk or controller for drive C, and 8139, 8013A, or 813C = drive D or its controller is at fault
8040, 8140, 8041, 8141, 8042, 8142, 8043, 8143, 8044, 8144, 8045, 8145 Hard disk (Read Verify) command failure, where 804x = hard disk drive or controller for C, and 814x = hard drive or controller for D
8048, 8148, 804A, 814A Hard disk (Drive Identify) command failure, where 804x = drive C, and 814x = drive D
8049, 8149, 804B, 814B Hard disk (Set Multiple Mode) command failure, where 804x = drive C, and 814x = drive D
8400 No boot sector (or corrupted boot sector) on hard disk
900A, 910A, 920A CMOS floppy configuration does not match actual drives installed, where 900A = drive A, 910A = drive B, and 920A = a third floppy drive
9000, 9001, 9100, 9101, 9200, 9201 Floppy controller communication error, where 90xx = drive A, 91xx = drive B, and 92xx = a third floppy drive
9002, 9102, 9202 Floppy drive (Seek) error, where 90xx = drive A, 91xx = drive B, and 9202 = a third floppy drive
9003, 9103, 9203 Floppy drive (Recalibrate) error, where 90xx = drive A, 9103 = drive B, and 9203 = a third floppy drive
9005, 9105, 9205 Floppy drive (Reset) error, where 9005 = drive A, 9105 = drive as B, and 9205 = a third floppy drive
9008, 9108, 9208 Floppy drive command error, where 9008 = drive A, 9108 = drive B, and 9208 = a third floppy drive
9009, 9109, 9209 Floppy drive track zero error, where 9009 = drive A, 9109 = drive B, and 9209 = a third floppy drive
A001, A002, A003, A004, A005, A006, A007, A008, A009, A00A, A00B, A00C, A00D, A00E Math coprocessor failure
B300 CPU Level 2 cache failure
Exxx Memory board failure (non-HP)

Table 20.7  IBM POST and Diagnostics Error-Code List

Code Description
1xx System Board Errors
101 System board interrupt failure (unexpected interrupt)
102 System board timer failure
102 PS/2; real-time clock (RTC)/64-byte CMOS RAM test failure
103 System board timer interrupt failure
103 PS/2 2K CMOS RAM extension test failure
104 System board protected mode failure
105 System board 8042 keyboard controller command failure
106 System board converting logic test failure
107 System board Non-Maskable Interrupt (NMI) test failure; hot NMI
108 System board timer bus test failure
109 System board memory select error; low MB chip select test failed
110 PS/2 system board parity check error (PARITY CHECK 1)
111 PS/2 I/O channel (bus) parity check error (PARITY CHECK 2)
112 PS/2 Micro Channel Arbitration error; watchdog time-out (NMI error)
113 PS/2 Micro Channel Arbitration error; DMA arbitration time-out (NMI error)
114 PS/2 external ROM checksum error
115 Cache parity error, ROM checksum error, or DMA error
116 System board port read/write failure
118 System board parity or L2-cache error during previous power-on
119 "E" Step level 82077 (floppy controller) and 2.88M drive installed (not supported)
120 Microprocessor self-test error
121 256K ROM checksum error (second 128K bank)
121 Unexpected hardware interrupts occurred
131 PC system board cassette port wrap test failure
131 Direct memory access (DMA) compatibility registers error
132 Direct memory access (DMA) extended registers error
133 Direct memory access (DMA) verify logic error
134 Direct memory access (DMA) arbitration logic error
151 Battery or CMOS RAM failure
152 Real-time clock or CMOS RAM failure
160 PS/2 system board ID not recognized
161 CMOS configuration empty (dead battery)
162 CMOS checksum error or adapter ID mismatch
163 CMOS error; date and time not set (clock not updating)
164 Memory size error; CMOS setting does not match memory
165 PS/2 Micro Channel adapter ID and CMOS mismatch
166 PS/2 Micro Channel adapter time-out error (card busy)
167 PS/2 CMOS clock not updating
168 CMOS configuration error (math coprocessor)
169 System board and processor card configuration mismatch - run Setup
170 ASCII setup conflict error
170 PC Convertible; LCD not in use when suspended
171 Rolling-bit-test failure on CMOS shutdown address byte
171 PC Convertible; base 128K checksum failure
172 Rolling-bit-test failure on NVRAM diagnostic byte
172 PC Convertible; disk active when suspended
173 Bad CMOS/NVRAM checksum
173 PC Convertible; real-time clock RAM verification error
174 Bad configuration
174 PC Convertible; LCD configuration changed
175 Bad EEPROM CRC #1
175 PC Convertible; LCD alternate mode failed
176 Tamper evident
177 Bad PAP (Privileged-Access Password) CRC
177 Bad EEPROM
178 Bad EEPROM
179 NVRAM error log full
180x Sub Address data error, where x equals the slot number that caused the error
181 Unsupported configurations
182 Privileged-access switch (JMP2) is not in the write-enable position
183 PAP is needed to boot from the system programs
183 Privileged-access password required
184 Bad power-on password checksum--erase it
184 Bad power-on password
185 Bad startup sequence
186 Password-protection hardware error
187 Serial number error
188 Bad EEPROM checksum CRC #2
189 Excessive incorrect password attempts
191 82385 cache controller test failure
194 System board memory error
199 User indicated INSTALLED DEVICES list is not correct
2xx Memory (RAM) Errors
20x Memory error
201 Memory test failure; error location may be displayed
202 Memory address error; lines 00-15
203 Memory address error; lines 16-23 (ISA) or 16-31 (MCA)
204 Memory remapped due to error (run diagnostics again)
205 Base 128K memory error; memory remapped
207 ROM failure
210 System board memory parity error
211 PS/2 memory; base 64K on system board failed
212 Watchdog time-out error (reported by NMI interrupt handler)
213 DMA bus arbitration time-out (reported by NMI interrupt handler)
215 PS/2 memory; base 64K on daughter/SIP 2 failed
216 PS/2 memory; base 64K on daughter/SIP 1 failed
221 PS/2 memory; ROM to RAM copy failed (ROM shadowing)
225 PS/2 memory; wrong-speed memory on system board, unsupported SIMM
230 Overlapping adapter and planar memory (Family 1)
231 Non-contiguous adapter memory installed (Family 1)
231 2/4-16M Enhanced 386 memory adapter; memory module 1 failed
235 Stuck data line on memory module, microprocessor, or system board
241 2/4-16M Enhanced 386 memory adapter; memory module 2 failed
251 2/4-16M Enhanced 386 memory adapter; memory module 3 failed
3xx Keyboard Errors
301 Keyboard reset or stuck key failure (SS 301, SS = scan code in hex)
302 System unit keylock is locked
303 Keyboard-to-system board interface error; keyboard controller failure
304 Keyboard or system board error; keyboard clock high
305 Keyboard +5v dc error; PS/2 keyboard fuse (on system board) error
306 Unsupported keyboard attached
341 Keyboard error
342 Keyboard cable error
343 Keyboard LED card or cable failure
365 Keyboard LED card or cable failure
366 Keyboard interface cable failure
367 Keyboard LED card or cable failure
4xx Monochrome Display Adapter (MDA) Errors or PS/2 System Board Parallel Port Errors
401 Monochrome memory, horizontal sync frequency, or video test failure
401 PS/2 system board parallel port failure
408 User indicated display attributes failure
416 User indicated character set failure
424 User indicated 80525 mode failure
432 Parallel port test failure; Monochrome Display Adapter
5xx Color Graphics Adapter (CGA) Errors
501 CGA memory, horizontal sync frequency, or video test failure
503 CGA adapter controller failed
508 User indicated display attribute failure
516 User indicated character set failure
524 User indicated 80x25 mode failure
532 User indicated 40x25 mode failure
540 User indicated 320x200 graphics mode failure
548 User indicated 640x200 graphics mode failure
556 User indicated light-pen test failed
564 User indicated paging test failure
6xx Floppy Drive/Controller Errors
601 Floppy drive/controller Power-On Self Test failure; disk drive or controller error
602 Disk boot sector is not valid
603 Disk size error
604 Non-media sense
605 Disk drive locked
606 Disk verify test failure
607 Write protect error
608 Drive command error
610 Disk initialization failure; track 0 bad
611 Drive time-out error
612 Controller chip (NEC) error
613 Direct memory access (DMA) error
614 Direct memory access (DMA) boundary overrun error
615 Drive index timing error
616 Drive speed error
621 Drive seek error
622 Drive cyclic redundancy check (CRC) error
623 Sector not found error
624 Address mark error
625 Controller chip (NEC) seek error
626 Disk data compare error
627 Disk change error
628 Disk removed
630 Index stuck high; drive A
631 Index stuck low; drive A
632 Track 0 stuck off; drive A
633 Track 0 stuck on; drive A
640 Index stuck high; drive B
641 Index stuck low; drive B
642 Track 0 stuck off; drive B
643 Track 0 stuck on; drive B
645 No index pulse
646 Drive track 0 detection failed
647 No transitions on read data line
648 Format test failed
649 Incorrect media type in drive
650 Drive speed error
651 Format failure
652 Verify failure
653 Read failure
654 Write failure
655 Controller error
656 Drive failure
657 Write protect stuck protected
658 Changeline stuck changed
659 Write protect stuck unprotected
660 Changeline stuck unchanged
7xx Math Coprocessor Errors
701 Math coprocessor presence/initialization error
702 Exception errors test failure
703 Rounding test failure
704 Arithmetic test 1 failure
705 Arithmetic test 2 failure
706 Arithmetic test 3 (80387 only) failure
707 Combination test failure
708 Integer load/store test failure
709 Equivalent expressions errors
710 Exception (interrupt) errors
711 Save state (FSAVE) errors
712 Protected mode test failure
713 Special test (voltage/temperature sensitivity) failure
9xx Parallel Printer Adapter Errors
901 Printer adapter data register latch error
902 Printer adapter control register latch error
903 Printer adapter register address decode error
904 Printer adapter address decode error
910 Status line(s) wrap connector error
911 Status line bit 8 wrap error
912 Status line bit 7 wrap error
913 Status line bit 6 wrap error
914 Status line bit 5 wrap error
915 Status line bit 4 wrap error
916 Printer adapter interrupt wrap error
917 Unexpected printer adapter interrupt
92x Feature register error
10xx Alternate Parallel Printer Adapter Errors
1001 Printer adapter data register latch error
1002 Printer adapter control register latch error
1003 Printer adapter register address decode error
1004 Printer adapter address decode error
1010 Status line(s) wrap connector error
1011 Status line bit 8 wrap error
1012 Status line bit 7 wrap error
1013 Status line bit 6 wrap error
1014 Status line bit 5 wrap error
1015 Status line bit 4 wrap error
1016 Printer adapter interrupt wrap error
1017 Unexpected printer adapter interrupt
102x Feature register error
11xx Primary Async Communications (Serial COM1:) Errors
1101 16450/16550 chip error; serial port A error
1102 Card selected feedback error
1102 PC Convertible internal modem test failed
1103 Port 102h register test failure
1103 PC Convertible internal modem dial tone test 1 failed
1104 PC Convertible internal modem dial tone test 2 failed
1106 Serial option cannot be put to sleep
1107 Cable error
1108 Interrupt request (IRQ) 3 error
1109 Interrupt request (IRQ) 4 error
1110 16450/16550 chip register failure
1111 Internal wrap test of 16450/16550 chip modem control line failure
1112 External wrap test of 16450/16550 chip modem control line failure
1113 16450/16550 chip transmit error
1114 16450/16550 chip receive error
1115 16450/16550 chip receive error; data not equal to transmit data
1116 16450/16550 chip interrupt function error
1117 16450/16550 chip baud rate test failure
1118 16450/16550 chip receive external data wrap test failure
1119 16550 chip first-in first-out (FIFO) buffer failure
1120 Interrupt enable register error; all bits cannot be set
1121 Interrupt enable register error; all bits cannot be reset
1122 Interrupt pending; stuck on
1123 Interrupt ID register; stuck on
1124 Modem control register error; all bits cannot be set
1125 Modem control register error; all bits cannot be reset
1126 Modem status register error; all bits cannot be set
1127 Modem status register error; all bits cannot be reset
1128 Interrupt ID error
1129 Cannot force overrun error
1130 No modem status interrupt
1131 Invalid interrupt pending
1132 No data ready
1133 No data available interrupt
1134 No transmit holding interrupt
1135 No interrupts
1136 No received sine status interrupt
1137 No received data available
1138 Transmit holding register not empty
1139 No modem status interrupt
1140 Transmit holding register not empty
1141 No interrupts
1142 No interrupt 4
1143 No interrupt 3
1144 No data transferred
1145 Maximum baud rate error
1146 Minimum baud rate error
1148 Time-out error
1149 Invalid data returned
1150 Modem status register error
1151 No data set ready and delta data set ready
1152 No data set ready
1153 No delta data set ready
1154 Modem status register not clear
1155 No clear to send and delta clear to send
1156 No clear to send
1157 No delta clear to send
12xx Alternate Async Communications (Serial COM2:, COM3:, and COM4:) Errors
1201 16450/16550 chip error
1202 Card selected feedback error
1203 Port 102h register test failure
1206 Serial option cannot be put to sleep
1207 Cable error
1208 Interrupt request (IRQ) 3 error
1209 Interrupt request (IRQ) 4 error
1210 16450/16550 chip register failure
1211 Internal wrap test of 16450/16550 chip modem control line failure
1212 External wrap test of 16450/16550 chip modem control line failure
1213 16450/16550 chip transmit error
1214 16450/16550 chip receive error
1215 16450/16550 chip receive error; data not equal to transmit data
1216 16450/16550 chip interrupt function error
1217 16450/16550 chip baud rate test failure
1218 16450/16550 chip receive external data wrap test failure
1219 16550 chip first-in first-out (FIFO) buffer failure
1220 Interrupt enable register error; all bits cannot be set
1221 Interrupt enable register error; all bits cannot be reset
1222 Interrupt pending; stuck on
1223 Interrupt ID register; stuck on
1224 Modem control register error; all bits cannot be set
1225 Modem control register error; all bits cannot be reset
1226 Modem status register error; all bits cannot be set
1227 Modem Status Register error; all bits cannot be reset
1228 Interrupt ID error
1229 Cannot force overrun error
1230 No modem status interrupt
1231 Invalid interrupt pending
1232 No data ready
1233 No data available interrupt
1234 No transmit holding interrupt
1235 No interrupts
1236 No received sine status interrupt
1237 No receive data available
1238 Transmit holding register not empty
1239 No modem status interrupt
1240 Transmit holding register not empty
1241 No interrupts
1242 No interrupt 4
1243 No interrupt 3
1244 No data transferred
1245 Maximum baud rate error
1246 Minimum baud rate error
1248 Time-out error
1249 Invalid data returned
1250 Modem status register error
1251 No data set ready and delta data set ready
1252 No data set ready
1253 No delta data set ready
1254 Modem status register not clear
1255 No clear to send and delta clear to send
1256 No clear to send
1257 No delta clear to send
13xx Game Control Adapter Errors
1301 Game control adapter test failure
1302 Joystick test failure
17xx ST-506/412 Fixed Disk and Controller Errors
1701 Fixed disk general POST error
1702 Drive/controller time-out error
1703 Drive seek error
1704 Controller failed
1705 Drive sector not found error
1706 Write fault error
1707 Drive track 0 error
1708 Head select error
1709 Error-correction code (ECC) error
1710 Sector buffer overrun
1711 Bad address mark
1712 Internal controller diagnostics failure
1713 Data compare error
1714 Drive not ready
1715 Track 0 indicator failure
1716 Diagnostics cylinder errors
1717 Surface read errors
1718 Hard drive type error
1720 Bad diagnostics cylinder
1726 Data compare error
1730 Controller error
1731 Controller error
1732 Controller error
1733 BIOS undefined error return
1735 Bad command error
1736 Data corrected error
1737 Bad track error
1738 Bad sector error
1739 Bad initialization error
1740 Bad sense error
1750 Drive verify failure
1751 Drive read failure
1752 Drive write failure
1753 Drive random read test failure
1754 Drive seek test failure
1755 Controller failure
1756 Controller error-correction code (ECC) test failure
1757 Controller head-select failure
1780 Seek failure; drive 0
1781 Seek failure; drive 1
1782 Controller test failure
1790 Diagnostic cylinder read error; drive 0
1791 Diagnostic cylinder read error; drive 1
24xx Enhanced Graphics Adapter (EGA) or Video Graphics Array (VGA) Errors
2401 Video adapter test failure
2402 Video display error
2408 User indicated display attribute test failed
2409 Video display error
2410 Video adapter error; video port error
2416 User indicated character set test failed
2424 User indicated 80x25 mode failure
2432 User indicated 40x25 mode failure
2440 User indicated 320x200 graphics mode failure
2448 User indicated 640x200 graphics mode failure
2456 User indicated light-pen test failure
2464 User indicated paging test failure
25xx Alternate Enhanced Graphics Adapter (EGA) Errors
26xx XT or AT/370 370-M (Memory) and 370-P (Processor) Adapter Errors
27xx XT or AT/370 3277-EM (Emulation) Adapter Errors
28xx 3278/79 Emulation Adapter or 3270 Connection Adapter Errors
29xx Color/Graphics Printer Errors
30xx Primary PC Network Adapter Errors
3001 Processor test failure
3002 ROM checksum test failure
3003 Unit ID PROM test failure
3004 RAM test failure
3005 Host interface controller test failure
3006 [p/m]12v test failure
3007 Digital loopback test failure
3008 Host detected host interface controller failure
3009 Sync failure and no Go bit
3010 Host interface controller test OK and no Go bit
3011 Go bit and no command 41
3012 Card not present
3013 Digital failure; fall through
3015 Analog failure
3041 Hot carrier; not this card
3042 Hot carrier; this card
31xx Secondary PC Network Adapter Errors
3101 Processor test failure
3102 ROM checksum test failure
3103 Unit ID PROM test failure
3104 RAM test failure
3105 Host interface controller test failure
3106 [p/m]12v test failure
3107 Digital loopback test failure
3108 Host detected host interface controller failure
3109 Sync failure and no Go bit
3110 Host interface controller test OK and no Go bit
3111 Go bit and no command 41
3112 Card not present
3113 Digital failure; fall through
3115 Analog failure
3141 Hot carrier; not this card
3142 Hot carrier; this card
32xx 3270 PC or AT Display and Programmed Symbols Adapter Errors
33xx Compact Printer Errors
35xx Enhanced Display Station Emulation Adapter (EDSEA) Errors
36xx General-Purpose Interface Bus (GPIB) Adapter Errors
37xx System Board SCSI Controller Error
38xx Data Acquisition Adapter Errors
39xx Professional Graphics Adapter (PGA) Errors
44xx 5278 Display Attachment Unit and 5279 Display Errors
45xx IEEE Interface Adapter (IEEE 488) Errors
46xx A Real-Time Interface Coprocessor (ARTIC) Multiport/2 Adapter Errors
48xx Internal Modem Errors
49xx Alternate Internal Modem Errors
50xx PC Convertible LCD Errors
51xx PC Convertible Portable Printer Errors
56xx Financial Communication System Errors
70xx Phoenix BIOS/Chipset Unique Error Codes
7000 Chipset CMOS failure
7001 Chipset shadow RAM failure
7002 Chipset CMOS configuration error
71xx Voice Communications Adapter (VCA) Errors
73xx 3 1/2-Inch External Disk Drive Errors
74xx IBM PS/2 Display Adapter (VGA Card) Errors
74xx 8514/A Display Adapter Errors
76xx 4216 PagePrinter Adapter Errors
84xx PS/2 Speech Adapter Errors
85xx 2MB XMA Memory Adapter or XMA Adapter/A Errors
86xx PS/2 Pointing Device (Mouse) Errors
89xx Musical Instrument Digital Interface (MIDI) Adapter Errors
91xx IBM 3363 Write-Once Read Multiple (WORM) Optical Drive/Adapter Errors
96xx SCSI Adapter with Cache (32-Bit) Errors
100xx Multiprotocol Adapter/A Errors
101xx 300/1200bps Internal Modem/A Errors
104xx ESDI or MCA IDE Fixed Disk or Adapter Errors
107xx 5 1/4-Inch External Disk Drive or Adapter Errors
112xx SCSI Adapter (16-bit without Cache) Errors
113xx System Board SCSI Adapter (16-Bit) Errors
129xx Processor Complex (CPU Board) Errors
149xx P70/P75 Plasma Display and Adapter Errors
152xx XGA Display Adapter/A Errors
164xx 120M Internal Tape Drive Errors
165xx 6157 Streaming Tape Drive or Tape Attachment Adapter Errors
16520 Streaming tape drive failure
16540 Tape attachment adapter failure
166xx Primary Token Ring Network Adapter Errors
167xx Alternate Token Ring Network Adapter Errors
180xx PS/2 Wizard Adapter Errors
185xx DBCS Japanese Display Adapter/A Errors
194xx 80286 Memory-Expansion Option Memory-Module Errors
200xx Image Adapter/A Errors
208xx Unknown SCSI Device Errors
209xx SCSI Removable Disk Errors
210xx SCSI Fixed Disk Errors
210PLSC "PLSC" codes indicate errors
P = SCSI ID number (Physical Unit Number, or PUN)
L = Logical unit number (LUN, usually 0)
S = Host Adapter slot number
C = SCSI Drive capacity:
A = 60M
B = 80M
C = 120M
D = 160M
E = 320M
F = 400M
H = 1,024M (1G)
I = 104M
J = 212M
U = Undetermined or Non-IBM OEM Drive
211xx SCSI Tape Drive Errors
212xx SCSI Printer Errors
213xx SCSI Processor Errors
214xx SCSI Write-Once Read Multiple (WORM) Drive Errors
215xx SCSI CD-ROM Drive Errors
216xx SCSI Scanner Errors
217xx SCSI Magneto Optical Drive Errors
218xx SCSI Jukebox Changer Errors
219xx SCSI Communications Errors
243xxxx XGA-2 Adapter/A Errors
I998xxxx Dynamic Configuration Select (DCS) Information Codes
I99900xx Initial Microcode Load (IML) Error
I99903xx No Bootable Device, Initial Program Load (IPL) Errors
I99904xx IML-to-System Mismatch
I99906xx IML Errors

General-Purpose Diagnostics Programs

A large number of third-party diagnostics programs are available for PC-compatible systems. Specific programs are available also to test memory, floppy drives, hard disks, video boards, and most other areas of the system. Although some of these utility packages should be considered essential in any tool kit, many fall short of the level needed by professional-level troubleshooters. Many products, geared more toward end users, lack the accuracy, features, and capabilities needed by technically proficient people who are serious about troubleshooting. Most of the better diagnostics on the market offer several advantages over the IBM diagnostics. They usually are better at determining where a problem lies within a system, especially in IBM-compatible systems. Serial- and parallel-port loopback connectors, or wrap plugs, are often included in these packages, or are available for a separate charge. The plugs are required to properly diagnose and test serial and parallel ports.

Many of these programs can be run in a batch mode, which enables a series of tests to be run from the command line without operator intervention. You then can set up automated test suites, which can be especially useful in burning in a system or executing the same tests on many systems.

These programs test all types of memory, including conventional (base) memory, extended memory, and expanded memory. Failures can usually be identified down to the individual chip or SIMM (bank and bit) level.

TIP: Before trying a commercial diagnostic program to solve your problem, look in your operating system. Most newer operating systems provide at least some of the diagnostic functions that diagnostic programs do. You may be able to save some time and money. Operating system-based diagnostics are covered in Chapter 21 - Operating Systems Software and Troubleshooting.

Unfortunately, there is no clear leader in the area of diagnostic software. Each program presented here has unique advantages. As a result, no program is universally better than another. When deciding which diagnostic programs, if any, to include in your arsenal, look for the features that you need.


AMI (American Megatrends, Inc.) makes very popular PC ROM BIOS software. The AMI BIOS can be found on the majority of newer IBM compatible systems. If you have seen the AMI BIOS, you know that most versions have a built-in diagnostic program.

AMIDiag, as the program is called, has numerous features and enhancements not found in the simpler ROM version. AMIDiag is a comprehensive, general purpose diagnostic that is designed for any IBM compatible system, not just those with an AMI ROM BIOS.

Checkit Pro

Touchstone Software Corporation's Checkit products offer an excellent suite of testing capabilities, including tests of the system CPU; conventional, extended, and expanded memory; hard and floppy drives; and video card and monitor (including VESA-Standard cards and monitors, mouse, and keyboard). Checkit Pro Analyst for Windows performs Windows-based diagnostics. Checkit Plus, included by some system manufacturers with their systems, is less complete.

Checkit Pro Deluxe provides limited benchmarking capabilities but gives detailed information about your system hardware such as the following: total installed memory, hard drive type and size, current memory allocation (including upper memory usage), IRQ availability and usage, modem/fax modem speed, and a variety of other tests important to someone troubleshooting a PC. Checkit Pro Deluxe includes a text-editing module that opens automatically to CONFIG.SYS and AUTOEXEC.BAT. If you use Windows, Checkit Pro's Windows option makes it easy to edit your Windows system files.

Some of the testing performed by Checkit Pro is uncommon for diagnostic utility packages (for example, its capability to test modem/fax settings).


Microscope by Micro 2000 is a full-featured, general purpose diagnostic program for IBM compatible systems. It has many features and capabilities that can be very helpful in troubleshooting or diagnosing hardware problems.

The Microscope package is one of only a few diagnostics packages that are truly PS/2 aware. Microscope not only helps you troubleshoot PS/2 systems, but also does some things that even IBM advanced diagnostics cannot do. For example, it can format industry-standard ESDI hard disk drives attached to the IBM PS/2 ESDI controller. When you attach an ESDI drive to the IBM ESDI controller, the BIOS on the controller queries the drive for its capacity and defect map information. IBM apparently chose a proprietary format for this information on its drives; if the controller cannot read the information, you cannot set up the drive nor format it by using the PS/2 Reference Disk.

Although IBM used an ESDI controller in its PS/2 system, you could not get just any ESDI drive to work on that system. Some drive manufacturers produced special PS/2 versions of their drives that had this information on them. Another way around the problem was to use an aftermarket ESDI controller in place of the IBM controller so that you could use the IBM ESDI drive as well as any other industry-standard ESDI drive. With this method, however, you could not use the Reference Disk format program anymore because it works only with IBM's controller. Microscope solves many of these problems because it can format an industry-standard ESDI drive attached to the IBM ESDI controller and save you from having to install an aftermarket controller or a special drive when you add drives to these systems.

Microscope also has a hardware interrupt and I/O port address check feature that is more accurate than the same feature in most other software. It enables you to accurately identify the interrupt or I/O port address that a certain adapter or hardware device in your system is using--a valuable capability in solving conflicts between adapters. Some user-level diagnostics programs have this feature, but the information they report can be grossly inaccurate, and they often miss items installed in the system. Microscope goes around DOS and the BIOS. Because the program has its own operating system and its tests bypass the ROM BIOS when necessary, it can eliminate the masking that occurs with these elements in the way. For this reason, the program also is useful for technicians who support PCs that run under non-DOS environments, such as UNIX or on Novell file servers. For convenience, you can install Microscope on a hard disk and run it under regular DOS.

Norton Utilities Diagnostics

When you consider that Norton Diagnostics (NDIAGS) comes with the Norton Utilities, and that Norton Utilities is already an essential collection of system data safeguarding, troubleshooting, testing, and repairing utilities, NDIAGS probably is one of the best values in diagnostic programs.

If you don't already have Norton Utilities, you'll want to strongly consider this package, not only for NDIAGS, but also for enhancements to other utilities such as Speedisk, Disk Doctor, and Calibrate. These three hard drive utilities basically represent the state of the art in hard drive diagnostics and software-level repair. SYSINFO still handles benchmarking for the Norton Utilities, and it does as good a job as any other diagnostic package on the market.

NDIAGS adds diagnostic capabilities that previously were not provided by the Norton Utilities, including comprehensive information about the overall hardware configuration of your system--the CPU, system BIOS, math coprocessor, video adapter, keyboard and mouse type, hard and floppy drive types, amount of installed memory (including extended and expanded), bus type, and the number of serial and parallel ports. Unlike some other programs, loopback plugs do not come in the box for NDIAGS, but a coupon is included that enables you to get loopback plugs free. Note that this program uses wrap plugs that are wired slightly different than what has been commonly used by others. The different wiring allows you to run some additional tests. Fortunately, the documentation includes a diagram for these plugs, allowing you to make your own if you desire.

NDIAGS thoroughly tests the major system components and enables you to check minor details such as the NumLock, CapsLock, and ScrollLock LEDs on your keyboard. NDIAGS also provides an on-screen grid you can use to center the image on your monitor and test for various kinds of distortion that may indicate a faulty monitor.

PC Technician

PC Technician by Windsor Technologies is a full-featured comprehensive hardware diagnostic and troubleshooting tool, and tests all major areas of a system. Like several of the other more capable programs, PC Technician has its own operating system that isolates it from problems caused by software conflicts. The program is written in assembly language and has direct access to the hardware in the system for testing. This program also includes all the wrap plugs needed for testing serial and parallel ports.

PC Technician has long been a favorite with field service companies, who equip their technicians with the product for troubleshooting. This program was designed for the professional service technician; however, it is easy for the amateur to use.


QAPlus/FE by Diagsoft is one of the most advanced and comprehensive sets of diagnostics. Its testing is extremely thorough, and its menu-based interface makes it downright easy to use, even for someone who is not particularly well-versed in diagnosing problems with personal computers. QAPlus/FE also includes some of the most accurate system benchmarks you can get, which can be used to find out if that new system you are thinking of buying is really all that much faster than the one you already have. More importantly, QAPlus/FE comes on bootable 3 1/2- and 5 1/4-inch disks that (regardless of whether your operating system is DOS, OS/2, Windows, or UNIX) can be used to start your system when problems are so severe that your system hardware cannot even find the hard drive. You also can install QAPlus/FE on your hard drive if you are using DOS 3.2 or later.

QAPlus/FE can be used to test your motherboard, system RAM (conventional, extended, and expanded), video adapter, hard drive, floppy drives, CD-ROM drive, mouse, keyboard, printer, and parallel and serial ports (the QAPlus/FE package includes loopback plugs for full testing of these ports). It also provides exhaustive information on your system configuration, including the hardware installed on your system, its CPU, and the total amount of RAM installed on your system. It provides full interrupt mapping--crucial when installing new adapter boards and other hardware devices--and gives you a full picture of the device drivers and memory resident programs loaded and the system memory use.

QAPlus/FE also includes various other utilities that are more likely to appeal to the serious PC troubleshooter than to the average PC user. These special capabilities include a CMOS editor that can be used to change system date and time, as well as the hard drive type; installed memory size and other CMOS information; a COM port debugger; a hard drive test and low-level formatting utility; a floppy drive test utility; and a configuration file editor that can be used to edit system files, a remote system communication host program that enables service people with the full remote package to operate your computer via modem, as well as other text files.

Unlike some diagnostics programs, QAPlus/FE has a system burn-in capability, meaning it can be used to run your system non-stop under a full load of computations and hardware activity for the purpose of determining whether any system component is likely to fail in real life use. Many people use a burn-in utility when they receive a new system, and then again just before the warranty runs out. A true system burn-in usually lasts 48 to 72 hours, or even longer. The amount of time QAPlus/FE can burn-in a system is user-configurable by setting the number of times the selected tests are to be run.

Disk Diagnostics

All the general-purpose diagnostics programs can test both floppy and hard disk drives. However, because these programs are general-purpose in nature, the drive tests are not always as complete as one would like. For this reason, there are a number of specific programs designed expressly for performing diagnostics and servicing on disk drives. The following section discusses some of the best disk diagnostic and testing programs and what they can do for you.

Drive Probe

Many disk diagnostics programs evaluate the condition of floppy disk drives by using a disk created or formatted on the same drive. A program that uses this technique cannot make a proper evaluation of a disk drive's alignment. A specially-created disk produced by a tested and calibrated machine is required. This type of disk can be used as a reference standard by which to judge a drive. Accurite, the primary manufacturer of such reference standard floppy disks, helps specify floppy disk industry standards. Accurite produces the following three main types of reference standard disks used for testing drive function and alignment:

  • Digital Diagnostic Disk (DDD)

  • Analog Alignment Disk (AAD)

  • High-Resolution Diagnostic Disk (HRD)

The HRD disk, introduced in 1989, represented a breakthrough in floppy disk drive testing and alignment. The disk is accurate to within 50-inches (millionths of an inch), accurate enough to use not only for precise testing of floppy drives, but also for aligning drives. With software that uses this HRD disk, you can align a floppy drive without having to use special tools or an oscilloscope. Other than the program and the HRD disk, you need only an IBM-compatible system to which to connect the drive. This product has lowered significantly the cost of aligning a drive and has eliminated much hassling with special test equipment.

The Accurite program Drive Probe is designed to work with the HRD disks (also from Accurite). Until other programs utilize the HRD disks for testing, Drive Probe software is a good choice for floppy disk testing. Because the Drive Probe software also acts as a disk exerciser, for use with AAD disks and an oscilloscope, you can move the heads to specific tracks for controlled testing.

Disk Manager

Disk Manager by Ontrack works with practically every hard disk and controller, including the newer SCSI and IDE types.

NOTE: Disk Manager unfortunately got the nickname "disk mangler" in its earlier versions because of bugs and system incompatibilities. While those problems have been long since removed, some technicians refuse to use it.

The Disk Manager program allows testing of the controller as well as the drive. Read-only testing may be performed as well as read/write tests. One of the best features is the comprehensive low-level formatting capability, which enables a user to set not only interleave but skew factors as well. The low-level format portion is also capable of truly formatting most IDE drives, a feature that few other programs have.

If you do any testing and formatting of hard disks, this program should be in your utility library. For more information about Disk Manager, see Chapter 14 - Hard Disk Drives and Controllers.

Data Recovery Utilities

There are several programs designed for data recovery rather than just hardware troubleshooting and repair. These data recovery programs can troubleshoot and repair disk formatting structures (boot sectors, file allocation tables, directories) as well as files and file structures (database files, spreadsheet files, and so on).

The Norton Utilities by Symantec stands as perhaps the premier data recovery package. This package is very comprehensive and will automatically repair most types of disk problems.

What really makes this package stand out is the fantastic Disk Editor program, which is capable of editing disks at the sector level. The Disk Editor included with the Norton Utilities can give the professional PC troubleshooter or repairperson the ability to work directly with any sector on the disk. Unfortunately, this does require extensive knowledge of sector formats and disk structures. The documentation with the package is excellent and can be very helpful if you are learning data recovery on your own.

NOTE: Data recovery is a lucrative service that the more advanced technician can provide. People are willing to pay much more to get their data back than to simply replace a hard drive.

For more automatic recovery that anybody can perform, Norton Utilities has several other useful modules. Disk Doctor and Calibrate are two of the modules included with the Norton Utilities version 8.0 and later. Together, these two utilities provide exhaustive testing of the data structures and sectors of a hard drive. Disk Doctor works with both hard disks and floppies and tests the capability of the drive to work with the system in which it is installed, including the drive's boot sector, file allocation tables (FATs), file structure, and data areas. Calibrate, which is used for the most intensive testing of the data area of a drive, also tests the hard drive controller electronics.

Calibrate also can be used to perform deep-pattern testing of IDE, SCSI, and ST-506/412-interface drives, writing literally millions of bytes of data to every sector of the drive to see whether it can properly retain data; moving data if the sector where it is stored is flawed; and marking the sector as bad in the FAT.

NOTE: A stand-alone product called SpinRite, performs many of the same features as Calibrate, including re-interleaving drive sectors, and it is widely regarded as the best program for re-interleaving drives. However, the need for Calibrate and SpinRite has greatly diminished as controllers have become quicker and drives have had their low-level formats performed at the factory at optimum settings.

Due to the excellent Disk Editor, anybody serious about data recovery needs a copy of Norton Utilities. The many other modules that are included are excellent as well, and the newer versions also include NDIAGS, which is a comprehensive PC hardware diagnostic.

Shareware and Public-Domain Diagnostics

Many excellent public-domain diagnostic programs are available, including programs for diagnosing problems with memory, hard disks, floppy disks, monitors and video adapters, as well as virtually any other part of the system. These programs are excellent for users who do not perform frequent troubleshooting or who are on a budget.

Enter supporting content here