[ltp] T61 suspend to disk / hibernate with nvidia drivers

Micha linux-thinkpad@linux-thinkpad.org
Tue, 22 Apr 2008 15:22:17 +0300


On Fri, 29 Feb 2008 10:08:42 +1100
Takis Diakoumis <linux@executequery.org> wrote:

> Hi
> 
> i have a T61 with the nvidia nvs 140m.
> 
> same experience from here - s2ram is ok s2disk hangs when coming back. 
> 
> s2disk using the vesa driver works fine however.
> 
> i have trolled both this list, the wiki and the 'wider world' and though
> there are some who apparently report that they got it working i have
> never been able to and i've tried a ridiculous number of different
> approaches (including the ones you mention) all to no avail.
> 
> i know its been suggested that we shouldn't get thinkpads with nvidia
> video and in hindsight i probably shouldn't have, but some way to
> sorting this out would be good. happy to assist where i can - though the
> prob could simply lie with nvidia themselves and not much to be done
> from this community.
> 
> thanks
> Takis
> 
>

I finally got around to this and found a solution that worked for two suspends
thus far, not truly tested, but still ...

I am using debian unstable with custom 2.6.24.4 kernel + TuxOnIce (a.k.a.
suspend 2), removed uswsusp as it also disabled suspend to ram and with the
hibernate package.

I added
In /etc/hibernate/common.conf I set
SwitchToTextMode yes
UseDummyXServer yes

I also removed the nvidia from the blacklist modules.

I also made sure the suspend2 is used and had to set
ProcSetting extra_pages_allowance 1500

Not sure yet if SwitchToTextMode but UseDummyXServer is needed for sure here.
It does seem to hang for a minute on resume, first with a blinking cursor for
20 seconds, the it beeps and another 40 seconds with black screen, but then it
fires up the nvidia splash screen (probably the dummy x-server) and goes back
to X.

The only issue I've been experiencing unrelated to this is that the wireless
driver (iwl4965 from compatwireless and the stock kernel) causes a kernel panic
quite often on unload-reload. Happens with suspend to ram, not yet suspend to
disk. I need to see how it suspends without unloading. at the moment it's in
with the blacklisted modules. seems to reload better after suspend but like I
said, still every some time causes a kernel panic


> 
> 
> 
> 
> On Tue, 2008-02-26 at 20:37 -0500, Jimmy Wu wrote:
> > Hello,
> > 
> > I was just wondering if anyone has suspend-to-disk working with the
> > non-free nvidia drivers?
> > For Thinkwiki and other sites I've seen that say this works out of the
> > box, none of them mention using the nvidia driver, and it seems
> > everyone is using gnome-power-manager (I have xfce4, not gnome).
> > 
> > More detailed information below:
> > 
> > I have a Thinkpad T61 running Debian Sid / Xfce4, with an NVIDIA
> > Quadro NVS 140M.  From the package lists, I believe I have uswsusp
> > installed.   Suspend to ram works beautifully with the sysfs (echo -n
> > mem > /sys/power/state).  When I try s2disk from within X, the system
> > goes down fine, but comes up to a few beeps, a black screen, and total
> > unresponsiveness, other than a hard reboot.  I have tried s2disk from
> > a tty, even while X was running, and it suspends and resumes back to
> > the tty fine, but when I switch to the X server with Alt+F7, I get the
> > unresponsive black screen again, and can't even get back to tty1.
> > Using the hibernate package script, I get the following output:
> > 
> > hibernate: Trying method in suspend2.conf...
> > hibernate: Trying method in disk.conf...
> > hibernate: Trying method in ususpend-disk.conf...
> > hibernate: Including configuration from common.conf
> > hibernate: [01] Executing CheckLastResume ...
> > hibernate: [01] Executing CheckRunlevel ...
> > hibernate: [01] Executing LockFileGet ...
> > hibernate: [01] Executing NewKernelFileCheck ...
> > hibernate: [10] Executing EnsureUSuspendCapable ...
> > hibernate: [11] Executing XHacksSuspendHook1 ...
> > hibernate: [12] Executing IbmAcpiStartSuspend ...
> > hibernate: [59] Executing RemountXFSBootRO ...
> > hibernate: [89] Executing SaveKernelModprobe ...
> > Saved /proc/sys/kernel/modprobe is /sbin/modprobe
> > hibernate: [91] Executing ModulesUnloadBlacklist ...
> > Unloading blacklisted modules listed /etc/hibernate/blacklisted-modules
> > Unloading blacklisted module nvidia (and dependencies)
> > Unloading nvidia ...
> > Removing modules with rmmod.
> > Module version for ipw2100 is 2
> > Module version for ipw2200 is 2
> > Module version for snd_bt_sco is
> > Module version for ndiswrapper is
> > Unloading blacklisted module mac80211 (and dependencies)
> > Unloading iwl4965 ...
> > Unloading mac80211 ...
> > Some modules failed to unload: nvidia
> > hibernate: Aborting suspend due to errors in ModulesUnloadBlacklist
> > (use --force to override).
> > hibernate: [90] Executing ModulesLoad ...
> > Loading module iwl4965 (from auto)...
> > Loading module mac80211 (from auto)...
> > hibernate: [89] Executing RestoreKernelModprobe ...
> > hibernate: [85] Executing XHacksResumeHook2 ...
> > hibernate: [70] Executing ClockRestore ...
> > hibernate: [59] Executing RemountXFSBootRW ...
> > hibernate: [12] Executing IbmAcpiEndResume ...
> > hibernate: [11] Executing XHacksResumeHook1 ...
> > hibernate: [01] Executing NoteLastResume ...
> > hibernate: [01] Executing LockFilePut ...
> > 
> > Some sites say that to get nvidia to resume properly, add the
> > POST_VIDEO=false and SAVE_VBE_STATE=false to
> > /etc/defaults/acpi-support.  I didn't have that file, but I tried
> > installing acpi-support and making those changes.  That didn't fix the
> > problem though.
> > 
> > At this point, I am a bit at a loss for where to go next, so any help
> > would be greatly appreciated.
> > 
> > Thanks in advance!
> > -- 
> > Jimmy Wu
> > Registered Linux User #454138
>