Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 May 2005 10:35:02 -0700
From:      Nate Lawson <nate@root.org>
To:        Bruno Ducrot <ducrot@poupinou.org>
Cc:        acpi@freebsd.org
Subject:   Re: S3 state handled in BIOS?
Message-ID:  <42921446.2000405@root.org>
In-Reply-To: <20050523103252.GX21800@poupinou.org>
References:  <1116811842.671.22.camel@RabbitsDen> <20050523103252.GX21800@poupinou.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Bruno Ducrot wrote:
> 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.


In that case, it would be interesting to see the acpidump -t -d and 
compare values for the _S1 and _S3 nodes.

-- 
Nate



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