I'm aware that this has been covered in multiple places, but none of the solutions seem to work for me. I'm on an old Core 2 Duo laptop, which refuses to suspend/hibernate. Instead, it immediately awakens.
First thing I did was to check the dmesg output, which reads:
[11090.873908] sd 0:0:0:0: [sda] Stopping disk
[11090.873974] cfg80211: Calling CRDA to update world regulatory domain
[11090.948067] tpm_tis 00:01: Error (38) sending savestate before suspend
[11090.948073] __pnp_bus_suspend(): tpm_pm_suspend+0x0/0x1c0 returns 38
[11090.948077] dpm_run_callback(): pnp_bus_suspend+0x0/0x20 returns 38
[11090.948080] PM: Device 00:01 failed to suspend: error 38
[11093.165642] PM: Some devices failed to suspend, or early wake event detected
[11093.167005] sd 0:0:0:0: [sda] Starting disk
A quick google for some quotes from this snippet did not yield anything that could help me, but you can clearly see something is going wrong. Next was a check for the wakeup devices (cat /proc/acpi/wakeup)
Device S-state Status Sysfs node
HDEF S4 *disabled pci:0000:00:1b.0
PXS3 S5 *enabled pci:0000:04:00.0
LANC S0 *disabled
MODM S3 *disabled
Disabling the only enabled device (no idea what it represents) had no effect whatsoever. I've also tried doing it manually using
echo mem > /sys/power/state
echo disk > /sys/power/state
Both these lines had the same effect: immediate wakeup. Anything obvious I haven't tried yet?
BTW: kernel 3.13.0-34-generic