i386/97468: [acpi] ACPI on ASUS A7V hangs on shutdown -p (power off)

Martin Birgmeier martin at email.aon.at
Sun Nov 5 16:50:29 UTC 2006


The following reply was made to PR i386/97468; it has been noted by GNATS.

From: Martin Birgmeier <martin at email.aon.at>
To: bug-followup at 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.


More information about the freebsd-i386 mailing list