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
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:
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 :
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.
According to some sort of remedies tips:
- 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.
- Kill ACPI settings in BIOS
Not all motherboard has this feature so do mine.
- Disable ACPI while in Windows XP installation
Sorry my computer is already installed with Windows XP
- 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.
If we open Computer tree there will be ACPI PC. Try to right-click and update driver
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.
Yes … and finally I have no more problem with my Windows XP installed PC. That’s all hope this will help you.
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
sorry, amd of course, not amg. stupid me.
Comment by Peter — April 8, 2008 @ 8:16 pm
@Peter
Comment by fandigunawan — April 11, 2008 @ 10:08 am
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
@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
thank you that was very interesting and informative.
Comment by andy — July 28, 2008 @ 10:11 am
thanks for this. very helpful.
Comment by bloody5 — September 6, 2008 @ 10:33 pm
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
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
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
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
Thank you this fixed my issue with the acpi error being displayed.
Comment by elmonra — October 29, 2009 @ 7:43 pm
tanx.very usefull.
Comment by Hamed — February 23, 2010 @ 6:22 am
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
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
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
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
Worked for me! Thanks!
Comment by El Borborah — August 26, 2016 @ 1:28 am