/proc/acpi/event is a deprecated API
Brought to you by:
thockin
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
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 :-)
Logged In: YES
user_id=348797
Originator: NO
Anything yet? =sys-kernel/tuxonice-sources-2.6.24-rc3 :-)
(Oops. Forgot to log-in. :-/ )
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.
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.
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.
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.
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??
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.
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.
Still working towards fixing this. Check my diary for the latest updates.
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? :)
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?
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.
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) :)
> 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 ;)
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.
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.
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"