You are not logged in.

#1 2016-08-01 02:55:47

smrz
Member
Registered: 2016-05-12
Posts: 24

What's catching acpi events?

I need to modify actions triggered by an acpi event, but I can't figure out what software is catching and handling the event.  The event I need to deal with is 'lid open' on a notebook.  When I run acpi_listen, I can see that the lid close and opened events are being fired.

I have apcid installed and enabled, but there's no acpid.log file (in /var/log, or anywhere else).

/etc/acp/handler.sh just has

button/lid)
        case "$3" in
            close)
                logger 'LID closed'
                ;;
            open)
                logger 'LID opened'
                ;;
            *)
                logger "ACPI action undefined: $3"
                ;;
    esac

for lid events.  I don't know where it's logging these messages.
Something is catching and responding to events (the system is put to sleep when the lid is closed), but I can't figure out what.

Re system configuration:

  • xorg-server, xorg-server-utils, and xorg-apps are installed.

  • I'm running OpenBox, so there's no desktop (some desktops handle acpi events).

  • acpid is installed and enabled.

  • There's no power managment software installed.

  • I have not modified any relevant system configuration files

I'd appreciate any thoughts about this.  The arch linux wiki talks about acpid and acpi modules, but I haven't found anything relevant.

thanks

Offline

#2 2016-08-01 03:28:03

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,463

Re: What's catching acpi events?

Check the journal for log information.

logind manages ACPI events.

Offline

#3 2016-08-01 04:41:30

smrz
Member
Registered: 2016-05-12
Posts: 24

Re: What's catching acpi events?

Based on /etc/systemd/logind.conf, it appears that my system is using systemd's suspend  (I can disable suspending completely by setting HandleLidSwitch=ignore in this file).

The closed-lid/suspend works correctly.  The open-lid event ends the suspend successfully, but it leaves the screen dim. (More precisely, when the lid it opened, the screen flashes to normal brightness but then goes dim).  So I need to modify the 'unsuspend' action.

Per the Arch Linux Power Management wiki, it may be possible to get at via "Suspend/resume service files".  Is this the best/simplest way to approach the problem?  Needless to say, I haven't dealt with this stuff before.

Offline

#4 2016-08-02 12:58:42

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: What's catching acpi events?

I can disable suspending completely by setting HandleLidSwitch=ignore in this file.

That's not what happens, setting HandleLidSwitch=ignore just disables systemd suspend / resume when LidSwitch status changes.
If you configure another userspace tools configured to handle lidswitches , it will do what you have set it to do.

Imo the main question you should ask yourself is:

Who/what should manage LidSwitch and other power related events on my system ?

Last edited by Lone_Wolf (2016-08-02 13:01:04)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2016-08-02 18:27:33

smrz
Member
Registered: 2016-05-12
Posts: 24

Re: What's catching acpi events?

Yes, at present only systemd is handling acpi events.  Any suggestions for alternatives?  There seem to be several.  I'm not running a desktop (just OpenBox), so I need something that's not part of a de.

Offline

Board footer

Powered by FluxBB