ACPI

ACPI, the Advanced Configuration and Power Interface, is responsible for low-level configuration and power-saving features of various hardware components.

Alas, even in the early but also in late 2000s, system manufacturers, including big brand names, were shipping faulty ACPI components and sometimes just worked around problems by their custom Windows drivers without solving the actual problem. Any Windows administrator knows the nightmare - you upgrade the OS, or provide your own Windows installation, and suddenly the PC does not power down, USB components do not work, the system does not wake up from sleep etc etc.

Contents

When is a problem likely to be caused by ACPI?

  • The system does not boot
  • The system does not power-down
  • The system is stuck somewhere with a blinking cursor
  • The system can not reliably use the network, the disk
  • Audio does not work
  • The system seems to lose access to certain components after some time

Resolving the issue

  • Update your BIOS. This is actually the key issue. No matter how old your machine is, update the BIOS first. Most PC manufacturers still provide BIOS releases for their machines, even if several years old. Update to the latest BIOS.
  • Use the latest NoTouch build. Our OS includes more and more buggy-ACPI-workarounds with every new builds. Be sure to check for the latest available version and test with it before filing a report.
  • If the issue persists, there are several kernel command line options you can set (the following information, taken from Ubuntu's ACPI debugging guide, is ordered from "harsh" - most likely to solve the issue but have side-effects to least intrusive, less likely to work but also less likely to have side-effects):
    1. Try booting with the "acpi=off" kernel parameter. This will disable ACPI support. If the error is the same with ACPI enabled and disabled, this may not be an ACPI issue.
    2. If "acpi=off" allows the system to boot, try to isolate the ACPI issue with the following boot parameters
      • "acpi=ht". This disables all of ACPI except just enough to enable Hyper Threading. If acpi=off works and acpi=ht fails, then the issue is in the ACPI table parsing code itself, or perhaps the SMP code.
      • "pci=noacpi". This disables ACPI for IRQ routing and PCI scanning.
      • "acpi=noirq". This disables ACPI for IRQ routing.
      • "pnpacpi=off". This disables the ACPI component of the Linux Plug and Play code.
      • "noapic". Disables the IO-APIC for IRQ routing or PCI scanning.
      • "nolapic". Disables the local APIC.

Setting kernel parameters on installed machines

On machines that have NoTouch installed regularly it is very easy to set such options:

  • Configure the client (or group, if on NoTouch Center) and click on the "Services" parameter group
    • If directly on the client, there is an extra subgroup called "Kernel parameters"
  • Scroll down until you find the parameter "Kernel parameters for client OS"
  • Add the desired parameters to the character string (do not remove what is already in there)

Screenshot of the parameter in NoTouch Center:

Ncomputing-NTC-en-KernelCommandLine.jpg

Screenshot of the local NoTouch administration interface:

NotouchOS-en-KernelCommandLine.jpg

Please note that these parameters are active on subsequent boot after the client got the parameters. That means, if you simply reboot the client machine without announcing first, it will get the parameters on next reboot, and it will take another reboot for them to get active. So, either:

  • Have your clients announce and then reboot, or
  • Reboot two times

One question: Did you update your BIOS? This is important. If you haven't done already, please be sure to update your BIOS.

Setting kernel parameters on the Virtual Appliance for PXE boot

If you use our Virtual Appliance to boot from PXE, the NoTouch Center parameter described above will not have any effect. The correct place to set the value is in the PXE configuration of the NComputing Virtual Appliance.

  • Click on the "PXE" main menu item and then choose the "Configuration" menu item
  • In the list of bootable images, look out for the image you are booting and locate the "Kernel Parameters" text box
  • Add the desired parameters to the character string (do not remove what is already in there)
Stratodesk-VA-KernelCommandLine.jpg

Setting kernel parameters for live boot on USB drives

If you Live Boot from USB media such as USB pen drives, you may well want to add such an option directly to the USB options.

  • Edit the syslinux.cfg file in the root directory of the USB medium with a text editor. Do not use Word or so. Use a plain text editor such as Notepad.
  • Simply add the desired option to the first "append" line in the first kernel stanza.
Syslinux-cfg-acpi.jpg

Other resources