root@fandigunawan

November 20, 2007

Windows XP – Freeze Up (ACPI problems)

Filed under: Misc — Tags: — fandigunawan @ 4:19 am

Last time I bought a second hand motherboard for my old Pentium III processor. However while I was running Windows XP sp 2 I got my Windows freezing (hung). What the heck with this !!!!.

The next part will explain about how to deal with this problem.

Let’s analyze the problem. I’m sure that Windows will not freeze if there is no problem. First I open Event Viewer (eventvwr.msc) from Run

clip_image002

clip_image004

What is this ACPI ???. ACPI stands for Advanced Configuration and Power Interface. Hmm power management. So what is the relations of ACPI to my “freezing” computer??. I saw trough the error log it says:

clip_image006I

AMLI: ACPI BIOS is attempting to write to an illegal IO port address (0x70), which lies in the 0x70 – 0x71 protected address range. This could lead to system instability. Please contact your system vendor for technical assistance.

Wow ACPI BIOS is trying to write illegal IO port address. According to Microsoft manual of ACPI and an article in internet :

clip_image007

What is ACPI?
The Advanced Configuration and Power Interface (ACPI) is a part of the BIOS and the operating system. The presence of ACPI in the BIOS on a given system determines whether operating systems of the Windows 2000/XP generation can make full use of features such as Power Management and Plug and Play (PnP).
The Power Management applet, accessed in the Control Panel, lets you control power usage and power savings. For example, you can configure a system to go into hibernation (sleep mode) after a preset time period, or to restore power at the touch of a button.
ACPI has its uses on all systems, but it’s particularly beneficial on laptops, where power management can be crucial. ACPI also interacts with PnP and can help PnP routines successfully load drivers for PnP devices.
An error such as the one above involves interaction between the BIOS and the operating system via the Hardware Abstraction Layer (HAL) driver. To fully understand what’s going on, let’s take a deeper look at how ACPI in the BIOS (ACPI BIOS) and in the operating system (ACPI OS) talk to each other in situations that might give rise to this error.
Part of Microsoft’s development of XP involved finding new ways for ACPI BIOS implementations to access and modify hardware resources. Traditionally, ACPI BIOS implementations try to manipulate hardware resources directly through BIOS code. When the ACPI BIOS tries to access and/or modify the hardware resources at the same time as the operating system, an imbalance arises because these operations can’t be synchronized. This imbalance can give rise to system instability and/or a hung machine, which needs to be shut down. It’s at this point the user is likely to see an ACPI-related error message such as the one above. In pre-Win2K operating systems, this error would often be unrecoverable, and the machine would crash with a Blue Screen of Death. So, although the error is annoying, at least it’s an improvement over the previous situation.
The work to improve this weakness involved identifying which system resources would generate the error, and the result was a list of affected resources called I/O Blocked Ports. This list is shown in Table A.

Table A

Address Function Comments
0x000 – 0x00F DMA Controller 1  
0x020 – 0x021 Programmable Interrupt Controller Access is never allowed*
0x040 – 0x043 System Timer 1  
0x048 – 0x04B Timer 2 Failsafe  
0x070 – 0x071 System CMOS, RTC  
0x074 – 0x076 Extended CMOS  
0x081 – 0x083 DMA1 Page Registers  
0x087 DMA1 CH0 Low Page  
0x089 DMA2 CH2 Low Page  
0x08A – 0x08B DMA2 CH3 Low Page  
0x08F DMA2 Low Page Refresh  
0x090 – 0x091 Arbitration Control Port Card Select Feedback  
0x093 – 0x094 Reserved System Board Setup  
0x096 – 0x097 POS Channel Select
0x0A0 – 0x0A1 Cascaded Programmable Interrupt Controller Access is never allowed*
0x0C0 – 0x0DF ISA DMA  
0x4D0 – 0x4D1 PIC Edge/Level Control Registers Access is never allowed*
0xCF8 – 0xD00 PCI Configuration Space Access  
*Read or write accesses to these ports are always blocked.

I/O Blocked Ports list
As you can see, the 0x70-0x71 address range appears in the list, and it refers specifically to problems with CMOS/RTC. The ACPI interpreter, which ships with the XP kernel, monitors all events that attempt to read or write to or from the above list of restricted ports. When such an event occurs, there are various possible outcomes:

  • The event log will flag an error stating that the ACPI interpreter has detected such an illegal operation.
  • If the ACPI BIOS code is compatible with XP’s version of ACPI, the operating system will prohibit the read or write from happening, but an error will still be logged in the event viewer.
  • If the BIOS code is compatible only with pre-XP operating systems, XP will attempt to synchronize access to resources, and the read/write events will likely be allowed. However, an error will be logged in the event viewer.

In this last situation, the machine may remain unstable. The exception is when the Programmable Interrupt Controller (PIC) and cascaded PIC are involved in attempted read/writes—these addresses are always blocked because they can induce catastrophic system failure. In multiprocessor configurations, the relevant address register can actually become corrupted.
Some remedies
Now that we’ve looked at how BIOS ACPI and operating system ACPI work (or don’t work) together, let’s take a look at how to recover from this error.


Boot problems?
This error shouldn’t prevent your system from booting, even if it does demand that it be shut down immediately. If you’re having boot problems, it’s likely there’s at least one other issue involved.


Flash the BIOS
Flashing the BIOS simply means you need to find, download, and apply the latest BIOS update for your motherboard. These updates are usually ready for download from the Web site of your motherboard’s manufacturer. If you’re not sure which motherboard and BIOS you’re using, this information is presented on the screen when you first boot a system. Just write it down and go from there.
A potential problem with this solution is that the latest BIOS updates don’t always correct these types of ACPI problems. This is because different motherboards run different chipsets, which in turn run different BIOSs, and it’s up to the manufacturer to decide when to release a given update. Whether that BIOS update will actually include the required ACPI version update can be anyone’s guess. For more information, you should contact technical support at your motherboard manufacturer.
Load the default BIOS settings
If flashing the BIOS doesn’t work, you can also try to load the BIOS’s default settings. Most BIOS interfaces have an option to “Load Safe Defaults.” This may remedy the situation, or at least give you general stability so that you can tweak various other settings and restore normal operations.
Disable ACPI
A further step is to disable ACPI in the BIOS, although not all BIOSs allow this procedure. If you do, you may lose all ACPI-related functions in the operating system, and you may not be able to boot XP at all. So use this measure with great caution.
Install Windows XP as a ‘Standard PC’
Another reported fix is to install XP as a “Standard PC,” which disables ACPI and changes the HAL driver.

clip_image008

According to some sort of remedies tips:

  1. Updating BIOS

This option is not suitable for me since my motherboard has no brand and I could not find any update for my motherboard. Jeez what a problem.

  1. Kill ACPI settings in BIOS

Not all motherboard has this feature so do mine.

  1. Disable ACPI while in Windows XP installation

Sorry my computer is already installed with Windows XP

  1. Update ACPI driver to “standard pc” for already installed PC

I think this is the solution. Let’s take some time to update the driver.

Go to system properties by right-click in My Computer.

clip_image010

clip_image012

If we open Computer tree there will be ACPI PC. Try to right-click and update driver

clip_image014

clip_image016

clip_image018.

clip_image020

Then just simply restart Windows XP and Windows will be re-initialized all of its drivers. Then if you are doing right way you should find this thing in device manager.

clip_image022

Yes … and finally I have no more problem with my Windows XP installed PC. That’s all hope this will help you.

20 Comments »

  1. I have still problem with freeing windows xp, know why? ACPI is disabled just like you show in this howto. Any idea? I have amg duron 800 😉

    Comment by Peter — April 8, 2008 @ 8:16 pm

  2. sorry, amd of course, not amg. stupid me.

    Comment by Peter — April 8, 2008 @ 8:16 pm

  3. @Peter

    Try to use Linux Live CD such as Ubuntu /Knoppix if you meet the same problem I thing there is something wrong in your hardware for example your computer’s memory.

    Comment by fandigunawan — April 11, 2008 @ 10:08 am

  4. Hey i heard updating the BIOS does solve this problem, however considering my motherboard is old (chaintech CT-7AIA with AMD Duron 800MHz CPU) the chaintech site doesnt have this BIOS anymore =(

    Comment by J — May 21, 2008 @ 11:37 am

  5. @J:
    Yes that is the problem I faced and also my mother board has no update since 2001 and it caused me a big problem. So try to install in Standard PC mode rather than ACPI.

    Comment by fandigunawan — May 26, 2008 @ 8:18 am

  6. thank you that was very interesting and informative.

    Comment by andy — July 28, 2008 @ 10:11 am

  7. thanks for this. very helpful.

    Comment by bloody5 — September 6, 2008 @ 10:33 pm

  8. hello i encounter problem in my computer. my computer frequently restarts when im playing dota wether online or not

    Comment by angelo — October 1, 2008 @ 7:24 am

  9. How if I disable ACPI via Bios ?? is there any harmful effect?

    Comment by Deny WS — June 10, 2009 @ 2:02 pm

    • @Deny WS:
      It’s OK to disable ACPI from BIOS, your OS will notice that your PC is not supporting ACPI if you disable ACPI. Well I can say it is OK since the non-ACPI (usually called APM) is the older form of ACPI. I hope that the motherboard manufacturer also test the non-ACPI feature on multi OSes so that there will be no problems while using the OS.

      Comment by fandigunawan — June 20, 2009 @ 12:08 am

  10. Just so people know, this isn’t a fool-proof plan. I know what I’m doing, and it, I followed the directions, and it hosed my system.

    Dell, Dual-core, XP SP3. Switched it to “Standard PC” and it wouldn’t boot. Then tried to go into safe mode, and it said ntoskrnl.exe was missing, so I slaved the HD to a different machine, to replace the file, and it WASN’T missing, after all!

    So I dug out the install disc and let XP repair itself. System is back up and running, and it hasn’t frozen up again yet, but I’m assuming nothing was fixed. Actually just kinda glad to see it boot again!

    So give it a shot, but have your install disc handy. Good luck!

    Comment by El Hoser — August 24, 2009 @ 3:27 pm

  11. Great..!!, my PC is not suddenly restart anymore, is there any side effect if i installed Standard PC? Cause’ i have sqlserver ran in my PC.
    Anyway thanks for the solution.

    Comment by Bayu — September 26, 2009 @ 11:14 am

  12. Thank you this fixed my issue with the acpi error being displayed.

    Comment by elmonra — October 29, 2009 @ 7:43 pm

  13. tanx.very usefull.

    Comment by Hamed — February 23, 2010 @ 6:22 am

  14. Thanks for the tip! I’ve been having a problem with an older Compaq laptop and ACPI error related freezes. I was ready to downgrade the OS to Windows 2000 when I came across your web page. I made your recommended changes and so far my lock ups have disappeared. Thanks again for taking the time to post your solution!

    Comment by Majestic — June 27, 2010 @ 2:53 pm

  15. Thanks for all the great explanations, detail and advice. I just would like to mention that apparently in certain cases this error will appear due to a faulty motherboard. For example, I have a Toshiba M45-S355 Laptop I’m trying to repair for someone and it comes up with this blue screen error that the bios is not ACPI compatible or freezes up. Interestingly it will run Linux off of Hiren’s boot CD but will lock up after about 24 hours. It will also sometimes run the Mini windows XP, apparently only when it is cool. Then it will run it for about 24 hours till it just freezes. It will also run Windows in safe mode. But it really refuses to run Windows normally. It might get into the desktop for a few seconds and then reboot. It seems it does this as it tries to install the USB drivers.

    Using the Eurosoft diagnostics in Hirens, it freezes on the L2 Cache test. I tried to disable L2 and all cache in the bios but no change. I even shorted the BIOS battery to reset it. Due to the inconsistent behavior of this unit I have to conclude it’s something wrong with the motherboard chipset….

    Comment by TekWiz — July 21, 2010 @ 9:31 pm

    • Yes, it might be the problem. I was using old hardware from less-known manufacturer where the detail of their product was unknown, so I tried it in Linux and it was not run well either. So I, tried to find information about the error code thrown by Blue Screen Of Death and it leaded me to the power management problem. So, your information is very informative and I hope that other people get the solution as well.

      Comment by fandigunawan — July 31, 2010 @ 3:19 am

  16. This thing worked for me, great. Thanks a lot. I found four different profiles in Device Mgr. Computers-stndrd PC- ACPI- Dual Procr.-Multy Dual Procr. the last one worked better for me.

    Thnks a Million

    Comment by Nafeez — October 19, 2010 @ 6:12 pm

  17. De varias docenas de foros en los que lei los problemas que presentan algunas motherboard, en mi caso una Toshiba M45 S355, la unica solución que funcionó es la que proponés de intercambiar el driver avanzado de administracion ACPI por el standard de PC.

    Me has ayudado a solucionar un enorme problema.

    Gracias

    desde Argentina

    Comment by Andres — November 16, 2010 @ 11:19 pm

  18. Worked for me! Thanks!

    Comment by El Borborah — August 26, 2016 @ 1:28 am


RSS feed for comments on this post. TrackBack URI

Leave a reply to fandigunawan Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blog at WordPress.com.