S3 state handled in BIOS?

Bruno Ducrot ducrot at poupinou.org
Mon May 23 10:36:03 GMT 2005


On Sun, May 22, 2005 at 09:30:42PM -0400, Alexandre Sunny Kovalenko wrote:
> Good people,
> 
> after much pocking around my laptop (Averatec
> 3150H), /usr/src/sys/i386/acpica/acpi_wakeup.c
> and /usr/src/sys/contrib/dev/acpica/hwsleep.c, I came to conclusion that
> S3 state in my case causes BIOS to suspend machine at the point when
> SLP_TYP and SLP_EN are set and resume it from that same point,
> completely ignoring wakeup vector.
> 
> This would cause FreeBSD to hit infinite loop in acpi_sleep_machdep
> (acpi_wakeup.c) and never come back. Replacing that loop with
> AcpiOsSleep(5000) lets system resume properly.
> 
> This kind of sleep (pseudo S3?) about doubles battery life, which is not
> much to write home about, but matches what Windows does on the same
> hardware, so, I guess, it is best I am going to get.
> 
> Question that I have to the list is whether somebody who knows ACPI
> thinks that it is common enough situation to warrant tunable along the
> lines of 'hw.acpi.s3bios', which would eliminate infinite loop if set?
> 
> I have unconditionally eliminated the loop for now and have been testing
> it here for awhile without any bad side effects.
> 
> If your system appears to hang after resume from S3 while turning power
> on, you might want to try attached very simplistic patch.
> 

I think your machine actually perform S1, not S3, likely because the
values associated to _S3 (a package in the asl) are for _S1.

Cheers,

-- 
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


More information about the freebsd-acpi mailing list