# [SOLVED] Suspend to RAM, Resume and Console problem

## dziadu

Hi,

since last upgrade I've made last weekend I have serious problem with hibernation.

I am using KDE. After closing the lid laptop is going to suspend properly, and it was like that always. After opening the lid laptop is starting resume, I see disk working and so on. But screen stays black. There is no chance to get system working properly.

Now there are three possibilities:

1. System is stable but doesn't react. Pressing Power button causes closing the system. Sometimes after restart system inform about not clean disk and force checking, sometimes disk is OK.

2. Systems looks like frozen, pressing Power button doesn't change anything, I must hold down Power for longer time to really switch off laptop.

3. System trying to fight against evil forces, screen is blinking (sometimes you can see this when there is problem with X and it tries do something) and laptop restarts automatically after some time.

But I discovered three other issues:

1. When before hibernation I go to text mode and I switch off X

```
/etc/init.d/xdm stop
```

and then hibernate it by hand

```
hibernate
```

then system resumes properly and immediately starts X server which loads fine. But now there is not possible to switch to text mode again. Pressing Ctrl+Alt+F1..6 causes that I am leaving X display and I see black screen, pressing again Alt+F7 brings me back to X.

2. When after this I try to hibernate again it behaves like I described on the begin of my post.

3. On newly run system, before I go to hibernation, I switch to the text mode (like in 1.) and I remove kernel module for nvidia - to avoid start of X. After suspend and resume I have no access to terminal.

I thought it may be due to new kernel I installed: 3.4.3 but when I revert to old one: 3.4.2-r1 behavior is the same.

Upgrade I made wasn't very big, I made upgrade of KDE, perl, nvidia drivers and some other X-related apps, but as I shows, problem is not X-related.

All upgrades from sys-*/ category I made recently are:

* sys-process/psmisc 22.16 -> 22.18

* sys-power/acpid 2.0.14 -> 2.0.16-r1

* sys-auth/consolekit

* sys-apps/kmod 8->9

I also tried to downgrade all packages I thought they could matter but also no success.

Do you have some ideas what may be wrong?

```
# emerge --info

Portage 2.2.0_alpha100 (default/linux/amd64/10.0/desktop/kde, gcc-4.6.3, glibc-2.15-r2, 3.4.3-gentoo x86_64)

=================================================================

System uname: Linux-3.4.3-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7500_@_2.20GHz-with-gentoo-2.1

Timestamp of tree: Fri, 22 Jun 2012 08:15:01 +0000

app-shells/bash:          4.2_p29::<unknown repository>

dev-java/java-config:     2.1.11-r3::<unknown repository>

dev-lang/python:          2.7.3-r2::<unknown repository>, 3.2.3-r1::<unknown repository>

dev-util/cmake:           2.8.8-r2::<unknown repository>

dev-util/pkgconfig:       0.26::<unknown repository>

sys-apps/baselayout:      2.1-r1::<unknown repository>

sys-apps/openrc:          0.9.9.3::<unknown repository>

sys-apps/sandbox:         2.5::<unknown repository>

sys-devel/autoconf:       2.13::<unknown repository>, 2.68::<unknown repository>

sys-devel/automake:       1.9.6-r3::<unknown repository>, 1.10.3::<unknown repository>, 1.11.5::<unknown repository>, 1.12.1::<unknown repository>

sys-devel/binutils:       2.22-r1::<unknown repository>

sys-devel/gcc:            4.6.3::<unknown repository>

sys-devel/gcc-config:     1.7.3::<unknown repository>

sys-devel/libtool:        2.4.2::<unknown repository>

sys-devel/make:           3.82-r3::<unknown repository>

sys-kernel/linux-headers: 3.3::<unknown repository> (virtual/os-headers)

sys-libs/glibc:           2.15-r2::<unknown repository>

Repositories: gentoo dziadu-overlay kde kde-sunset roslin lisp gamerlay-stable science qting-edge openrc x11 proaudio alexxy wirelay

Installed sets: 

ACCEPT_KEYWORDS="amd64 ~amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=core2 -O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/root/etc /usr/share/config /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"

CXXFLAGS="-march=core2 -O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="http://ftp.fi.muni.cz/pub/linux/gentoo http://distfiles.gentoo.org"

LANG="pl_PL.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="pl en"

MAKEOPTS="-j2 --quiet"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/banned_branches"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/home/portage /var/lib/layman/kde /var/lib/layman/kde-sunset /var/lib/layman/roslin /var/lib/layman/lisp /var/lib/layman/gamerlay /var/lib/layman/science /var/lib/layman/qting-edge /var/lib/layman/openrc /var/lib/layman/x11 /var/lib/layman/pro-audio /var/lib/layman/alexxy /var/lib/layman/wirelay"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="X a52 aac acl acm acpi alsa amd64 aspell bash-completion bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus declarative dell dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif gnutls gpm gtk iconv ipv6 jpeg kde kde4 kerberos kipi laptop lcms ldap libnotify lm_sensors mad midi mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nsplugin ntplonly nvidia ogg opengl openmp pam pango pcre pdf phonon plasma pmu png policykit ppds pppd qt3support qt4 readline sdl session slang spell sse sse2 ssl ssse3 startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vim-syntax vorbis wxwidgets x264 xcb xcomposite xml xorg xscreensaver xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="pl en" PHP_TARGETS="php5-4" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON
```

Last edited by dziadu on Mon Jun 25, 2012 7:48 am; edited 1 time in total

----------

## Hu

Does it work if you blacklist the nVidia drivers from loading (or even better, temporarily unmerge them), reboot, and then test?  This is necessary to get an untainted kernel, since unloading the nVidia driver is not guaranteed to undo any changes it may have made during its initialization phase.

----------

## dziadu

I tried this also - I removed module completely from the disk and restarted machine. Doesn't help.

----------

## Hu

With the module removed, it behaves as in item #3?  The system resumes, but the kernel is unable to driver the console?  Did you enable Nouveau and the framebuffer console or are you using the legacy VGA text console?

----------

## dziadu

Yes, when I run without nvidia module, then I just see black screen, no access to console, obviously no X start.

But another interesting issue:

If I resume after point 2. (when X server was off before suspend) and I switch to text mode, even if I see black screen I can use terminal. I can login as an user, I can switch to superuser (su) and then I can reboot and machine happily restarts. I can also restart X-server and back to KDE.

From my kernel config:

```
CONFIG_FRAMEBUFFER_CONSOLE=y

CONFIG_VGA_CONSOLE=y

# CONFIG_DRM_NOUVEAU is not set
```

But as I said, I don't  think that problem is related to kernel, it doesn't work also with older kernel where for sure it was working before. It must by correlated with some software installed.

----------

## toralf

In the past I suffered from a black (KDE) screen after resume - work around was to press Ctrl+Alt+F12 and Ctrl+Alt+F7Last edited by toralf on Sun Jun 24, 2012 5:09 pm; edited 1 time in total

----------

## Hu

Some BIOS vendors do not properly reinitialize the graphics card on resume, in which case the kernel must do so.  This usually requires card-specific handling, meaning either Nouveau or the nVidia driver should do it.  Installing both at once is a very bad idea.  It looks like you took my advice to remove the nVidia blob, but did not add Nouveau, so now you have no drivers that know how to activate your video card.

----------

## dziadu

@Hu,

bit it was working week ago on older kernel, today it doesn't work on any old kernel version.

Also in the past when I didn't have both nvidia and nouveau, hibernation was working fine. Doesn't matter which kernel I use, which card driver I use, something is wrong with the console. And I don't want install nouveau.

----------

## Hu

When you switched to the older kernel, did you also install the corresponding pre-upgrade nVidia drivers?  The nVidia drivers have a huge kernel module, so if the nVidia upgrade is what broke your sleep support, then switching back to the old kernel is insufficient.  As far as I know, most nVidia cards require kernel assistance to resume from sleep.  That assistance is provided by Nouveau or by nVidia's proprietary drivers.

----------

## dziadu

Well hu, I must apologize you, I was so stubborn, but you were right with the driver. Downgrade to 295.95 solved the problem. Now I am thinking if I should report bug with nvidia-driver-302.17 to bugzilla.

----------

