Unable to Suspend to RAM

Recently in Fedora 21 and 22 I noticed I was unable to suspend to RAM at the login manager screen and nobody logged in. I am using a Thinkpad T400 and LightDM.

With nobody logged in I was unable to suspend using Fn+F4 or closing the lid. This is not a LightDM problem as I rebooted to the command line and repeated the results.

After logging in at run level 3, I ran systemctl suspend and the laptop suspended immediately.

The logs provided no indication of pressing Fn+F4 or closing the lid.

Although /etc/systemd/logind.conf should not need editing, I enabled the following:

    HandleSuspendKey=suspend
    HandleLidSwitch=suspend
    HandleLidSwitchDocked=ignore

No change after restarting logind or rebooting.

After several hours of sleuthing I discovered two hurdles. In my /etc/rc.d/rc.local I had the following:

    if [ "`/sbin/lsmod | grep drm_kms_helper`" != "" ]; then
      echo N> /sys/module/drm_kms_helper/parameters/poll
    fi
    echo disable > /sys/firmware/acpi/interrupts/gpe11 2>/dev/null

While I had no comments in rc.local to remind me, I remember adding those directives because of mouse pointer freezing issues. I cannot say the options helped me as I still see the mouse pointer freeze at moments of intense disk activity. When this happens moving the mouse pointer is much like pushing strings.

After I commented out those lines in rc.local I then was able to suspend using Fn+F4. Yet I still could not suspend by closing the lid. Eventually I added the following to /etc/systemd/logind.conf:

    LidSwitchIgnoreInhibited=no
    HoldoffTimeoutSec=0

Finally I could suspend the T400 using both methods.

Classic WTF.

Posted: Category: Usability Tagged: General

Next: Understanding the Chasm

Previous: Laptop Screen Dimming