No ac_adapter events, upower doesn't update ac adapter state - workaround

Alexander Mezin mezin.alexander at gmail.com
Mon Apr 2 17:51:53 UTC 2012


When I plug/unplug ac adapter, upower doesn't report that it's state
changed, kde's power manager doesn't switch profiles. If I start with
ac adapter plugged in and then unplug it, battery indicator shows that
battery is discharging, but ac adapter is plugged in. Battery state is
reported correctly. This problem exists in every linux distribution I
tried for every kernel version from 2.6 to 3.4. Also it seems that
this bug affects many people (open bugs in kde, upower bugtrackers).

I found a workaround and I think I must share it. I rebuilt kernel
with ACPI_PROCFS_POWER=y ("Deprecated power /proc/acpi directories")
and noticed that if I do "cat /proc/acpi/ac_adapter/AC/state" then
state of the adapter becomes correct in kde, upower's output, etc.

I added a file to /etc/acpi/events/ with following contents:
event=battery
action=cat /proc/acpi/ac_adapter/AC/state > /dev/null

After restarting acpid everything works. The only problem is that
ACPI_PROCFS_POWER is deprecated. I hope this bug will be fixed before
the option will be removed. And I think this workaround must be
described somewhere in documentation/FAQ/wiki.


More information about the power-management mailing list