Distribution: Gentoo Hardware Environment: Dell Latitude D600 Software Environment: Gentoo Problem Description: shutdown -h now does stop every service, but the actual power off isn't performed. Sometimes the screen blanks (but the power led stays on), and sometimes everything stops at the console line: Power down. Kernel 2.6.7 and earlier doesn't have this issue (i used same config file). I tried the ACPI patch for 2.8.6.1 also, but that didn't fix the problem.
I found the problem: acpi-20040715-2.6.8.diff.gz removes the latitude from the dmi blacklist, and i enabled local apic in the kernel config. Disabling this resolves the power down problem (and some other apci button errors).
Could you please attach a dmesg and /proc/acpi/dsdt ?
Created attachment 3750 [details] debug patch
Created attachment 3751 [details] debug log applied the debug patch above and tested with and without "nolapic". The attached debug log was identical in both cases (modulo the thread id) except poweroff failed in the default lapic case and poweroff succeeded in the "nolapic" case.
Created attachment 3752 [details] acpidmp for BIOS A13 I should mention that on the D600 I have the screen stays on when poweroff fails, it doesn't blank. I'm running BIOS A13 and this model has an ATI Mobility M9 also, here's the decoded FADT: acpixtract FACP acpidmp | acpitbl Signature: FACP Length: 116 Revision: 0x01 Checksum: 0xd5 OEMID: DELL OEM Table ID: CPi R OEM Revision: 0x27d40709 Creator ID: ASL Creator Revision: 0x00000061 FIRMWARE_CTRL: 0x1ffff800 DSDT: 0x1fff0c00 INT_MODEL: 0x00 SCI_INT: 9 SMI_CMD: 0x000000b2 ACPI_ENABLE: 0x70 ACPI_DISABLE: 0x71 S4BIOS_REQ: 0x97 PM1a_EVT_BLK: 0x00000800 PM1b_EVT_BLK: 0x00000000 PM1a_CNT_BLK: 0x00000804 PM1b_CNT_BLK: 0x00000000 PM2_CNT_BLK: 0x00000820 PM_TMR_BLK: 0x00000808 GPE0_BLK: 0x00000828 GPE1_BLK: 0x00000000 PM1_EVT_LEN: 4 PM1_CNT_LEN: 2 PM2_CNT_LEN: 1 PM_TM_LEN: 4 GPE0_BLK_LEN: 8 GPE1_BLK_LEN: 0 GPE1_BASE: 0 P_LVL2_LAT: 50 P_LVL3_LAT: 50 FLUSH_SIZE: 0 FLUSH_STRIDE: 0 DUTY_OFFSET: 1 DUTY_WIDTH: 3 DAY_ALRM: 0x00 MON_ALRM: 0x00 CENTURY: 0x00 Flags: 0x00000235
Two observations: booting with "apic=debug" yields: "Local APIC disabled by BIOS -- reenabling." it is possible that the OEM BIOS writer didn't enable the LAPIC for a reason, maybe it isn't a good idea for Linux to second-guess them. For poweroff, lapic_suspend() is not called. However, when I hack a call to lapic_suspend() into the top of acpi_enter_sleep_state(5), then poweroff works even in LAPIC mode.
*** Bug 3532 has been marked as a duplicate of this bug. ***
Created attachment 3796 [details] don't enable LAPIC when BIOS against wish of BIOS (v2.6.8.1) < Local APIC disabled by BIOS -- reenabling. < Found and enabled local APIC! --- < No local APIC present or hardware disabled Fixes my D600.
Created attachment 3797 [details] patch v2.6.9-rc3, and allow "lapic" to force enable LAPIC sending this one to linus
shipped in 2.6.9 applied to 2.4.28 closing
*** Bug 1619 has been marked as a duplicate of this bug. ***
*** Bug 3643 has been marked as a duplicate of this bug. ***
*** Bug 1901 has been marked as a duplicate of this bug. ***