Powered By

Free XML Skins for Blogger

Powered by Blogger

Tuesday, June 3, 2008

POST

BIOS Power-On Self Test (POST)

The first thing that the BIOS does when it boots the PC is to perform what is called the Power-On Self-Test, or POST for short. The POST is a built-in diagnostic program that checks your hardware to ensure that everything is present and functioning properly, before the BIOS begins the actual boot. It later continues with additional tests (such as the memory test that you see printed on the screen) as the boot process is proceeding.

The POST runs very quickly, and you will normally not even noticed that it is happening--unless it finds a problem (amazing how many things are like that, isn't it?) You may have encountered a PC that, when turned on, made beeping sounds and then stopped without booting up. That is the POST telling you something is wrong with the machine. The speaker is used because this test happens so early on, that the video isn't even activated yet! These beep patterns can be used to diagnose many hardware problems with your PC. The exact patterns depend on the maker of the BIOS; the most common are Award and AMI BIOSes. This part of the Troubleshooting Expert will help you figure out what the POST beep codes mean and what to do about them, if you are having this problem.

Note: Some POST errors are considered "fatal" while others are not. A fatal error means that it will halt the boot process immediately (an example would be if no system memory at all is found). In fact, most POST boot errors are fatal, since the POST is testing vital system components.

Many people don't realize that the POST also uses extended troubleshooting codes that you can use to get much more detail on what problem a troublesome PC is having. You can purchase a special debugging card that goes into an ISA slot and accepts the debugging codes that the BIOS sends to a special I/O address, usually 80h. The card displays these codes and this lets you see where the POST stops, if it finds a problem. These cards are obviously only for the serious PC repairperson or someone who does a lot of work on systems.


General internal workings

On power up, the main duties of POST are handled by the BIOS, which may hand some of these duties to other programs designed to initialize very specific peripheral devices, notably for video and SCSI initialization. These other duty-specific programs are generally known collectively as option ROMs or individually as the video BIOS, SCSI BIOS, etc.

The principal duties of the main BIOS during POST are as follows:

  • verify the integrity of the BIOS code itself
  • determine the reason POST is being executed
  • find, size, and verify system main memory
  • discover, initialize, and catalog all system buses and devices
  • pass control to other specialized BIOSes (if and when required)
  • provide a user interface for system's configuration
  • identify, organize, and select which devices are available for booting
  • construct whatever system environment that is required by the target OS

The BIOS will begin its POST duties when the CPU is reset. The first memory location the CPU tries to execute is known as the reset vector. In the case of a hard reboot, the northbridge will direct this code fetch (request) to the BIOS located on the system flash memory. For a warm boot, the BIOS will be located in the proper place in RAM and the northbridge will direct the reset vector call to the RAM.

During the POST flow of a contemporary BIOS, one of the first things a BIOS should do is determine the reason it is executing. For a cold boot, for example, it may need to execute all of its functionality. If, however, the system supports power savings or quick boot methods, the BIOS may be able to circumvent the standard POST device discovery, and simply program the devices from a preloaded system device table.

The POST flow for the PC has developed from a very simple, straightforward process to one that is complex and convoluted. During POST, the BIOS must integrate a plethora of competing, evolving, and even mutually exclusive standards and initiatives for the matrix of hardware and OSes the PC is expected to support. However, the average user still knows the POST and BIOS only through its simple visible memory tests and setup screen.

Computer POST / beep codes

POST ABCs

The computer POST (Power On Self Test) tests the computer, insuring that it meets the necessary system requirements and that all hardware is working properly before starting the remainder of the boot process. If the computer passes the POST the computer will have a single beep (with some computer BIOS manufacturers it may beep twice) as the computer starts and the computer will continue to start normally. However, if the computer fails the POST, the computer will either not beep at all or will generate a beep code, which tells the user the source of the problem.

The steps of a POST

Each time the computer boots up the computer must past the POST. Below is the common steps a POST performs each time your computer starts.

  1. Test the power supply to ensure that it is turned on and that it releases its reset signal.
  2. CPU must exit the reset status mode and thereafter be able to execute instructions.
  3. BIOS checksum must be valid, meaning that it must be readable.
  4. CMOS checksum must be valid, meaning that it must be readable.
  5. CPU must be able to read all forms of memory such as the memory controller, memory bus, and memory module.
  6. The first 64KB of memory must be operational and have the capability to be read and written to and from, and capable of containing the POST code.
  7. I/O bus / controller must be accessible.
  8. I/O bus must be able to write / read from the video subsystem and be able to read all video RAM.

If the computer does not pass any of the above tests, your computer will receive an irregular POST. An irregular POST is a beep code that is different from the standard one or two beeps. This could be either no beeps at all or a combination of different beeps indicating what is causing the computer not to past the POST.

If you're receiving an irregular POST document CH000607 contains all the steps a user can do to resolve the issue or help determine what hardware has failed in the computer so it can be replaced. If you're getting a beep code the remainder of this page contains a listing of each of the major manufacturers beep codes and what they each mean.


AMI BIOS beep codes

Below are the AMI BIOS Beep codes that can occur. However, because of the wide variety of different computer manufacturers with this BIOS, the beep codes may vary.

Beep Code Descriptions Document
1 short DRAM refresh failure CH000996
2 short Parity circuit failure CH000607
3 short Base 64K RAM failure CH000996
4 short System timer failure CH000607
5 short Process failure CH000607
6 short Keyboard controller Gate A20 error CH000383
7 short Virtual mode exception error CH000607
8 short Display memory Read/Write test failure CH000607
9 short ROM BIOS checksum failure CH000607
10 short CMOS shutdown Read/Write error CH000239
11 short Cache Memory error CH000607
1 long, 3 short Conventional/Extended memory failure CH000996
1 long, 8 short Display/Retrace test failed CH000607

AWARD BIOS beep codes

Below are Award BIOS Beep codes that can occur. However, because of the wide variety of different computer manufacturers with this BIOS, the beep codes may vary.

Beep Code Description Document
1 long, 2 short Indicates a video error has occurred and the BIOS cannot initialize the video screen to display any additional information CH000607
Any other beep(s) RAM problem. CH000996

If any other correctable hardware issues, the BIOS will display a message.

IBM BIOS beep codes

Below are IBM BIOS Beep codes that can occur. However, because of the wide variety of models shipping with this BIOS, the beep codes may vary.

Beep Code Description Document
No Beeps No Power, Loose Card, or Short. CH000312
1 Short Beep Normal POST, computer is ok. No problem
2 Short Beep POST error, review screen for error code. See screen
Continuous Beep No Power, Loose Card, or Short. CH000607
Repeating Short Beep No Power, Loose Card, or Short. CH000607
One Long and one Short Beep Motherboard issue. CH000607
One Long and Two Short Beeps Video (Mono/CGA Display Circuitry) issue. CH000607
One Long and Three Short Beeps. Video (EGA) Display Circuitry. CH000607
Three Long Beeps Keyboard / Keyboard card error. CH000304
One Beep, Blank or Incorrect Display Video Display Circuitry. CH000607

Macintosh startup tones

Tones Error
Error Tone. (two sets of different tones) Problem with logic board or SCSI bus.
Startup tone, drive spins, no video Problem with video controller.
Powers on, no tone. Logic board problem.
High Tone, four higher tones. Problem with SIMM.

Phoenix BIOS beep codes

Below are the beep codes for PHOENIX BIOS Q3.07 OR 4.X

Beep Code Description / What to Check
1-1-1-3 Verify Real Mode.
1-1-2-1 Get CPU type.
1-1-2-3 Initialize system hardware.
1-1-3-1 Initialize chipset registers with initial POST values.
1-1-3-2 Set in POST flag.
1-1-3-3 Initialize CPU registers.
1-1-4-1 Initialize cache to initial POST values.
1-1-4-3 Initialize I/O.
1-2-1-1 Initialize Power Management.
1-2-1-2 Load alternate registers with initial POST values.
1-2-1-3 Jump to UserPatch0.
1-2-2-1 Initialize keyboard controller.
1-2-2-3 BIOS ROM checksum.
1-2-3-1 8254 timer initialization.
1-2-3-3 8237 DMA controller initialization.
1-2-4-1 Reset Programmable Interrupt Controller.
1-3-1-1 Test DRAM refresh.
1-3-1-3 Test 8742 Keyboard Controller.
1-3-2-1 Set ES segment to register to 4 GB.
1-3-3-1 28 Autosize DRAM.
1-3-3-3 Clear 512K base RAM.
1-3-4-1 Test 512 base address lines.
1-3-4-3 Test 512K base memory.
1-4-1-3 Test CPU bus-clock frequency.
1-4-2-4 Reinitialize the chipset.
1-4-3-1 Shadow system BIOS ROM.
1-4-3-2 Reinitialize the cache.
1-4-3-3 Autosize cache.
1-4-4-1 Configure advanced chipset registers.
1-4-4-2 Load alternate registers with CMOS values.
2-1-1-1 Set Initial CPU speed.
2-1-1-3 Initialize interrupt vectors.
2-1-2-1 Initialize BIOS interrupts.
2-1-2-3 Check ROM copyright notice.
2-1-2-4 Initialize manager for PCI Options ROMs.
2-1-3-1 Check video configuration against CMOS.
2-1-3-2 Initialize PCI bus and devices.
2-1-3-3 Initialize all video adapters in system.
2-1-4-1 Shadow video BIOS ROM.
2-1-4-3 Display copyright notice.
2-2-1-1 Display CPU type and speed.
2-2-1-3 Test keyboard.
2-2-2-1 Set key click if enabled.
2-2-2-3 56 Enable keyboard.
2-2-3-1 Test for unexpected interrupts.
2-2-3-3 Display prompt "Press F2 to enter SETUP".
2-2-4-1 Test RAM between 512 and 640k.
2-3-1-1 Test expanded memory.
2-3-1-3 Test extended memory address lines.
2-3-2-1 Jump to UserPatch1.
2-3-2-3 Configure advanced cache registers.
2-3-3-1 Enable external and CPU caches.
2-3-3-3 Display external cache size.
2-3-4-1 Display shadow message.
2-3-4-3 Display non-disposable segments.
2-4-1-1 Display error messages.
2-4-1-3 Check for configuration errors.
2-4-2-1 Test real-time clock.
2-4-2-3 Check for keyboard errors
2-4-4-1 Set up hardware interrupts vectors.
2-4-4-3 Test coprocessor if present.
3-1-1-1 Disable onboard I/O ports.
3-1-1-3 Detect and install external RS232 ports.
3-1-2-1 Detect and install external parallel ports.
3-1-2-3 Re-initialize onboard I/O ports.
3-1-3-1 Initialize BIOS Data Area.
3-1-3-3 Initialize Extended BIOS Data Area.
3-1-4-1 Initialize floppy controller.
3-2-1-1 Initialize hard-disk controller.
3-2-1-2 Initialize local-bus hard-disk controller.
3-2-1-3 Jump to UserPatch2.
3-2-2-1 Disable A20 address line.
3-2-2-3 Clear huge ES segment register.
3-2-3-1 Search for option ROMs.
3-2-3-3 Shadow option ROMs.
3-2-4-1 Set up Power Management.
3-2-4-3 Enable hardware interrupts.
3-3-1-1 Set time of day.
3-3-1-3 Check key lock.
3-3-3-1 Erase F2 prompt.
3-3-3-3 Scan for F2 key stroke.
3-3-4-1 Enter SETUP.
3-3-4-3 Clear in-POST flag.
3-4-1-1 Check for errors
3-4-1-3 POST done--prepare to boot operating system.
3-4-2-1 One beep.
3-4-2-3 Check password (optional).
3-4-3-1 Clear global descriptor table.
3-4-4-1 Clear parity checkers.
3-4-4-3 Clear screen (optional).
3-4-4-4 Check virus and backup reminders.
4-1-1-1 Try to boot with INT 19.
4-2-1-1 Interrupt handler error.
4-2-1-3 Unknown interrupt error.
4-2-2-1 Pending interrupt error.
4-2-2-3 Initialize option ROM error.
4-2-3-1 Shutdown error.
4-2-3-3 Extended Block Move.
4-2-4-1 Shutdown 10 error.
4-3-1-3 Initialize the chipset.
4-3-1-4 Initialize refresh counter.
4-3-2-1 Check for Forced Flash.
4-3-2-2 Check HW status of ROM.
4-3-2-3 BIOS ROM is OK.
4-3-2-4 Do a complete RAM test.
4-3-3-1 Do OEM initialization.
4-3-3-2 Initialize interrupt controller.
4-3-3-3 Read in bootstrap code.
4-3-3-4 Initialize all vectors.
4-3-4-1 Boot the Flash program.
4-3-4-2 Initialize the boot device.
4-3-4-3 Boot code was read OK.

No comments: