Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jan 2020 19:29:14 -0500
From:      Ryan Stone <rysto32@gmail.com>
To:        Warner Losh <imp@bsdimp.com>
Cc:        FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: How do I completely disable suspend?
Message-ID:  <CAFMmRNwXGqiV9fcw3gBeDkpfh8wPRaN0ZLN5Np7RKrqgna4QUg@mail.gmail.com>
In-Reply-To: <CANCZdfrYy-K1TCvCYCEQiAwqzUJiCf7B9y=3jPqQT-OWdTchSg@mail.gmail.com>
References:  <CAFMmRNxEhqmERAL9qPUxFPkxvBOMu8e%2BxoKnNgx38WPYy3GjDg@mail.gmail.com> <CANCZdfrYy-K1TCvCYCEQiAwqzUJiCf7B9y=3jPqQT-OWdTchSg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 1, 2020 at 5:01 PM Warner Losh <imp@bsdimp.com> wrote:
>
>
>
> On Wed, Jan 1, 2020, 1:46 PM Ryan Stone <rysto32@gmail.com> wrote:
>>
>> I have a laptop on which suspend/resume doesn't work.  I don't need
>> suspend/resume and don't want to spend the time debugging it.
>> However, there are some really annoying cases that can trigger a
>> suspend, and I find up having to power off the laptop to get it to
>> boot properly again.  How can I completely disable suspend?  Playing
>> with the sysctls under hw.acpi doesn't seem to actually do anything.
>
>
> You want to make the switch action do nothing.  I do this so that I have =
a custom devd action that sleeps for 60 seconds and then suspends if the li=
d is still closed. I often close my lid and then go 'oh, crap I forgot to..=
.' and I want some time to recover from that mistake that doesn't force a s=
uspend/resume.
>
> hw.acpi.lid_switch_state: NONE
>
> and
>
> notify 10 {
>         match   "system"        "ACPI";
>         match   "subsystem"     "Lid";
>         action "/usr/local/bin/imp-lid $notify";
> };
>
> in devd.conf for me.
>
> And while Ryan won't need it, here's imp-lid:
>
> #!/bin/sh
> lid-wait() {
>     logger "Waiting a minute to suspend"
>     sleep 60
>     case $(sysctl -n dev.acpi_lid.0.state) in
>         0) logger "suspending"; zzz ;;
>         *) logger "never mind";;
>     esac
> }
>
> case $1 in
>     0x00)       # lid closed
>         lid-wait &
>         ;;
>     0x01) ;;    # Ignore opening
> esac
> exit 0
>
>
> Warner

Thanks, but in my case, the biggest issue isn't closing the lid but
some magic extra function button on the keyboard that something has
decided should trigger a suspend.



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