hibernate/suspend immediately resumes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Judging from the results of Google searches about this, this is a
problem that has been around for a while, but I have not found a
solution that works for my case. Most of the hits were on postings in
the Ubuntu forums, and regarding pretty old versions of Ubuntu at that
(which means they don't account for systemd, grub2, etc. if any of that
comes into play). So I thought I would ask here on the Fedora list.

This is for a brand-new machine with an ASUS Z-87 motherboard, Intel i5
Haswell processor (4 core, 64-bit) and fully updated F19 (64-bit).

The problem is that when doing a suspend or hibernate, the process
completes, but almost immediately the system resumes again. In the case
of hibernation, I have tried forcibly powering it off when the resume
starts. In that case, when I power it on again, the hibernated image
loads, but then the system hangs and never completes the resume. 

Just for completeness, the system also has a Windows 7 64-bit installed
OS, and that one is able to suspend and hibernate just fine, which would
seem to rule out hardware issues.

The solutions I found for Linux were of two types: disabling ACPI
wakeups (using "acpitool -W") and "unbinding" USB drivers (not sure what
that even means). I've tried both approaches with no success. 

More details: I spent an entire evening last night fiddling with this
with no success, so I really REALLY don't want anyone coming back and
saying I haven't done my homework, or do some Google searches you idiot,
etc. (unless you can point me to the exact Google search I need to do).
I have done these things to the best of my ability already.

# acpitool -w
   Device       S-state   Status   Sysfs node
  ---------------------------------------
  1. UAR1         S4    *disabled  pnp:00:0a
  2. RP01         S4    *disabled  pci:0000:00:1c.0
  3. PXSX         S4    *disabled
  4. RP03         S4    *disabled  pci:0000:00:1c.2
  5. PXSX         S4    *enabled   pci:0000:03:00.0
  6. RP04         S4    *disabled  pci:0000:00:1c.3
  7. PXSX         S4    *disabled  pci:0000:04:00.0
  8. RP08         S4    *disabled  pci:0000:00:1c.7
  9. PXSX         S4    *disabled  pci:0000:08:00.0
  10. RP07        S4    *disabled  pci:0000:00:1c.6
  11. PXSX        S4    *disabled  pci:0000:06:00.0
  12. GLAN        S4    *disabled
  13. EHC1        S4    *enabled   pci:0000:00:1d.0
  14. EHC2        S4    *enabled   pci:0000:00:1a.0
  15. XHC         S4    *enabled   pci:0000:00:14.0
  16. HDEF        S4    *disabled  pci:0000:00:1b.0
  17. PEG0        S4    *disabled  pci:0000:00:01.0
  18. PEGP        S4    *disabled  pci:0000:01:00.0
  19. PEG1        S4    *disabled
  20. PEG2        S4    *disabled

So I tried disabling 5, 13, 14, and 15 ("acpitool -w 5" and so forth). 5
can't be disabled (at least, it still shows as "enabled" after running
"acpitool -W 5), so I assume that's the power button. The others show up
as "disabled" after doing this, but hibernate/suspend still resumes
immediately even after doing this.

"Unbinding" drivers is done with a shell script that looks like this:

==============================================================================
function unbind_usb {
    for driver in ehci-pci  firewire_ohci  ohci-pci  uhci_hcd  xhci_hcd;
do
        cd "/sys/bus/pci/drivers/${driver}";
        ids=$(ls | grep :);
        echo $ids > /var/tmp/DISABLED_$driver;
        for id in $ids; do
            echo "Unbinding $id";
            echo -n "$id" > unbind;
            disabled="$disabled $id";
        done;
    done;
}

function bind_usb {
    for driver in ehci-pci  firewire_ohci  ohci-pci  uhci_hcd  xhci_hcd;
do
        cd "/sys/bus/pci/drivers/${driver}";
        for id in $(cat /var/tmp/DISABLED_$driver); do
            echo "Binding $id";
            echo -n "$id" > bind;
        done;
        rm /var/tmp/DISABLED_$driver;
   done;
}

A script that calls unbind_usb on hibernate/suspend and calls bind_usb
on thaw/resume is placed in /usr/lib64/pm-utils/sleep.d/S50usbbind .
This does not work either.

The most aggravating thing is that I have another machine built from the
same hardware, and suspend/hibernate works fine on that one, without any
of this being necessary. So it may well come down to determining exactly
which drivers need to be unbound. The machine that doesn't work does
have a couple of additional cards in it (that provide extra USB ports
and some Firewire ports) which suggests the driver for one of those
cards is causing the problem. The original script wanted to unbind
everything that had *hci* in the name, but I found that if "ahci" was
unbound, then I could no longer access anything on the disk, and I had
to push the reset button to recover; maybe that is the hard disk driver.
So I can't just try unbinding everything.

Anything that can point me in the right direction here is greatly
appreciated.

--Greg



-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org




[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux