Date: Sun, 5 Nov 2006 16:50:26 GMT From: Martin Birgmeier <martin@email.aon.at> To: freebsd-i386@FreeBSD.org Subject: Re: i386/97468: [acpi] ACPI on ASUS A7V hangs on shutdown -p (power off) Message-ID: <200611051650.kA5GoQ1X094923@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/97468; it has been noted by GNATS. From: Martin Birgmeier <martin@email.aon.at> To: bug-followup@FreeBSD.org Cc: Subject: Re: i386/97468: [acpi] ACPI on ASUS A7V hangs on shutdown -p (power off) Date: Sun, 5 Nov 2006 17:49:28 +0100 (CET) O.k., this makes me unhappy enough to post a follow-up after much fiddling with ACPI debugging flags, and not finding a clue... Notes: - The proposal by Cy Schubert does not work, as I've never set an alarm in the bios. I checked it multiple times, though, just to make sure. - Setting debug.acpi.max_threads=1 at the loader prompt does not help. - I fiddled with lots of debug.acpi.layer and debug.acpi.level settings, output for interesting combinations follows below. The method used was to boot with empty flags, and then set/reset them for one second via sysctl. I had to do this because some ACPI stuff is continuously running, totally clobbering my screen. Please respond by following up to this defect entry (http://www.freebsd.org/cgi/query-pr.cgi?pr=97468), the email address given is invalid. Regards, Martin ACPI_HARDWARE/ACPI_LV_VERBOSITY3: -- same as -- ACPI_ALL_COMPONENTS ACPI_ALL_DRVERS/ACPI_LV_VERBOSITY3: ======================================================= This is the continuously running stuff. Debugging output was turned on/off via sysctl. I located the loop and manually copied one sequence. hwregs-0359 [000c] [41] AcpiGetRegister : ----Entry hwregs-0590 [000c] [42] HwRegisterRead : ----Entry hwregs-0885 [000c] [42] HwLowLevelRead : Read: 411 width 16 from 0 e400 (SystemIO) hwregs-0680 [000c] [42] HwRegisterRead : ----Exit- AE_OK hwregs-0399 [000c] [41] AcpiGetRegister : Read value 1 regiser 1 hwregs-0402 [000c] [41] AcpiGetRegister : ----Exit- AE_OK hwregs-0432 [000c] [41] AcpiSetRegister : ----Entry 00000001 hwregs-0590 [000c] [42] HwRegisterRead : ----Entry hwregs-0885 [000c] [42] HwLowLevelRead : Read: 411 width 16 from 0 e400 (SystemIO) hwregs-0680 [000c] [42] HwRegisterRead : ----Exit- AE_OK hwregs-0708 [000c] [42] HwRegisterWrite : ----Entry hwregs-0966 [000c] [42] HwLowLevelWrite : Wrote: 10 width 16 to 0 e400 (SystemIO) hwregs-0805 [000c] [42] HwRegisterWrite : ----Exit- AE_OK hwregs-0559 [000c] [41] AcpiSetRegister : Set bits: 10 actual 0 register 1 hwregs-0560 [000c] [41] AcpiSetRegister : ----Exit- AE_OK I'd be happy if someone could tell me why this stuff is continuously running, and where it comes from. Interestingly, it's all just reads and writes, with no higher level acpi functions in between. ACPI_BUTTON ACPI_HARDWARE ACPI_POWER/ACPI_LV_FUNCTIONS: ======================================================= Here I just enabled the above setting (without the sleep 1 and disabling), then pressed the power button, waited until the screen stabilized, and copied the last 24 lines. The first few lines match the previous case, repeating forever until the "done", except for the missing ACPI_LV_IO (LowLevel) functions. hwregs-0590 [42] HwRegisterRead : ----Entry hwregs-0680 [42] HwRegisterRead : ----Exit- AE_OK hwregs-0402 [41] AcpiGetRegister : ----Exit- AE_OK hwregs-0432 [41] AcpiSetRegister : ----Entry 00000001 hwregs-0590 [42] HwRegisterRead : ----Entry hwregs-0680 [42] HwRegisterRead : ----Exit- AE_OK hwregs-0708 [42] HwRegisterWrite : ----Entry hwregs-0805 [42] HwRegisterWrite : ----Exit- AE_OK hwregs-0650 [41] AcpiSetRegister : ----Exit- AE_OK done All buffers synced. Uptime: 1m46s POWERRES-0510 [43] acpi_pwr_wake_enable : ----Entry POWERRES-0748 [44] acpi_pwr_find_consumer: ----Entry POWERRES-0756 [44] acpi_pwr_find_consumer: ----Exit- 0 POWERRES-0246 [44] acpi_pwr_register_cons: ----Entry POWERRES-0748 [45] acpi_pwr_find_consumer: ----Entry POWERRES-0756 [45] acpi_pwr_find_consumer: ----Exit- 0 POWERRES-0266 [44] acpi_pwr_register_cons: ----Exit- AE_OK POWERRES-0748 [44] acpi_pwr_find_consumer: ----Entry POWERRES-0756 [44] acpi_pwr_find_consumer: ----Exit- 0xc56bd8e0 hwsleep-0243 [42] AcpiEnterSleepStatePre: ----Entry hwregs-0222 [43] AcpiGetSleepTypeData : ----Entry hwregs-0300 [43] AcpiGetSleepTypeData : ----Exit- AE_OK ACPI_BUTTON ACPI_HARDWARE ACPI_POWER ACPI_NAMESPACE ACPI_PARSER/ ACPI_LV_FUNCTIONS: ================================================================ Again, I just enabled, and then pressed the power button. Now, as described in the intro above, something continues to rush by continuously, and I can barely make out a lot of namespace and parser functions (and I believe no others - but cannot be sure). So it seems that for whatever reason, the system enters some loop after the AcpiEnterSleepStatePrep.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611051650.kA5GoQ1X094923>