I've been trying to get suspend/hibernate to work on my laptop (Toshiba Satellite 2435) running openSuSE 10.2. Here is what I can do so far:
Suspend to RAM once: I can suspend to RAM by calling
just once in full user mode (in /bin/bash I can do it as many times as I want). On the second try it will fail right before shutting down the system unless I do a full reboot. /var/log/pm-suspend.log thinks that everything is fine and gives no errors that I know of, but here it is anyway:
Code:
===== Fri Mar 23 15:56:07 EDT 2007: running hook: /etc/pm/hooks/00clear =====
===== Fri Mar 23 15:56:08 EDT 2007: running hook: /etc/pm/hooks/01logging =====
suspend initiated: Fri Mar 23 15:56:08 EDT 2007
Module Size Used by
nls_iso8859_1 8320 1
nls_cp437 9984 1
vfat 16640 1
fat 55324 1 vfat
button 10896 0
arc4 6272 1
ieee80211_crypt_wep 9344 1
appletalk 43948 2
ax25 64720 2
ipx 35876 2
p8023 6272 1 ipx
af_packet 29320 4
xt_pkttype 6016 5
ipt_LOG 10624 15
xt_limit 6912 15
snd_pcm_oss 53376 0
snd_mixer_oss 21248 1 snd_pcm_oss
snd_seq 60272 0
snd_seq_device 12812 1 snd_seq
cpufreq_conservative 11912 0
cpufreq_ondemand 10892 1
cpufreq_userspace 9088 0
cpufreq_powersave 5888 0
battery 14468 0
ac 9476 0
ip6t_REJECT 9344 3
xt_tcpudp 7296 24
ipt_REJECT 9472 3
xt_state 6272 12
iptable_mangle 7040 0
iptable_nat 11524 0
ip_nat 21804 1 iptable_nat
iptable_filter 7168 1
ip6table_mangle 6528 0
ip_conntrack 52960 3 xt_state,iptable_nat,ip_nat
nfnetlink 11032 2 ip_nat,ip_conntrack
ip_tables 17604 3 iptable_mangle,iptable_nat,iptable_filter
ip6table_filter 7040 1
ip6_tables 18756 2 ip6table_mangle,ip6table_filter
x_tables 18180 10 xt_pkttype,ipt_LOG,xt_limit,ip6t_REJECT,xt_tcpudp,ipt_REJECT,xt_state,iptable_nat,ip_tables,ip6_tables
ipv6 263584 15 ip6t_REJECT
ext2 68104 1
loop 20488 2
kqemu 127780 0
fuse 48532 2
mmc_block 12040 2
omnibook 47000 0
backlight 10496 1 omnibook
p4_clockmod 9988 0
speedstep_lib 8708 1 p4_clockmod
freq_table 8832 1 p4_clockmod
pcmcia 40892 0
ide_cd 42272 0
ipw2200 110020 0
cdrom 38432 1 ide_cd
ohci1394 37040 0
nvidia 4720820 14
ieee1394 102584 1 ohci1394
ieee80211 34632 1 ipw2200
yenta_socket 30348 2
ieee80211_crypt 10112 2 ieee80211_crypt_wep,ieee80211
rsrc_nonstatic 17024 1 yenta_socket
pcmcia_core 43412 3 pcmcia,yenta_socket,rsrc_nonstatic
firmware_class 14080 2 pcmcia,ipw2200
8139too 30592 0
agpgart 35528 1 nvidia
mii 9600 1 8139too
smsc_ircc2 22044 0
irda 132152 1 smsc_ircc2
crc_ccitt 6272 1 irda
wbsd 22152 0
mmc_core 28672 2 mmc_block,wbsd
snd_intel8x0 36764 1
snd_ac97_codec 95648 1 snd_intel8x0
snd_ac97_bus 6400 1 snd_ac97_codec
snd_pcm 86916 3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec
snd_timer 27908 2 snd_seq,snd_pcm
snd 61188 10 snd_pcm_oss,snd_mixer_oss,snd_seq,snd_seq_device,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
ehci_hcd 34696 0
uhci_hcd 26892 0
i8xx_tco 11160 0
soundcore 13792 1 snd
snd_page_alloc 14472 2 snd_intel8x0,snd_pcm
shpchp 40224 0
pci_hotplug 35136 1 shpchp
i2c_i801 11660 0
i2c_core 25216 2 nvidia,i2c_i801
usbcore 115024 2 ehci_hcd,uhci_hcd
parport_pc 42084 1
lp 15652 0
parport 39752 2 parport_pc,lp
ext3 141192 2
mbcache 12804 2 ext2,ext3
jbd 70324 1 ext3
dm_snapshot 21152 0
edd 13892 0
dm_mod 60184 8 dm_snapshot
fan 8964 0
piix 14084 0 [permanent]
thermal 18568 0
processor 34664 1 thermal
ide_disk 20480 3
ide_core 130248 3 ide_cd,piix,ide_disk
total used free shared buffers cached
Mem: 515712 507332 8380 0 17508 322504
-/+ buffers/cache: 167320 348392
Swap: 1028088 0 1028088
===== Fri Mar 23 15:56:08 EDT 2007: running hook: /etc/pm/hooks/05led =====
===== Fri Mar 23 15:56:08 EDT 2007: running hook: /etc/pm/hooks/06autofs =====
===== Fri Mar 23 15:56:08 EDT 2007: running hook: /etc/pm/hooks/10NetworkManager =====
===== Fri Mar 23 15:56:10 EDT 2007: running hook: /etc/pm/hooks/23dock =====
Fri Mar 23 15:56:10 EDT 2007: running misc hooks for event undock.
===== Fri Mar 23 15:56:10 EDT 2007: running hook: /etc/pm/hooks/30s2disk-check =====
===== Fri Mar 23 15:56:11 EDT 2007: running hook: /etc/pm/hooks/45pcmcia =====
ejecting PCMCIA cards...
===== Fri Mar 23 15:56:11 EDT 2007: running hook: /etc/pm/hooks/50modules =====
trying to unload: button
===== Fri Mar 23 15:56:11 EDT 2007: running hook: /etc/pm/hooks/80acpi-fan =====
===== Fri Mar 23 15:56:11 EDT 2007: running hook: /etc/pm/hooks/80videobios =====
===== Fri Mar 23 15:56:11 EDT 2007: running hook: /etc/pm/hooks/94cpufreq =====
===== Fri Mar 23 15:56:11 EDT 2007: running hook: /etc/pm/hooks/95led =====
===== Fri Mar 23 15:56:11 EDT 2007: running hook: /etc/pm/hooks/99Zgrub =====
===== Fri Mar 23 15:56:11 EDT 2007: running hook: /etc/pm/hooks/99info =====
Fri Mar 23 15:56:11 EDT 2007: finished suspend hooks.
My machine isn't in the whitelist, so I'm not completely surprised that it isn't working properly. What is a tougher nut to crack for me is hibernate (suspend to disk).
I'm running my swap in LVM, and GRUB seems to be unable to find my swap (or at least the resume image) when I try to restore from s2disk. I'm no linux guru and the docs I find on en.opensuse.org don't talk about using suspend with LVM, leaving me kinda lost and suspend-less.
I've even tried recompiling my kernel with suspend2 to get hibernate, however I run into the same problem of my resume device (swap) being on LVM. I have no real aversion to taking my swap off my LVM, but I'm hoping there is a more elegant solution out there. As for suspend to RAM, I haven't found anything that mentions it working once and then crashing.
Any ideas, suggestions, more debug messages needed? Am I wasting my time with this?