Date: Fri, 20 Jan 2006 11:52:42 -0800 From: Nate Lawson <nate@root.org> To: Manfred Lotz <manfred.lotz@arcor.de> Cc: freebsd-acpi@freebsd.org Subject: Re: suspend/resume event Message-ID: <43D13F8A.8000802@root.org> In-Reply-To: <20060120200410.a05870c1.manfred.lotz@arcor.de> References: <20060120200410.a05870c1.manfred.lotz@arcor.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Manfred Lotz wrote: > Hi there, > With my Samsung X20 1730 suspend /resume works fine when doing > acpiconf -s 3. I added /etc/rc.d/moused restart in /etc/rc.resume and > the touchpad mouse gets awake after resuming. That's great. > > However when closing the lid (I set hw.acpi.lid_switch_state=S3) and > then pressing the power button although suspend/resume works > fine the mouse won't get restarted. This means /etc/rc.resume and > presumably /etc/rc.suspend won't get called in this case. > > Same happen when pressing Fn-ESC the key for suspend. > > How can I make sure /etc/rc.suspend as well as /etc/rc.resuem gets > called in the "non-acpiconf" cases? That's an implementation problem. I think the right approach is to add a resume notification to devd. That should be easy to do and I may look into it this weekend if no one submits a patch first. It's harder to hook in the suspend path because we'd have to add a new path: kernel notifies userland, waits for userland to complete rc.suspend, userland sends "go ahead" to kernel, and suspend actually happens. apm had that but there's a problem if userland is not responsive. The idea I came up with was to have an absolute timeout where after 30 seconds or something, the kernel gives up on userland and suspends anyway. I started work on a patch to do this a while ago but it had some bugs I never got around to fixing. One problem was multiple listeners (X11 server, rc.suspend, etc.) -- do you wait for all of them to ack the event before suspending? I think so, but it's difficult to get all the cases right. If someone wants to help finish this work, I'd be happy to supply the half-done patch. -- Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43D13F8A.8000802>