ACPI Suspend, devd and rc.suspend
Ben Jencks
ben at bjencks.net
Tue Mar 28 06:05:27 UTC 2006
"Kevin Oberman" <oberman at es.net> writes:
>> From: George Hartzell <hartzell at alerce.com>
>> Date: Mon, 27 Mar 2006 20:17:59 -0800
>> Sender: owner-freebsd-mobile at freebsd.org
>>
>> Norberto Meijome writes:
>> > On Mon, 27 Mar 2006 09:45:27 -0800
>> > Ben Jencks <ben-freebsd-mobile at bjencks.net> wrote:
>> > [...]
>> > >
>> > > In order to make this work on my T43p, I set dev.acpi_ibm.0.events=1,
>> > > so that Fn-F4 generates an acpi_ibm event (which is handled by devd)
>> > > rather than a suspend event (which tells the kernel to suspend
>> > > straightaway). I have the block
>> > >
>> > > notify 10 {
>> > > match "system" "ACPI";
>> > > match "subsystem" "IBM";
>> > > match "notify" "0x04";
>> > > action "/usr/sbin/zzz";
>> > > };
>> > >
>> > > in my devd.conf, so that it calls zzz, which does the right thing.
>> > >
>> >
>> > cool, that's EXACTLY what I was after :) thx man
>>
>> Is there any way to hook up
>>
>> hw.acpi.lid_switch_state: S3
>>
>> so that it also runs through devd and can run zzz?
>>
>> The atheros wireless card in my T42p doesn't wake up properly when I
>> suspend/resume from X, but if I use vidcontrol to switch to a
>> different virtual terminal on suspend and back on resume then it works
>> just fine.
>>
>> I've add a couple of hacks in /etc/rc.{suspend,resume}, but they're
>> not called on a lid close event.
>
> You might want to look at a couple of sysctls: hw.acpi.reset_video and
> hw.syscons.sc_no_suspend_vtswitch. these might help.
>
> I am pretty sure that hooks to the lid switch are possible, but I don't
> think code has been put in FreeBSD to do it.
I see ACPI events when I hit my lid switch, so if you set
hw.acpi.lid_switch_state=NONE (the default, AFAICT), you should be able
to use another devd hook.
-Ben Jencks
More information about the freebsd-mobile
mailing list