#12 /proc/acpi/event is a deprecated API

open
nobody
None
5
2014-08-25
2007-10-09
Torsten Werner
No

Hi,

acpid does not handle the case that /proc/acpi/event is switched off in kernel 2.6.23. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=440870 for an example.

Cheers,
Torsten

Discussion

1 2 > >> (Page 1 of 2)
  • Pandor
    Pandor
    2008-01-22

    Logged In: YES
    user_id=1284651
    Originator: NO

    any solution in the works?

     
  • Logged In: YES
    user_id=450705
    Originator: NO

    well, does anybody care? c'mon, that's not a minor problem!
    please, someone do the job ;)

     
  • Logged In: NO

    Anything yet? =sys-kernel/tuxonice-sources-2.6.24-rc3 :-)

     
  • Roger
    Roger
    2008-03-03

    Logged In: YES
    user_id=348797
    Originator: NO

    Anything yet? =sys-kernel/tuxonice-sources-2.6.24-rc3 :-)

    (Oops. Forgot to log-in. :-/ )

     
  • Adam Bowers
    Adam Bowers
    2008-07-09

    Logged In: YES
    user_id=1169316
    Originator: NO

    How long until this interface is dropped from the kernel? 2.6.25 is already stable in Gentoo.

     
  • Roger
    Roger
    2008-07-10

    Logged In: YES
    user_id=348797
    Originator: NO

    # cat /proc/acpi/event
    cat: /proc/acpi/event: Device or resource busy

    It's caused by hald. So, to resolve:

    /etc/init.d/hald stop
    /etc/init.d/acpid start
    /etc/init.d/hald start

    In essence, adding acpid rc script to boot and hald to default would probably quick fix this.

     
  • Adam Bowers
    Adam Bowers
    2008-07-10

    Logged In: YES
    user_id=1169316
    Originator: NO

    I've actually tried this, but without luck. If you don't have /proc/acpi/event enabled in the kernel it really won't matter what you do.

     
  • Torsten Werner
    Torsten Werner
    2008-07-12

    Logged In: YES
    user_id=402275
    Originator: YES

    The project looks dead to me. The author should tell us if that is true. It is not a shame to stop working for an open source project for whatever reason but it is a shame not talking about that issue.

     
  • Roger
    Roger
    2008-07-12

    Logged In: YES
    user_id=348797
    Originator: NO

    Some people are more busier then others. Luckily, although I'm busy, just don't have time to fix bugs but can at least get 'em filed, etc.

    As far as this project, for historical reasons for this bug, what are the alternatives or is acpid even needed? I think it's needed for acpi scripts correct??

     
  • Roger
    Roger
    2008-07-13

    Logged In: YES
    user_id=348797
    Originator: NO

    Just a note concerning starting acpid prior to hald, this seems to cause a conflict when using the =x11-drivers/nvidia-drivers-173.14.09 && =sys-apps/hal-0.5.9.1-r3 && =sys-kernel/tuxonice-sources-2.6.25-r6.

    The symptoms are, after switching from X to console, a garbled display is the result. To be more exact, it's probably an issue with X & nvidia-drivers concerning acpid and system resources. The garbled display remains so even after return from suspend. I just removed the acpid process all together from the rc runlevels here on this particular server setup.

     
  • Ted Felix
    Ted Felix
    2008-10-11

    I'm going to start fixing this problem this week. I've talked with Tim and he's given me the go-ahead. This has caused the power button and lid switch to be broken in Ubuntu 8.04.1 and 8.10 beta even though /proc/acpi/event is built into the kernel. I've not tracked this down as I figure it's kind of pointless to fix a deprecated interface. Slackware 12.1 works fine.

    I'll try to post weekly updates on the status. Wish me luck. I'm going in....

    Ted.

     
  • Ted Felix
    Ted Felix
    2008-10-22

    Still working towards fixing this. Check my diary for the latest updates.

     
  • Tim Hockin
    Tim Hockin
    2008-10-29

    For some reason I never got notified of any of these threads. Sigh. Ted has been working on this. I am still here, just a bit over-committed.

     
  • Any news on when your code will hit the tree and be released tedfelix? :)

     
  • Ted Felix
    Ted Felix
    2008-11-20

    The code was sent off to Tim on Sunday. It's a relatively big set of changes, so it might take some time for him to review. However, Tim has been turning around my patches really quickly, so my feeling is that we'll see it by Monday 11/24. Stay tuned...

     
  • Is it just to apply the patch and use it?
    If so, is there a chance you can post it, so we can test it?

     
  • Ted Felix
    Ted Felix
    2008-12-12

    Ok, I've posted the complete 1.0.8ted1 source to the patches section of this project on SourceForge. Read the notes in the post, grab it, build it, and test it. Any and all feedback is sincerely appreciated.

     
  • Tim Hockin
    Tim Hockin
    2008-12-12

    Sorry gang, I know this is important. I have been swamped with my Real Job and Real Life. :( I'm trying to get to to this...

     
  • I just compiled and installed it, and that went without any problems.
    Starting it with -n -d to enable netlink and debugging works fine.

    I can see it uses /dev/input/event0 and event1, but I'm not sure any of them are the power button, since it doesn't react to it being pressed.
    Is there something I'm missing to being able to test it?

    I have the power button enabled in my kernel (2.6.27) :)

     
  • Ted Felix
    Ted Felix
    2008-12-14

    > Is there something I'm missing to being able to test it?

    Not sure. I've just put together a page on my website with some tools you can try that might help track down what's going on:

    http://www.tedfelix.com/linux/acpid.html

    Try kacpimon and evtest and see if you can get the power button to cause something to happen with those. Don't forget to run as root and kill acpid ("killall acpid").

    Thanks for testing.

     
  • Nothing happens, here is all the output the two tools print:

    -------------
    woodpecker kacpimon # ./kacpimon
    Kernel ACPI Event Monitor...
    /proc/acpi/event opened successfully
    /dev/input/event0 (Power Button (CM)) opened successfully
    /dev/input/event1 (AT Translated Set 2 keyboard) opened successfully
    Netlink ACPI Family ID: 18
    Netlink ACPI Multicast Group ID: 2
    netlink opened successfully
    Press Escape to exit, or Ctrl-C if that doesn't work.
    -------------
    woodpecker evtest # ./evtest /dev/input/event0
    Input driver version is 1.0.0
    Input device ID: bus 0x19 vendor 0x0 product 0x1 version 0x0
    Input device name: "Power Button (CM)"
    Supported events:
    Event type 0 (Sync)
    Event type 1 (Key)
    Event code 116 (Power)
    Testing ... (interrupt to exit)
    -------------

    It seems like event0 is the powerbutton, but nothing is printed out when it is pressed.
    It used to work before the deprecated /proc files was removed, so it can work ;)

     
  • Ted Felix
    Ted Felix
    2008-12-15

    Are you getting other keyboard events (try pressing various keys) with kacpimon? How about with evtest:

    evtest /dev/input/event1

    If you aren't getting anything for the keyboard, then something is fishy about the input layer in your kernel.

    Can you rebuild your kernel with /proc/acpi/event turned on? kacpimon will then show those events along with events from /dev/input/event0. If we see one but not the other, that would narrow down the problem.

    Which distro are you using? I might have to set up a similar system so I can reproduce this.

     
  • Works fine, here is the output of three taps on the spacebar key:

    ----------------------------
    Testing ... (interrupt to exit)
    Event: time 1229375451.532632, type 4 (Misc), code 4 (ScanCode), value 39
    Event: time 1229375451.532656, type 1 (Key), code 57 (Space), value 1
    Event: time 1229375451.532662, -------------- Report Sync ------------
    Event: time 1229375451.654741, type 4 (Misc), code 4 (ScanCode), value 39
    Event: time 1229375451.654754, type 1 (Key), code 57 (Space), value 0
    Event: time 1229375451.654757, -------------- Report Sync ------------
    Event: time 1229375451.732411, type 4 (Misc), code 4 (ScanCode), value 39
    Event: time 1229375451.732427, type 1 (Key), code 57 (Space), value 1
    Event: time 1229375451.732432, -------------- Report Sync ------------
    Event: time 1229375451.815575, type 4 (Misc), code 4 (ScanCode), value 39
    Event: time 1229375451.815588, type 1 (Key), code 57 (Space), value 0
    Event: time 1229375451.815591, -------------- Report Sync ------------
    Event: time 1229375452.088875, type 4 (Misc), code 4 (ScanCode), value 39
    Event: time 1229375452.088896, type 1 (Key), code 57 (Space), value 1
    Event: time 1229375452.088902, -------------- Report Sync ------------
    Event: time 1229375452.133109, type 4 (Misc), code 4 (ScanCode), value 39
    Event: time 1229375452.133121, type 1 (Key), code 57 (Space), value 0
    Event: time 1229375452.133125, -------------- Report Sync ------------
    ----------------------------

    My kernel is built with /proc/acpi/event :)
    ----------------------------
    woodpecker evtest # ls /proc/acpi/event
    /proc/acpi/event
    ----------------------------

    I'm using Gentoo with a vanilla 2.6.27 kernel.
    Let me know if you need any more info.

     
  • Ted Felix
    Ted Felix
    2008-12-16

    Ok. Then assuming evtest, kacpimon, and acpid are correct, you've got kernel and/or ACPI problems. No messages are coming over /proc/acpi/event (kacpimon would show them) and nothing is coming over the input layer for your power button. This is the exact same problem I originally had that led me to acpid.

    If you want me to help you try and figure this out, let's take this offline and try to troubleshoot your setup via private email. Doesn't really belong on here. Email me at my direct email address which can be found at:

    http://www.tedfelix.com/email.html

    For all those who just can't stand the suspense, we'll report the final results here once we figure out what's up.

     
  • Olaf Westrik
    Olaf Westrik
    2009-02-02

    I cant' stand the suspense ...

    Anyway, I have the 1.0.8ted1 version up and running with a (relatively) vanilla 2.6.27.13 without /proc/acpi/events. Thanks tedfelix!!
    The one thing I had to change in samples.conf is the definition of button, which in my case needs to be something like:
    event=button[ /]power

    Any chance of getting this stuff 'merged' ? And call it 1.1.0-rc1 or 2.0.0-rc1 ?
    If possible I think it is also a good idea to add the kacpimon tool or maybe even integrate parts into acpid.

    Output from acpid:

    # acpid -n -d -l
    acpid: input layer /dev/input/event0 opened successfully
    acpid: input layer /dev/input/event2 opened successfully
    acpid: input layer /dev/input/event3 opened successfully
    acpid: netlink opened successfully
    acpid: starting up with netlink and the input layer
    acpid: parsing conf file /etc/acpi/events/powerbtn.conf
    acpid: 1 rule loaded
    acpid: waiting for events: event logging is on
    acpid: received input layer event "button/power PBTN 00000080 00000000"
    acpid: rule from /etc/acpi/events/powerbtn.conf matched
    acpid: executing action "/usr/local/bin/power.sh "button/power PBTN 00000080 00000000""
    BEGIN HANDLER MESSAGES
    /bin/sh: /usr/local/bin/power.sh: No such file or directory
    END HANDLER MESSAGES
    acpid: action exited with status 127
    acpid: 1 total rule matched
    acpid: completed input layer event "button/power PBTN 00000080 00000000"

     
1 2 > >> (Page 1 of 2)