I just got a Carbon 4th generation this week -- same issue of course.
]]>I have tried to debug this and I found some differences in messages logged into log files when system hibernates.
************* Logs when system won't resume properly ****************************
Sep 03 19:03:56 hyperion kernel: PM: resume of devices complete after 775.989 msecs
Sep 03 19:03:56 hyperion kernel: PM: Finishing wakeup.
Sep 03 19:03:56 hyperion systemd[1]: Time has been changed
Sep 03 19:03:56 hyperion systemd[756]: Time has been changed
Sep 03 19:03:56 hyperion kernel: Restarting tasks ... done.
Sep 03 19:03:56 hyperion systemd-sleep[8462]: System resumed.
Sep 03 19:03:56 hyperion systemd[1]: Started Suspend.
Sep 03 19:03:56 hyperion systemd[1]: sleep.target: Unit not needed anymore. Stopping.
Sep 03 19:03:56 hyperion systemd[1]: Stopped target Sleep.
Sep 03 19:03:56 hyperion systemd[1]: suspend-to-hibernate.service: Unit not needed anymore. Stopping.
Sep 03 19:03:56 hyperion systemd[1]: tlp-sleep.service: Unit not needed anymore. Stopping.
Sep 03 19:03:56 hyperion systemd[1]: Stopping TLP suspend/resume...
Sep 03 19:03:56 hyperion systemd[1]: Stopping Delayed hibernation trigger...
Sep 03 19:03:56 hyperion sh[8491]: hibernate triggered
Sep 03 19:03:56 hyperion pulseaudio[891]: [pulseaudio] sink-input.c: Failed to create sink input: sink is
Sep 03 19:03:56 hyperion systemd[1]: Starting TLP suspend/resume...
Sep 03 19:03:56 hyperion systemd[1]: Started TLP suspend/resume.
Sep 03 19:03:56 hyperion systemd[1]: Reached target Sleep.
Sep 03 19:03:56 hyperion systemd[1]: Starting Hibernate...
Sep 03 19:03:56 hyperion systemd-sleep[8693]: Suspending system..
***************** Logs when system resumes correctly *************************************
Sep 04 07:58:16 hyperion kernel: PM: resume of devices complete after 777.057 msecs
Sep 04 07:58:16 hyperion kernel: PM: Finishing wakeup.
Sep 04 07:58:16 hyperion systemd[1]: Time has been changed
Sep 04 07:58:16 hyperion systemd[568]: Time has been changed
Sep 04 07:58:16 hyperion systemd[1028]: Time has been changed
Sep 04 07:58:16 hyperion kernel: Restarting tasks ... done.
Sep 04 07:58:16 hyperion kernel: psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1096..
Sep 04 07:58:16 hyperion systemd-sleep[4523]: System resumed.
Sep 04 07:58:16 hyperion systemd[1]: Started Suspend.
Sep 04 07:58:16 hyperion systemd[1]: sleep.target: Unit not needed anymore. Stopping.
Sep 04 07:58:16 hyperion systemd[1]: Stopped target Sleep.
Sep 04 07:58:16 hyperion systemd[1]: tlp-sleep.service: Unit not needed anymore. Stopping.
Sep 04 07:58:16 hyperion systemd[1]: suspend-to-hibernate.service: Unit not needed anymore. Stopping.
Sep 04 07:58:16 hyperion systemd[1]: Stopping Delayed hibernation trigger...
Sep 04 07:58:16 hyperion systemd[1]: Stopping TLP suspend/resume...
Sep 04 07:58:16 hyperion sh[4535]: hibernate triggered
Sep 04 07:58:16 hyperion systemd[1]: Starting TLP suspend/resume...
Sep 04 07:58:16 hyperion systemd[1]: Started TLP suspend/resume.
Sep 04 07:58:16 hyperion systemd[1]: Reached target Sleep.
Sep 04 07:58:16 hyperion systemd[1]: Starting Hibernate...
Sep 04 07:58:16 hyperion systemd-sleep[4692]: Suspending system...
Sep 04 07:58:16 hyperion kernel: PM: Hibernation mode set to 'platform'
Sep 04 08:00:32 hyperion kernel: PM: Syncing filesystems ... done.
Sep 04 08:00:32 hyperion kernel: Freezing user space processes ... (elapsed 0.001 seconds) done.
Notice how when hibernate works correctly, the messages logged say:
Sep 04 07:58:16 hyperion kernel: PM: Hibernation mode set to 'platform'
Sep 04 08:00:32 hyperion kernel: PM: Syncing filesystems ... done.
Also, I am using swap as hibernate partition. I have resume hook correctly in mkinitcpio.conf file and resume line in Kernel boot parameter. However, my Swap parition size is only 8GB whereas my system has 12GB of RAM.
]]>