Comment 27 for bug 114595

Revision history for this message
Gordon Mckeown (thefluffyone) wrote :

Getting the same problem here on Kubuntu Gutsy on a Dell Latitude D610.

The symptoms I see are that first suspend works, and then none after that work. If I quit the Power Manager app and restart it, I get one suspend and then subsquently suspend doesn't work again.

I'm afraid my Python skills are rather lacking, but I stuffed some debug statements into powermanage.py and discovered that the getLidClosedState() function is failing after the first suspend -- it generates an exception and the code deals with that by always returning "false" (meaning "lid is open"). The specific command that results in the exception is:

properties = self.lidObject.GetAllProperties(dbus_interface="org.freedesktop.Hal.Device")

Looking at the code I think self.lidObject maps directly to a Python library that pulls the data in from HAL, and this fits with the behaviour described above that a HAL update introduced the problem.

As a workaround, I imagine the getLidClosedState() function could be amended to read the content of /proc/acpi/button/lid/*/state instead of getting the information from HAL.