I've noticed the following problem with my xfce battery plugin in the panel. Apparently, it reads off the ACPI data once the computer boots up, but then it shows the same value throughout (for 2 hours on battery, and it still shows 98% remaining). I've manually read through the files in /proc/acpi, and I've realized they are the ones that are not being updated, so it's not the battery plugin's problem. Weird.
I'm running an IBM Thinkpad 240 laptop, with the most recent stock kernel. I run acpid and it seems to be able to read off AC switching and lid events OK. I've tried loading the ibm-acpi but that only provides the /proc/acpi/ibm tree, which besides, doesn't show any info pertaining my old laptop.
So, anybody has an idea how to force ACPI to "poll" the battery power more oftenly?
I had the exact same problem with my /proc/acpi/ tree not updating here on a Compaq 2575US (which is actually a HP ze5400) and after digging the web a little, I came across http://www.columbia.edu/~ariel/acpi/acpi_howto.html.
Somwhere in there it says about temperature polling, that you can do a
echo 30 > /proc/acpi/thermal_zone/THRM/polling_frequency
(where THRM is your thermal zone directory) to set the polling frequency to 30 sec. Since my polling_frequency file always said "polling disabled", I decided to just give it a try and to my surprise after issuing the command above, not only my pc's core temperature got updated regularly, but also the whole /proc/acpi/ tree did.
So I ended up adding the echo command above to my /etc/rc.local and now I'm happily monitoring my notebooks battery status accuratly.
Hope this helps
Thanks! In fact, I've replaced my laptop with a more recent model, and acpi seems to be working fine now, but hopefully this will benefit somebody else.