Home/Support/Support Forum/Resume from hibernate
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

Resume from hibernate

0 votes
I'm attempting to hibernate a ConnectCore 6UL, but it hangs while resuming immediately after loading the image from swap. I'm using a custom Yocto distro based on Digi's BSP and Yocto Thud. I ran the tests supported by /sys/power/pm_test and they all pass, and it can hibernate/resume when I set the hibernate mode to "test_resume" (with "echo test_resume > /sys/power/disk"), but a complete hibernate/resume fails to resume. I added "no_console_suspend initcall_debug" to the kernel arguments and got similar output (over serial) as when I suspend-to-RAM (which works), and I couldn't find any errors. The kernel docs suggest this could be an issue with the platform firmware (maybe the MCA?). Has anyone gotten hibernate/resume working on the ConnectCore 6UL?


Edit: The "test_resume" hibernate mode fails with a kernel error (NULL pointer dereference) the second time I trigger a hibernation.

Edit2: After setting up kdump/kexec, "test_resume" no longer causes a kernel panic, and I haven't been able to reproduce the kernel panic. The system still fails to resume from hibernate, but no errors are printed to the console.

Edit3: I've found that the hibernated kernel successfully resumes execution, but the serial console, ethernet port, and SPI-connected display don't work. So far I've only been able to confirm that writing to the NAND and SD card work. I wrote the contents of dmesg to a file on NAND after resuming from hibernate, but I didn't see any errors.
asked Oct 15, 2019 in Linux by ahaigh New to the Community (0 points)
edited Oct 18, 2019 by ahaigh

Please log in or register to answer this question.

1 Answer

0 votes
How are you putting system to sleep? In stock images there is a special script /bin/suspend - you might be missing some things from it.
answered Oct 28, 2019 by LeonidM Veteran of the Digi Community (3,519 points)
Sorry I didn't update this question, but I was able to resume from hibernation by building some kernel drivers as modules instead of integrating them into the kernel. I'm hibernating with a very simple script that writes "disk" to /sys/power/state.