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