My fix for Kubuntu Guidance was based on the following observations. I
am not familiar with the way HAL is *supposed* to work, so I don't know
whether this constitutes a bug in HAL.

The problem lies in the following section of /usr/lib/hal/scripts/linux
/hal-system-power-suspend-linux:

#Refresh devices as a resume can do funny things
for type in button battery ac_adapter
do
        devices=`hal-find-by-capability --capability $type`
        for device in $devices
        do
                dbus-send --system --print-reply --dest=org.freedesktop.Hal \
                          $device org.freedesktop.Hal.Device.Rescan
        done
done

After a resume HAL hence re-inserts all button objects. These button
objects are not necessarily re-inserted in the same order that they were
in before resuming however. As such, the lid object can be
"/org/freedesktop/Hal/devices/computer_logicaldev_input_0" before resume
but "/org/freedesktop/Hal/devices/computer_logicaldev_input_2" after. In
short, all references to the lid object kept by Guidance Powermanager or
Gnome powermanager (if it keeps them) become invalid after resume.

You can easily check this as follows: execute `hal-find-by-property
--key button.type --string lid` before resume and after resume. They are
likely to be different (if they're not, closing the lid should allow
your laptop to sleep).

-- 
Feisty HAL upgrade broke suspend on lid close
https://bugs.launchpad.net/bugs/114595
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to