You are not logged in.

#1 2016-01-22 16:55:57

davy_crockett
Member
Registered: 2015-10-21
Posts: 75

[SOLVED] Hibernate won't work

Hi there,

Recently I've been trying to get hibernate to work. I'm on a Dell Precision M6700 laptop. When I try to hibernate (suspend to disk) by clicking the hibernate button in KDE5, the screen goes black and all the lights except the wifi light go off on my laptop and the fans whir at high speed, and my laptop stays like that and doesn't turn off.

I've added the kernel parameters for this as follows: (From my /etc/default/grub):

GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/md/internal_0p2:system root=/dev/mapper/system-root resume=/dev/mapper/system-swap quiet ipv6.disable=1 radeon.audio=1"

I've also added the resume hook to the initramfs:

HOOKS="base udev autodetect modconf block mdadm_udev encrypt lvm2 filesystems resume keyboard fsck"

I've rebuilt these using

sudo mkinitcpio -p linux
sudo grub-mkconfig -o /boot/grub/grub.cfg

Any ideas?

Last edited by davy_crockett (2016-02-12 10:26:24)

Offline

#2 2016-01-22 17:22:34

herbie643
Member
Registered: 2015-03-03
Posts: 28

Re: [SOLVED] Hibernate won't work

What kernel are you using and as the Arch Wiki states that if HIbernation doesn't work, try an LTS kernel.

Offline

#3 2016-01-22 18:05:32

davy_crockett
Member
Registered: 2015-10-21
Posts: 75

Re: [SOLVED] Hibernate won't work

4.3.3-3-ARCH. I'll stay with this kernel because I can live without hibernate. If I downgrade my kernel and still experience the same issue, what would that indicate and what would I do next?

Offline

#4 2016-01-22 18:09:46

smirky
Member
From: Bulgaria
Registered: 2013-02-23
Posts: 277
Website

Re: [SOLVED] Hibernate won't work

Move resume between udev and autodetect, test and comment back here.

EDIT: Try using UUIDs, for example here's what I do on my laptop:

linux   /vmlinuz-linux-ck root=UUID=25852d62-3fea-4590-8a1b-8d605e4e5039 rw quiet cgroup_disable=memory resume=UUID=9c    6418b2-85f9-4b98-8676-7fec858fea9c

EDIT #2: Yes, confirm if downgrading actually fixes anything. That also goes for the -lts kernel.

Last edited by smirky (2016-01-22 18:17:14)


Personal spot  ::  https://www.smirky.net/  ::  Try not to get lost!

Offline

#5 2016-01-22 23:05:03

charli3
Member
Registered: 2015-06-01
Posts: 45

Re: [SOLVED] Hibernate won't work

dave_crocket wrote:

GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/md/internal_0p2:system root=/dev/mapper/system-root resume=/dev/mapper/system-swap quiet ipv6.disable=1 radeon.audio=1"

You really should use UUIDs but if you insist on block naming your 'root= ... ' parameter should be 'root=/dev/mapper/system'.  Actually, I'm surprised the above boots for you.  Kindly run

$ lsblk -f

and give us the output?

Also disabling the 'quiet' parameter in your /etc/default/grub will keep some errors on the display and might assist in debugging.

Offline

#6 2016-01-23 00:00:20

davy_crockett
Member
Registered: 2015-10-21
Posts: 75

Re: [SOLVED] Hibernate won't work

I'm using the BIOS RAID for my Dell laptop (2x 1TB drives) and reserved 200GB of that space for linux (500MB boot and the rest LVM)
Output of lsblk -f:

sda                 isw_raid_member                                                 
└─md126                                                                             
  ├─md126p1         ext4                     70f3d57a-b29d-4b3f-a66d-35a4e1ef23e3   /boot
  ├─md126p2         crypto_LUKS              ab20aafc-85b8-43ab-9b27-c8dbd9e30cdf   
  │ └─system        LVM2_member              LEY2rE-AD1U-Fef2-cc32-H30X-bzoC-93DgeC 
  │   ├─system-swap swap                     1a72b1f5-8da7-4b7b-9d6b-380f25fee231   [SWAP]
  │   └─system-root ext4            root     cd23a73c-70db-428f-9116-978d4e468801   /
  └─md126p3                                                                         
sdb                 isw_raid_member                                                 
└─md126                                                                             
  ├─md126p1         ext4                     70f3d57a-b29d-4b3f-a66d-35a4e1ef23e3   /boot
  ├─md126p2         crypto_LUKS              ab20aafc-85b8-43ab-9b27-c8dbd9e30cdf   
  │ └─system        LVM2_member              LEY2rE-AD1U-Fef2-cc32-H30X-bzoC-93DgeC 
  │   ├─system-swap swap                     1a72b1f5-8da7-4b7b-9d6b-380f25fee231   [SWAP]
  │   └─system-root ext4            root     cd23a73c-70db-428f-9116-978d4e468801   /
  └─md126p3                                                                         
sdc                                                                                 
└─sdc1                                                                              
sdd                                                                                 
└─sdd1                                                                              
sde                                                                                 
└─sde1              ntfs            WD3TBUSB 76A8B2A62AC44762                       
sr0                                                                                 

What UUID's should I use in my kernel parameters? I presume it should look something like this:
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=ab20aafc-85b8-43ab-9b27-c8dbd9e30cdf:system root=UUID=cd23a73c-70db-428f-9116-978d4e468801 resume=UUID=1a72b1f5-8da7-4b7b-9d6b-380f25fee231 quiet ipv6.disable=1 radeon.audio=1"

I also moved resume between udev and autodetect in mkinitcpio.conf and rebuilt it. That actually got me further but I think I received an error message on startup there was no swap volume available or similar.

Offline

#7 2016-01-23 01:54:39

charli3
Member
Registered: 2015-06-01
Posts: 45

Re: [SOLVED] Hibernate won't work

You really should use UUIDs but if you insist on block naming your 'root= ... ' parameter should be 'root=/dev/mapper/system'.  Actually, I'm surprised the above boots for you.

Nevermind what I wrote here, I didn't realize you were using LVM...

davy_crocket wrote:

What UUID's should I use in my kernel parameters? I presume it should look something like this:
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=ab20aafc-85b8-43ab-9b27-c8dbd9e30cdf:system root=UUID=cd23a73c-70db-428f-9116-978d4e468801 resume=UUID=1a72b1f5-8da7-4b7b-9d6b-380f25fee231 quiet ipv6.disable=1 radeon.audio=1"

Yes that looks right for UUIDs.

I was having trouble with hibernate/suspend and an encrypted root partition before I reconfigured my bootloader and mkinitcpio hooks for 'systemd' and 'sd-encrypt' see relevant: mkinitcpio hooks.  Note: there is different kernal parameter syntax for 'systemd' and 'sd-encrypt' hooks. See:

$ man systemd-cryptsetup-generator

Last edited by charli3 (2016-01-23 02:01:10)

Offline

#8 2016-01-23 04:56:47

x33a
Forum Fellow
Registered: 2009-08-15
Posts: 4,587

Re: [SOLVED] Hibernate won't work

Moving to "Laptop Issues".

Offline

#9 2016-01-23 05:59:24

Docbroke
Member
From: India
Registered: 2015-06-13
Posts: 1,433

Re: [SOLVED] Hibernate won't work

all UUID, kernel parameters and resume hook comes into picture when system reboots after hibernation. Here I think problem is actually going into hibernation.

@davy_crocket Can you post your RAM and size of swap partition?, also try going into hibernation from console (without kde running), does it work?

Offline

#10 2016-01-23 06:20:59

davy_crockett
Member
Registered: 2015-10-21
Posts: 75

Re: [SOLVED] Hibernate won't work

charli3 wrote:

You really should use UUIDs but if you insist on block naming your 'root= ... ' parameter should be 'root=/dev/mapper/system'.  Actually, I'm surprised the above boots for you.

Nevermind what I wrote here, I didn't realize you were using LVM...

davy_crocket wrote:

What UUID's should I use in my kernel parameters? I presume it should look something like this:
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=ab20aafc-85b8-43ab-9b27-c8dbd9e30cdf:system root=UUID=cd23a73c-70db-428f-9116-978d4e468801 resume=UUID=1a72b1f5-8da7-4b7b-9d6b-380f25fee231 quiet ipv6.disable=1 radeon.audio=1"

Yes that looks right for UUIDs.

I was having trouble with hibernate/suspend and an encrypted root partition before I reconfigured my bootloader and mkinitcpio hooks for 'systemd' and 'sd-encrypt' see relevant: mkinitcpio hooks.  Note: there is different kernal parameter syntax for 'systemd' and 'sd-encrypt' hooks. See:

$ man systemd-cryptsetup-generator

Firstly, is it safe to replace my kernel parameters with the ones I posted above, with all the devices replaced by UUID's, even if I'm using LVM?
Also, what are the systemd and sd-encrypt hooks used for? My system has been able to work fine except hibernate without them; yes it can sleep (suspend to RAM) but not hibernate. Looks like I'll be reading about this for a while

@Docbroke, I have 32GB RAM and my swap partition is 32GiB. How do I go into hibernation from the console?

@Smirky, moving resume between udev and autodetect in mkinitcpio.conf resulted in this error being displayed on startup before being prompted to enter my LUKS passphrase:
ERROR: resume: hibernation device '/dev/mapper/system-swap' not found

This is because my swap partition is located on an encrypted LVM group. I think I need to move it back here:

HOOKS="base udev autodetect modconf block mdadm_udev encrypt lvm2 filesystems resume keyboard fsck"

Is this correct? I'll fix up my mkinitcpio and /etc/default/grub config files first. Then I'll try hibernating from console. Then I'll try using the systemd and sd-encrypt hooks. If you could tell me what sequence they go in for the HOOKS= line that would be great. If all of that fails I'll downgrade the kernel.

Last edited by davy_crockett (2016-01-23 06:22:29)

Offline

#11 2016-01-23 06:30:09

Docbroke
Member
From: India
Registered: 2015-06-13
Posts: 1,433

Re: [SOLVED] Hibernate won't work

@Docbroke, I have 32GB RAM and my swap partition is 32GiB. How do I go into hibernation from the console?

My assumption is writing used-RAM/32GB to swap takes time with kde running (high RAM usage). in console ram usage will be much less,
first you need to go to the console, this may require disabling your login-manager,

sudo systemctl disable sddm

#assuming sddm is your login-manager in kde

on reboot you will be welcomed by linux console, login here, and hibernate with

systemctl hibernate

Last edited by Docbroke (2016-01-23 06:33:01)

Offline

#12 2016-01-23 06:41:55

x33a
Forum Fellow
Registered: 2009-08-15
Posts: 4,587

Re: [SOLVED] Hibernate won't work

@davy_crockett, we have noticed that you haven't been marking your solved threads as solved.

Here are a couple of these:
https://bbs.archlinux.org/viewtopic.php?id=206930
https://bbs.archlinux.org/viewtopic.php?id=207905

Marking threads as solved indicates that no further help is required and saves the time of other community members. We expect community members to behave responsibly and not simply be a help vampire.

https://wiki.archlinux.org/index.php/Fo … way_street

I advise you to mark all your solved threads as solved, and failure to do so will require us to take action. Consider this an official warning.

Offline

#13 2016-01-26 00:09:35

davy_crockett
Member
Registered: 2015-10-21
Posts: 75

Re: [SOLVED] Hibernate won't work

Apologies, x33a, I must've missed that in the rules. I've marked all my complete threads as solved now. I've also been rather active this weekend as I had time to go through linux a lot.

I placed my hooks as follows in mkinitcpio.conf and rebuilt it:

HOOKS="base udev autodetect modconf block mdadm_udev encrypt lvm2 filesystems resume keyboard fsck"

Then resume worked from the console, however on resuming from hibernate I had to press ctrl-c as the systemctl hibernate command was still running in the console. Hibernate still didn't work from KDE though and I waited 1 hour for it to occur. I've done some research on using the systemd hooks instead. I found this thread that discusses it, although the user doesn't use the GRUB2 bootloader: https://bbs.archlinux.org/viewtopic.php?id=190437

Following that thread, I have included the following in my mkinitcpio.conf

MODULES="radeon"
BINARIES="/sbin/mdmon"
HOOKS="base systemd autodetect modconf block mdadm_udev sd-encrypt sd-lvm2 resume filesystems keyboard fsck"

I'm confused about what should go in my kernel parameters using systemd. If I try with my existing /etc/default/grub configuration, the system hangs on startup. Going from the systemd-cryptsetup-generator manpage, I presume in my kernel parameters I need to specify either luks.uuid= or rd.luks= for my LUKS device (I'm unsure which) and then what do I specify for my root and swap volumes? Would it be lvm.lv=lvm/root and lvm.lv=lvm/swap or does it need to be rd.lvm?

This is what I currently have in /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/md/internal_0p2:system root=UUID=cd23a73c-70db-428f-9116-978d4e468801 resume=UUID=1a72b1f5-8da7-4b7b-9d6b-380f25fee231 ipv6.disable=1 radeon.audio=1"
GRUB_CMDLINE_LINUX=""

I presume I would need to update it to something like

GRUB_CMDLINE_LINUX_DEFAULT="luks.uuid=UUID=ab20aafc-85b8-43ab-9b27-c8dbd9e30cdf lvm.lv=lvm/root lvm.lv=lvm/swap root=UUID=cd23a73c-70db-428f-9116-978d4e468801 resume=UUID=1a72b1f5-8da7-4b7b-9d6b-380f25fee231 ipv6.disable=1 radeon.audio=1"

However it hangs the system on startup

Last edited by davy_crockett (2016-01-26 01:40:37)

Offline

#14 2016-01-26 02:44:38

charli3
Member
Registered: 2015-06-01
Posts: 45

Re: [SOLVED] Hibernate won't work

davy_crocket wrote:

I've done some research on using the systemd hooks instead. I found this thread that discusses it, although the user doesn't use the GRUB2 bootloader: https://bbs.archlinux.org/viewtopic.php?id=190437

They're using systemd-boot.  The kernel parameters should be the same either way.  I don't use LVM, but here's mine for reference. 

GRUB_CMDLINE_LINUX="rd.luks.name=d807841d-84f0-47fc-bc2c-0f02170c0ba4=cryptroot root=UUID=c25e6a45-b91b-4aa2-b09b-ce90ff82e1e4 rw resume=UUID=fabd70f9-6ad4-4747-aadf-77eac7cb6e19"

And my mkinitcpio.conf:

HOOKS="systemd autodetect modconf block keyboard sd-encrypt filesystems"

...

davy_crocket wrote:

I presume I would need to update it to something like

GRUB_CMDLINE_LINUX_DEFAULT="luks.uuid=UUID=ab20aafc-85b8-43ab-9b27-c8dbd9e30cdf lvm.lv=lvm/root lvm.lv=lvm/swap root=UUID=cd23a73c-70db-428f-9116-978d4e468801 resume=UUID=1a72b1f5-8da7-4b7b-9d6b-380f25fee231 ipv6.disable=1 radeon.audio=1"

Your syntax is wrong here...take another look at the thread you posted above for the correct syntax.

Last edited by charli3 (2016-01-26 02:47:40)

Offline

#15 2016-01-27 10:58:15

davy_crockett
Member
Registered: 2015-10-21
Posts: 75

Re: [SOLVED] Hibernate won't work

The good news is I have systemd working with the following in mkinitcpio.conf:

MODULES="radeon"
BINARIES="/sbin/mdmon"
HOOKS="systemd autodetect modconf block mdadm_udev sd-encrypt sd-lvm2 filesystems keyboard fsck"

and the following kernel parameters in /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="rd.luks.name=ab20aafc-85b8-43ab-9b27-c8dbd9e30cdf=system rd.lvm.lv=system/root rd.lvm.lv=system/swap root=UUID=cd23a73c-70db-428f-9116-978d4e468801 rw resume=UUID=1a72b1f5-8da7-4b7b-9d6b-380f25fee231 splash ipv6.disable=1 radeon.audio=1"

The bad news is hibernate still won't work from KDE. The screen will stay black, the fans will whir, and the wifi light stays on but nothing happens. To make sure I left it going for an hour and it was still the same when I arrived back. It will work from the terminal if i type systemctl hibernate and it will resume successfully, however I have the following error messages in the console:

[   59.449920] radeon 0000:01:00.0: VCE init error (-22).
[   70.213873] radeon 0000:01:00.0: ring 5 stalled for more than 10000msec
[   70.213974] [drm:uvd_v1_0_ib_test [radeon]] *ERROR* radeon: fence wait failed (-35).
[   70.213999] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on ring 5 (-35).
[   70.214008] radeon 0000:01:00.0: scheduling IB failed (-12).
[   70.214023] [drm:radeon_vce_get_create_msg [radeon]] *ERROR* radeon: failed to schedule ib (-12).
[   70.214040] [drm:radeon_vce_ib_test [radeon]] *ERROR* radeon: failed to get create msg (-12).
[   70.214056] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on ring 6 (-12).
[   70.214060] radeon 0000:01:00.0: scheduling IB failed (-12).
[   70.214074] [drm:radeon_vce_get_create_msg [radeon]] *ERROR* radeon: failed to schedule ib (-12).
[   70.214088] [drm:radeon_vce_ib_test [radeon]] *ERROR* radeon: failed to get create msg (-12).
[   70.214103] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on ring 7 (-12).
[   74.264854] ERROR @wl_cfg80211_scan : WLC_SCAN error (-22)

I also always get the message [5.711826] radeon 0000:01:00.0: Invalid ROM contents on startup before i type in my LUKS passphrase.

I've also never used sddm as my login manager; I always have it booting to console and I type startx to start KDE. I'm thinking the hibernate from KDE issue might be due to a problem with my graphics drivers?

Last edited by davy_crockett (2016-01-27 11:40:16)

Offline

#16 2016-01-27 13:47:26

charli3
Member
Registered: 2015-06-01
Posts: 45

Re: [SOLVED] Hibernate won't work

Now we're getting somewhere.  If systemctl hibernate works now we know the issue has someting to do with KDE.  I'm unfamiliar with KDE so can't be of much help there... but I would assume you could map your hibernate button to 'systemctl hibernate'?

Offline

#17 2016-02-12 10:25:32

davy_crockett
Member
Registered: 2015-10-21
Posts: 75

Re: [SOLVED] Hibernate won't work

I managed to resolve this by installing the AMD catalyst driver. I can now successfully hibernate my system from both the terminal and KDE. No idea how to get it working with my hardware setup and the xf86-video-ati driver. However, the AMD catalyst driver has given me a new issue - The system hangs with the keyboard and mouse stopping responding altogether after running for 30 minutes - 1 hour and the only thing I can do is a hard power off/reboot. I'll write about it here, and close this thread https://bbs.archlinux.org/viewtopic.php?id=208568

Conclusion - yes the proprietary Catalyst driver resolves this issue with Hibernate not working (hardware: ATI Firepro M6000 Graphics card / Dell Precision M6700 laptop).

Offline

Board footer

Powered by FluxBB