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>