# suspend to ram

## szalmaf

Hi all,

I've been trying to get my Toshiba m200 laptop suspend to ram, but it seems I may be the only person who can't do this. :Sad: 

I have 

kernel-2.6.12-suspend2-r2

nvidia-kernel 1.0.7667

kde-3.4.0

acpitool-0.2.5

xorg-x11-6.8.2-r1 

on my machine. dmesg gives the following

```
NVRM: ACPI: unsupported event: 2

Could not suspend device 0000:01:00.0: error -1

e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex

Some devices failed to suspend.
```

Hibernate does not work either, but now first I want the sleep mode to work. Any hint?

Thanks.

----------

## pem

I also own an nVidia and generally suspend issue are related to this card. According to nVidia, only suspend for APM has been developped on their latest driver. They plan to make the ACPI to work but no releasse date has been provided.

Here are some good threads about it:

howto: get swsusp2 (hibernate, suspend to disk) working

Nvidia and software suspend 2

----------

## szalmaf

I checked out the sites you mention and did the following changes.

Downgraded to nvidia-1.0.6629-r6

Disabled agpgart in kernel.

Commented out "nvidia" in /etc/hibernate/blacklisted-modules

In /etc/hibernate/hibernate.conf "SwitchToTextMode no" and "UseDummyServer no"

... and I am still getting the black screen after resuming:( 

I have no idea what else to do or where else to look.

----------

## szalmaf

OK. Some more info, hopefully someone can help.

I tried hibernation with no X on and unloaded nvidia kernel and it works. However, when X is running, the system hibernates OK, and then on reboot everything seems to be working well, the system is coming up, but at the end I just get a blank (black) screen which is flickering as if it was trying to switch to the right mode. Neither X nor the console is usable. Probably the system is up, I just can't access it.

My hibernate.conf file is 

```
 ### suspend2 (for Software Suspend 2)

UseSuspend2 yes

Reboot no

EnableEscape yes

DefaultConsoleLevel 1

Compressor lzf

Encryptor none

# ImageSizeLimit 200

## useful for initrd usage:

# SuspendDevice swap:/dev/hda2

## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for poweroff

# PowerdownMethod 5

## Any other /proc/software_suspend setting can be set like so:

# ProcSetting expected_compression 50

## Or traditionally like this:

# Suspend2AllSettings 0 0 2056 65535 5

## Or even from the results of hibernate --save-settings with this:

# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf

## For filewriter:

# FilewriterLocation /suspend_file 1000

# VerifyFilewriterResume2 yes

### sysfs_power_state

## To use /sys/power/state to suspend your machine (which may offer

## suspend-to-RAM, suspend-to-disk, standby, etc) comment out all the options

## above for Software Suspend 2, below for acpi_sleep, and uncomment this line.

## You may replace mem with any one of the states from "cat /sys/power/state"

# UseSysfsPowerState mem

# PowerdownMethod shutdown

### acpi_sleep

## To use ACPI to suspend your machine (via /proc/acpi/sleep), comment out

## all the options above for Software Suspend 2 and sysfs, and uncomment this

## line. The number refers to the ACPI sleep state - 3 is suspend-to-RAM and

## 4 is suspend-to-disk.

# UseACPISleep 4

##############################################################################

### Some global settings

##############################################################################

Verbosity 1

LogFile /var/log/hibernate.log

LogVerbosity 1

# AlwaysForce yes

# AlwaysKill yes

# HibernateVT 15

# Distribution debian (or fedora/gentoo/mandrake/redhat/slackware/suse)

# XDisplay :0

##############################################################################

### Scriptlets

###   Scriptlets provide support for doing all sorts of things before and after

###   suspending. The defaults settings here should work for most people, but

###   you may wish to edit these to taste. Consult "hibernate -h" for help on

###   the configuration settings.

##############################################################################

### bootsplash

## If you use bootsplash, also enabling SwitchToTextMode is recommended if

## you use X, otherwise you may end up with a garbled X display.

# Bootsplash on

# BootsplashConfig /etc/bootsplash/default/config/bootsplash-1024x768.cfg

### clock

SaveClock restore-only

### devices

# IncompatibleDevices /dev/dsp /dev/video*

### diskcache

# DisableWriteCacheOn /dev/hda

### fbsplash (enable SwitchToTextMode if you use this)

# FBSplash on

# FBSplashTheme suspend2

### filesystems

# Unmount /nfsshare /windows /mnt/sambaserver

# UnmountFSTypes smbfs nfs

# UnmountGraceTime 1

# Mount /windows

### grub

# ChangeGrubMenu yes

# GrubMenuFile /boot/grub/menu.lst

# AlternateGrubMenuFile /boot/grub/menu-suspended.lst

# BackupGrubMenuFile /boot/grub/menu.lst.hibernate.bak

### hardware_tweaks

# IbmAcpi yes

# RadeonTool yes

### lilo

# EnsureLILOResumes yes

### lock (generally you only want one of the following options)

# LockConsoleAs root

# LockXScreenSaver yes

# LockKDE yes

### misclaunch

OnSuspend 20 echo "Good night!"

OnResume 20 echo "Good morning!"

### modules

# UnloadModules snd_via82cxxx usb-ohci

# UnloadAllModules yes

UnloadBlacklistedModules yes

LoadModules auto

# LoadModulesFromFile /etc/modules

### modules-gentoo

#GentooModulesAutoload yes

### network

# DownInterfaces eth0

# UpInterfaces auto

### programs

# IncompatiblePrograms xmms

### services

# RestartServices postfix

# StopServices alsasound

# StartServices aumix

### vbetool

# EnableVbetool yes

# RestoreVbeStateFrom /var/lib/vbetool/vbestate

# VbetoolPost yes

### xhacks

SwitchToTextMode no

UseDummyXServer no

### xstatus

## This can be set to gnome, kde or x:

XStatus kde

XSuspendText Preparing to suspend...

XResumeText Resuming from suspend...

## When using XStatus x, and you have xosd installed:

# XosdSettings --font -misc-fixed-medium-r-semicondensed--*-120-*-*-c-*-*-* --colour=Green --shadow 1 --pos bottom --align center --offset 50

```

----------

## szalmaf

Just changed the subject...

----------

## pem

I've succeeded to go a little bit forward but it's still a no go  :Mad: 

While your favorite X session is started, just switch to CLI via CTRL+ALT+F1. In this console, enter hibernate. Everything seems to work quite well and the system performs a nice awakening to the CLI once reactivated. Unfortunately, when I try to re-enter X via ALT+F7, the same behaviour as you've described come back.  :Evil or Very Mad: 

I'll keep you posted if I found better results.

----------

## szalmaf

Mine is working the same ways as yours. I am getting the same symtoms, after awakaning CTRL+ALT+F7 back to X, and then black screen. :Evil or Very Mad: 

----------

## szalmaf

Searching this web site (Gentoo), I read somewhere that the nvidia-kernel-1.0.7174 and glx helped this black screen problem. I emerged it, but I am still getting the same problem. :Crying or Very sad: 

----------

## pem

According to nVidia's README, our problem should be caused by the AGP configuration:

 *nVidia's README wrote:*   

> Sometimes chipsets lose their AGP configuration during suspend, and may cause
> 
> corruption on the bus upon resume. The AGP driver is required to save and
> 
> restore relevant register state on such systems; NVIDIA's NvAGP is notified of
> ...

 

Note that on the other end, it also says that the S3 mode (suspend to RAM) should worlk even through ACPI:

 *nVidia's README wrote:*   

> For ACPI, only S3 "Suspend to Ram" is currently supported. This means that S4
> 
> "Suspend to Disk", otherwise known as "Software Suspend" or "swsusp" does not
> 
> currently work reliably.

 

----------

## szalmaf

Yes. That's why I disabled AGPGART in the kernel. I use NvAGP in the xorg.conf. But it still does not work. 

But going back to S3 as you mentioned it. It is not working for me, too.

When I do suspend-to-ram from console with unloaded nvidia driver, the system suspend smoothly. But I don't know how to come back. I turn on the computer and I just get the grub boot screen. I couldn' find any key or key combination that would bring the laptop back from suspend-to-ram. Any idea?

When I do it from X, however, I get the message I mentioned before:

```
NVRM: ACPI: unsupported event: 2

Could not suspend device 0000:01:00.0: error -1

e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex

Some devices failed to suspend.
```

It just won't suspend, I guess due to the nvidia driver. Any hint again?

----------

