On 4/4/16, Philip Guenther <[email protected]> wrote:
> On Mon, 4 Apr 2016, patrick keshishian wrote:
>> I will look for a BIOS update. Last time I looked there were none.
>>
>> This laptop came with some version of Windows (I forget now which), it
>> had no issues with sleep/wake/hibernate/etc. Assuming the issue is with
>> broken AML and the BIOS, then Windows must have known about the exact
>> bugs and had workarounds. Is this how things work?
>
> Was this working before and only stopped working when you installed the
> 2016-3-30 snapshot? If so, do you recall what the last version or snap
> you had installed where it worked?
>
> If so, maybe the AML has bogus conditionals on Windows versions claimed in
> _OSI, as we changed our list for that on 2016-3-2.
Hi Philip,
I didn't think about that. But the other thing that was changed, was the
new logic to check if any lids are open before waking.
The last snapshot on this laptop was quite old and it did work:
OpenBSD 5.8-beta (GENERIC) #1050: Tue Jun 30 11:10:13 MDT 2015
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
I just commented out the entries that were added in revision 1.220 of
dsdt.c (as you mentioned):
+ "Windows 2001.1 SP1",
+ "Windows 2006.1",
+ "Windows 2006 SP1",
+ "Windows 2006 SP2",
+ "Windows 2015",
and still same behavior.
I would be 100% on board with the idea of something wrong with
AML/BIOS as Mike suggests, if it were not for the puzzling fact that
after a "wake" (initiated by a button press) first call to _LID reports 1
(lid open) and any subsequent _LID calls report 0.
I placed a short for() loop in acpibtn_activate() to call _LID 10 more
times after the initial call, which reports 1. All the calls in the for() loop
report 0.
Now, I also put the similar for() loop in acpitbtn_attach(), which is
called at boot up time. Every single time _LID returns 1.
This seems to suggest something gets trampled on after a sleep
and wake cycle. I'll poke at this some more as time permits.
Incidentally, this lid device does not have a _PSW, so the
acpibtn_{en,dis}able_psw() don't do much.
--patrick