Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Dec 2003 19:59:07 +0100
From:      Guido van Rooij <guido@gvr.org>
To:        Nate Lawson <nate@root.org>
Cc:        current@freebsd.org
Subject:   Re: ACPI problem
Message-ID:  <20031212185907.GA61783@gvr.gvr.org>
In-Reply-To: <20031209114400.G43006@root.org>
References:  <20031209114400.G43006@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Dec 09, 2003 at 11:58:30AM -0800, Nate Lawson wrote:
> Suspend/resume will continue to be a problem area for some time.  Perhaps
> I should put up a FAQ about this.
> 
> 1. Try different states (S1-S4) and see if one of them works.

I have a system where S3 leads to an immediate reboot. S4 leads to
a hang. S2 is not available.
S1 leads to a nice suspend, except that the LCD is not powered off.
Resume works okay.
When I push the lid button when in the boot loader, the LCD is powered
off. In Windows everything works like expected.

This is a Dell D600. S4 is handled by Windows itsself. Does this mean
the BIOS doesn't support doing it itself?

What I'd like to know is how I can debug this. 
I am willing to read the ACPI spec, but only if that will lead to something.


> 
> 2. Try tunable/sysctl hw.acpi.reset_video=0
> 
> 3. Try tunable/sysctl hw.syscons.sc_no_suspend_vtswitch=1
> 
> 4. Try sysctl hw.acpi.sleep_delay=0

(I take it these are all for systems where resume doesnt work properly?)

> 
> 5. Try the most recent Linux beta kernel with acpi configured.  If it
> works, then perhaps we can find why.  Since we share the ACPI-CA
> interpreter with Linux, it's likely that they have similar problems.

ENOOPTION for the moment.

> 
> 6. Try disabling drivers that may break resume.  In particular, uhci
> doesn't work right after resume.


> 
> 7. Try building the acpi kernel module with options ACPI_DEBUG, then
> setting debug.acpi.layer and debug.acpi.level sysctls to various levels of
> verbosity right before suspending/resuming.  Use a serial console to log
> the output.  Here are some proposed settings:
> 
>     debug.acpi.layer="ACPI_ALL_DRIVERS ACPI_ALL_COMPONENTS"
>     debug.acpi.level="ACPI_LV_IO"

This gives an insane amount of output during normal operation and almost
none when suspending and resuming. Perhaps I can limit it to events and
actions related with turning off the LCD screen, but looking at the code
it isn't immeditaly obvious on how I should do that.

-Guido



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031212185907.GA61783>