Wikia

How To Wiki

How to get the Linux kernel to properly power down the Dell Optiplex GX240 using ACPI

1,795pages on
this wiki
Talk0

This problem has been fixed as of 2.6.23. See: Kernel bug reported. If you cannot upgrade to this version or higher use the method below as a work around.



Dell Optiplex GX240 power down problems in the Linux kernel

This involves editing, hacking, the Linux kernel and is not recommended for users that don't know what they are doing

  • There is a possible bug in the Linux kernel that causes Dell Optiplex GX240's ACPI mode to be forced to ht (hyperthreading), however this prevents ACPI to power down the computer on the shutdown command, halt, or powerdown command. This problem is present in the 2.6.19 - 2.6.22 Linux kernel and most likely older version.
    Adding acpi=ht, acpi=noirq, or acpi=on to grub will not help.

To see if you are having this problem check dmesg


The Fix (work around)Edit

  1. First backup the original kernel (recommended)
  2. Remove any kernel parameters in grub or lilo having to do with ACPI
  3. Change directories to the kernel's source
  4. Edit the Makefile (recommended)
    • Change the EXTRAVERSION variable to be something different so you can recognize the new kernel, and you will still have the old one to fall back on.
      Example: EXTRAVERSION = -Rat-monster-r5
  5. Edit: arch/i386/kernel/acpi/boot.c
    1. Find the section with the following code:
{
         .callback = force_acpi_ht,
         .ident = "DELL GX240",
         .matches = {
                     DMI_MATCH(DMI_BOARD_VENDOR, "Dell Computer Corporation"),
                     DMI_MATCH(DMI_BOARD_NAME, "OptiPlex GX240"),
                     },
         },
  • Comment is out like below
/*      {
         .callback = force_acpi_ht,
         .ident = "DELL GX240",
         .matches = {
                     DMI_MATCH(DMI_BOARD_VENDOR, "Dell Computer Corporation"),
                     DMI_MATCH(DMI_BOARD_NAME, "OptiPlex GX240"),
                     },
         },
*/
  • Compile the kernel as normal and test it out

SourceEdit

(kind of source)

Around Wikia's network

Random Wiki