You are not logged in.

#1 2012-07-17 13:55:02

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 374

[SOLVED] Suspend to ram / disk not working in newer kernels

Hi all,

this puzzles me for a while:

My desktop system was able to suspend to ram / disk flawlessly in older kernels. It stopped working with 3.3. The suspend seems to work, the machine goes to standby. But when I try to resume, the machines is on but the screen stays black. Neither the console is working nor can I ssh into it. Only hard reset gets me out here sad

I did investigate and found many tips and hints which all led to nowhere. I even changed my filesystem back from btrfs to ext4 and my VGA module from proprietary nvidia to nouveau.

When this all failed I got to the idea to burn several install disks. One of the official 2011.08.19 (kernel 3.0.3) and one of the snapshots 2012.06.05_04-00-01 (kernel 3.3.7) and 2012.07.17_04-00-01 (kernel 3.4.4). I guess these can not be compromised by some hosed installation. I started one by one and issued the follwing command:

echo mem > /sys/power/state

which suspends the machine successfully in all three cases. With 2011.08.19 the resume is working but the other two fail. Some more info about the hardware:
1. lspci output

harvey@obelix ~ $ lspci
00:00.0 Host bridge: Intel Corporation Core Processor DMI (rev 11)
00:03.0 PCI bridge: Intel Corporation Core Processor PCI Express Root Port 1 (rev 11)
00:05.0 PCI bridge: Intel Corporation Core Processor PCI Express Root Port 3 (rev 11)
00:08.0 System peripheral: Intel Corporation Core Processor System Management Registers (rev 11)
00:08.1 System peripheral: Intel Corporation Core Processor Semaphore and Scratchpad Registers (rev 11)
00:08.2 System peripheral: Intel Corporation Core Processor System Control and Status Registers (rev 11)
00:08.3 System peripheral: Intel Corporation Core Processor Miscellaneous Registers (rev 11)
00:10.0 System peripheral: Intel Corporation Core Processor QPI Link (rev 11)
00:10.1 System peripheral: Intel Corporation Core Processor QPI Routing and Protocol Registers (rev 11)
00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB Universal Host Controller (rev 06)
00:1a.1 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB Universal Host Controller (rev 06)
00:1a.2 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB Universal Host Controller (rev 06)
00:1a.7 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)
00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB Universal Host Controller (rev 06)
00:1d.1 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB Universal Host Controller (rev 06)
00:1d.2 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB Universal Host Controller (rev 06)
00:1d.3 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB Universal Host Controller (rev 06)
00:1d.7 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a6)
00:1f.0 ISA bridge: Intel Corporation 5 Series Chipset LPC Interface Controller (rev 06)
00:1f.2 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA IDE Controller (rev 06)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)
00:1f.5 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 2 port SATA IDE Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation G84 [GeForce 8600 GT] (rev a1)
02:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)
03:00.0 SATA controller: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 02)
03:00.1 IDE interface: JMicron Technology Corp. JMB363 SATA/IDE Controller (rev 02)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
3f:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-Core Registers (rev 04)
3f:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 04)
3f:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 04)
3f:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 04)
3f:03.0 Host bridge: Intel Corporation Core Processor Integrated Memory Controller (rev 04)
3f:03.1 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Target Address Decoder (rev 04)
3f:03.4 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Test Registers (rev 04)
3f:04.0 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Control Registers (rev 04)
3f:04.1 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Address Registers (rev 04)                            
3f:04.2 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Rank Registers (rev 04)                               
3f:04.3 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 0 Thermal Control Registers (rev 04)                    
3f:05.0 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Control Registers (rev 04)                            
3f:05.1 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Address Registers (rev 04)                            
3f:05.2 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Rank Registers (rev 04)                               
3f:05.3 Host bridge: Intel Corporation Core Processor Integrated Memory Controller Channel 1 Thermal Control Registers (rev 04)

2. lsmod output of 2012.07.17_04-00-01:

harvey@obelix ~ $ lsmod
Module                  Size  Used by
fuse                   68768  0 
tun                    15297  0 
rfcomm                 33627  8 
bnep                    8793  2 
nfsd                  246714  2 
exportfs                3665  1 nfsd
btusb                  11764  0 
joydev                  9991  0 
bluetooth             190551  22 bnep,btusb,rfcomm
rfkill                 15604  2 bluetooth
snd_hda_codec_realtek    60409  1 
snd_hda_intel          24053  3 
snd_hda_codec          94305  2 snd_hda_codec_realtek,snd_hda_intel
microcode              12185  0 
i7core_edac            17477  0 
snd_hwdep               6300  1 snd_hda_codec
i2c_i801                8180  0 
iTCO_wdt               12813  0 
snd_pcm                74958  2 snd_hda_codec,snd_hda_intel
r8169                  49386  0 
coretemp                5654  0 
edac_core              36656  3 i7core_edac
iTCO_vendor_support     1929  1 iTCO_wdt
serio_raw               4653  0 
pcspkr                  1899  0 
snd_page_alloc          7185  2 snd_pcm,snd_hda_intel
snd_timer              18966  1 snd_pcm
mii                     4123  1 r8169
snd                    58997  12 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_pcm,snd_hda_codec,snd_hda_intel
soundcore               5410  1 snd
acpi_cpufreq            5933  0 
mperf                   1235  1 acpi_cpufreq
evdev                   9754  4 
processor              26567  1 acpi_cpufreq
vboxnetadp             18387  0 
vboxnetflt             16743  0 
vboxdrv              1791382  2 vboxnetadp,vboxnetflt
nfs                   276056  1 
nfs_acl                 2359  2 nfs,nfsd
lockd                  62987  2 nfs,nfsd
auth_rpcgss            32327  2 nfs,nfsd
sunrpc                184998  12 nfs,nfsd,auth_rpcgss,lockd,nfs_acl
fscache                41059  1 nfs
aes_x86_64              7508  64 
cryptd                  8741  0 
aes_generic            26138  1 aes_x86_64
xts                     3101  32 
gf128mul                6050  1 xts
dm_crypt               16496  4 
dm_mod                 70918  9 dm_crypt
sr_mod                 14823  0 
cdrom                  35648  1 sr_mod
hid_logitech           16560  0 
ff_memless              4690  1 hid_logitech
usbhid                 36430  1 hid_logitech
hid                    85285  2 hid_logitech,usbhid
sd_mod                 29239  7 
pata_jmicron            2480  0 
usb_storage            44760  0 
pata_acpi               3408  0 
ata_piix               23160  5 
crc32c_intel            1987  0 
ahci                   20549  0 
libahci                20023  1 ahci
ata_generic             3295  0 
libata                167611  6 ahci,pata_acpi,libahci,ata_generic,ata_piix,pata_jmicron
scsi_mod              132974  4 usb_storage,libata,sd_mod,sr_mod
uhci_hcd               23372  0 
xhci_hcd               81440  0 
ehci_hcd               40994  0 
usbcore               147533  8 btusb,uhci_hcd,usb_storage,ehci_hcd,usbhid,xhci_hcd
usb_common               954  1 usbcore
floppy                 58615  0 
nouveau               784289  3 
button                  4502  1 nouveau
video                  11307  1 nouveau
mxm_wmi                 1425  1 nouveau
wmi                     8475  2 mxm_wmi,nouveau
i2c_algo_bit            5391  1 nouveau
drm_kms_helper         33051  1 nouveau
ttm                    64288  1 nouveau
drm                   208926  5 ttm,drm_kms_helper,nouveau
i2c_core               20369  5 drm,i2c_i801,drm_kms_helper,i2c_algo_bit,nouveau
ext4                  424175  4 
crc16                   1359  2 ext4,bluetooth
jbd2                   73919  1 ext4
mbcache                 5977  1 ext4

3. /var/log/pm-suspend.log of a not working suspend

Initial commandline parameters: 
Tue Jul 17 11:21:18 CEST 2012: Running hooks for suspend.
Running hook /usr/lib/pm-utils/sleep.d/00logging suspend suspend:
Linux obelix 3.4.5-1-ARCH #1 SMP PREEMPT Mon Jul 16 21:35:54 CEST 2012 x86_64 GNU/Linux
Module                  Size  Used by
rfcomm                 33627  8 
bnep                    8793  2 
nfsd                  246714  2 
exportfs                3665  1 nfsd
ext4                  424175  3 
jbd2                   73919  1 ext4
mbcache                 5977  1 ext4
btusb                  11764  0 
bluetooth             190551  22 bnep,btusb,rfcomm
crc16                   1359  2 ext4,bluetooth
joydev                  9991  0 
rfkill                 15604  2 bluetooth
snd_hda_codec_realtek    60409  1 
microcode              12185  0 
coretemp                5654  0 
serio_raw               4653  0 
snd_hda_intel          24053  5 
snd_hda_codec          94305  2 snd_hda_codec_realtek,snd_hda_intel
pcspkr                  1899  0 
snd_hwdep               6300  1 snd_hda_codec
snd_pcm                74958  3 snd_hda_codec,snd_hda_intel
snd_page_alloc          7217  2 snd_pcm,snd_hda_intel
r8169                  49386  0 
i7core_edac            17477  0 
snd_timer              18966  1 snd_pcm
edac_core              36656  3 i7core_edac
mii                     4123  1 r8169
snd                    58997  15 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_pcm,snd_hda_codec,snd_hda_intel
iTCO_wdt               12813  0 
i2c_i801                8180  0 
soundcore               5410  1 snd
iTCO_vendor_support     1929  1 iTCO_wdt
acpi_cpufreq            5933  0 
mperf                   1267  1 acpi_cpufreq
evdev                   9754  4 
processor              26567  1 acpi_cpufreq
vboxnetadp             18387  0 
vboxnetflt             16743  0 
vboxdrv              1791382  2 vboxnetadp,vboxnetflt
nfs                   276056  1 
nfs_acl                 2359  2 nfs,nfsd
lockd                  62987  2 nfs,nfsd
auth_rpcgss            32327  2 nfs,nfsd
sunrpc                184998  12 nfs,nfsd,auth_rpcgss,lockd,nfs_acl
fscache                41059  1 nfs
btrfs                 710578  1 
libcrc32c               1002  1 btrfs
zlib_deflate           20436  1 btrfs
aes_x86_64              7508  64 
cryptd                  8741  0 
aes_generic            26138  1 aes_x86_64
xts                     3101  32 
gf128mul                6050  1 xts
hid_logitech           16560  0 
ff_memless              4690  1 hid_logitech
dm_crypt               16496  4 
dm_mod                 70918  9 dm_crypt
sr_mod                 14823  0 
cdrom                  35648  1 sr_mod
usbhid                 36430  1 hid_logitech
usb_storage            44760  0 
hid                    85285  2 hid_logitech,usbhid
sd_mod                 29239  7 
pata_jmicron            2480  0 
pata_acpi               3408  0 
ata_piix               23160  5 
ata_generic             3295  0 
uhci_hcd               23404  0 
crc32c_intel            1987  1 
ahci                   20549  0 
libahci                20023  1 ahci
libata                167611  6 ahci,pata_acpi,libahci,ata_generic,ata_piix,pata_jmicron
xhci_hcd               81472  0 
ehci_hcd               41026  0 
scsi_mod              132974  4 usb_storage,libata,sd_mod,sr_mod
usbcore               147565  8 btusb,uhci_hcd,usb_storage,ehci_hcd,usbhid,xhci_hcd
usb_common               954  1 usbcore
floppy                 58615  0 
nouveau               784321  3 
button                  4502  1 nouveau
video                  11307  1 nouveau
mxm_wmi                 1425  1 nouveau
wmi                     8475  2 mxm_wmi,nouveau
i2c_algo_bit            5391  1 nouveau
drm_kms_helper         33051  1 nouveau
ttm                    64320  1 nouveau
drm                   208958  5 ttm,drm_kms_helper,nouveau
i2c_core               20369  5 drm,i2c_i801,drm_kms_helper,i2c_algo_bit,nouveau
             total       used       free     shared    buffers     cached
Mem:       8173500     884060    7289440          0       3764     405872
-/+ buffers/cache:     474424    7699076
Swap:      8386556          0    8386556

/usr/lib/pm-utils/sleep.d/00logging suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/00powersave suspend suspend:

/usr/lib/pm-utils/sleep.d/00powersave suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/01grub suspend suspend:

/usr/lib/pm-utils/sleep.d/01grub suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/49bluetooth suspend suspend:

/usr/lib/pm-utils/sleep.d/49bluetooth suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/75modules suspend suspend:

/usr/lib/pm-utils/sleep.d/75modules suspend suspend: success.
Running hook /etc/pm/sleep.d/90alsa suspend suspend:

/etc/pm/sleep.d/90alsa suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/90clock suspend suspend:

/usr/lib/pm-utils/sleep.d/90clock suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend:

/usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/95led suspend suspend:

/usr/lib/pm-utils/sleep.d/95led suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend:
Kernel modesetting video driver detected, not using quirks.

/usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/99video suspend suspend:
kernel.acpi_video_flags = 0

/usr/lib/pm-utils/sleep.d/99video suspend suspend: success.
Tue Jul 17 11:21:18 CEST 2012: performing suspend

This seems to be a kernel bug. Any input?

Harvey

Last edited by Harey (2012-08-06 13:51:49)


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#2 2012-07-17 17:23:42

kcbanner
Member
From: Toronto, Canada
Registered: 2006-08-28
Posts: 43
Website

Re: [SOLVED] Suspend to ram / disk not working in newer kernels

I'm seeing similar behaviour.

Offline

#3 2012-07-18 10:39:42

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 374

Re: [SOLVED] Suspend to ram / disk not working in newer kernels

OK, had the time to investigate a bit further. I downgraded my kernel (with nothing else changed) until it works again. The bug came in with the change from kernel 3.1.9 (working) to 3.2.1 (buggy).
Again: I don't use the nvidia driver! So this is a kernel bug. Has somebody a hint for me what I can do next to narrow this down a bit further?

Harvey


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

#4 2012-08-06 11:25:28

Harey
Member
From: Bavaria, Germany
Registered: 2007-03-24
Posts: 374

Re: [SOLVED] Suspend to ram / disk not working in newer kernels

Another life-sign. The issue is still unsolved but I've come a little further. It seems to be a combination of more failures. The first one is USB hardware. I have a usb keyboard-mouse combo from Logitech (comfort cordless desktop). The USB bus does not wake up correctly when resuming from suspend. So my keyboard is unsuable. I put in a file /etc/pm/sleep.d/20_custom-ehci_hcd with the following content:

BUSES="0000:00:1a.7 0000:00:1d.7"

case "${1}" in
hibernate|suspend)
# Switch USB buses off
for bus in $BUSES; do
echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/unbind
done
;;
resume|thaw)
# Switch USB buses back on
for bus in $BUSES; do
echo -n $bus | tee /sys/bus/pci/drivers/ehci_hcd/bind
done
;;
esac

The bus IDs were taken from /sys/bus/pci/drivers/ehci_hcd
When I start pm-suspend from a console (no X started) this seems to reanimate my keyboard while the screen stays black (with backlight on). I can type and reboot. Also I can ssh into the machine from my laptop.

Concerning the blank screen there seems to be a bug in both the proprietary nvidia modules as well as the nouveau driver. The nvidia folks have issued a new beta driver which seems to at least minimize the failures. This all concerns the nv50-family of nvidias cards. I have a GF8600GT which is one of these tongue
I'll wait for this driver and then restart my testing. Until then - no suspend/hibernate smile

EDIT: Today's nvidia 304.32 is solving my issues - I can sleep again wink

Harvey

Last edited by Harey (2012-08-06 13:52:51)


Linux is like a wigwam: No Gates, no Windows and an Apache inside

Offline

Board footer

Powered by FluxBB