ACPI / PCI Troubleshooting

by Wayne Maples [Published on 20 Oct. 2005 / Last Updated on 20 Oct. 2005]

ACPI systems automatically configure all PCI devices. It generally does a very good job. You can not change a PCI device's resource setting to resolve conflicts. The only way to deal with resource conflicts in this situation is to remove devices one by one using Device Manager and force it to rescan them. You could also try the BIOS ESCD, set your BIOS to reset Extended System Configuration Data settings, reconfiguring PCI devices, or you could even manually specify BIOS resources for each PCI slot.

Got a standard PC with no ACPI? You can resolve PCI conflicts.

  • Expand the Computer category in Device Manager
  • Select Standard PC
  • Click Properties
  • Click the IRQ Steering tab and clear the Use IRQ Steering check box.
This allows you to manually set resources for PCI devices.

Or you could reinstall W2K with ACPI disabled.

The Advanced Configuration and Power Interface ( ACPI ) Viewer for Microsoft Windows 9X and Windows 2000 can be downloaded from Microsoft. You install ACPIVIEW by running the ACPIVIEW.EXE file that you download. It will create a directory called C:\ACPIVIEW and place ACPIVIEW.EXE in that directory. It will check the ACPI namespace and check device configurations and resources, and run methods that do not require an argument.

You can also download Suspender which consists of one executable, SUSPEND.EXE. Suspender is a commandline utility. You can launch Suspender and it will test your machine's power management functions by using your system's resume timer to repeatedly suspend and resume your machine.

To disable ACPI:

After the text-mode phase of W2K setup completes, but before W2K reboots into the Setup Wizard:

  • Go to command mode and change the file attributes of c:\txtsetup.sif:
    attrib -r -s -h c:\txtsetup.sif
  • Open txtsetup.sif using edit.
  • Find ACPIEnable and set to

    ACPIEnable=0
    ACPIEnable=0 means disable; ACPIEnable=1 means enable

  • Save c:\txtsetup.sif and reboot. This will startup the Setup Wizard.

A very useful site is PCI Information dedicated to programming and other technical information about the PCI & AGP Busses and the Advanced Configuration & Power Interface support site.

Microsoft's primary site for ACPI is http://www.microsoft.com/hwdev/onnow

In Windows XP, though, most devices will get their own IRQ under ACPI, if your motherboard has an APIC for Windows to take advantage of it. The simplest test is to leave Windows in ACPI mode, go to the Device Manager, and select View Resources by Type. If you have lots of devices sharing a single IRQ (usually 9 or 11), then either your board has no APIC, or XP isn't able to use it for some reason.

In that case, you'll want to reinstall XP as Standard PC instead of ACPI, and manage your interrupts manually through the BIOS options. If, on the other hand, most devices have their own IRQ, with no more than two devices on any IRQ, you should be fine. BIOS IRQ settings will be ignored by Windows if it is running in ACPI mode. You can either control IRQs yourself from the BIOS (Standard PC) or let Windows do it (ACPI) but not both, at least not in XP. This could change in a future release of Windows.

See Also

Featured Links