Created attachment 186804 [details]
AC adapter state change script to put the notebook into sleep on ac disconnect, but only if the lid is closed.
I have created a small acpi script (attached) to monitor the ac line and suspend the machine if the ac line is removed while the lid is closed. This script complements the lid script that suspends the machine if the lid is closed on battery.
I have found, however, that the value of the lid sysctl changes without a hardware state change. My guess is that there is some condition where the lid is closed or opened that the sysctl doesn't update.
For example, my log shows:
ACLINE Event. acline devd value:\'0x01\', lid sysctl:\'0\'.
AC Power inserted when lid was closed. No need for sleep.
However, the lid was open. Typically ``sysctl -n dev.acpi_lid.0.state'' is 0 for closed lid, 1 for open. I actually don't care what the value is, as long as it remains consistent, I guess the devd side of things stays constant (which is even more confusing) - the event 0x01 = open event, 0x00 = close event.
I've the same issue, steps to reproduce:
1. LID open 'sysctl -n dev.acpi_lid.0.state = 1'
2. LID closed 'sysctl -n dev.acpi_lid.0.state = 0'
3. Sending device to suspend
4. LID open (device resume from suspend automatically) 'sysctl -n dev.acpi_lid.0.state = 0'
On LID open after resume the value should be 1.