swsusp on dell latitude d800

kategorie: howto
publikoval: robo
datum a čas: 25-11-2005 12:15:47

Here you can find step-by-step instructions how I got software suspend to work on Dell Latitude D800. This page was inspired by similar page here created by Ryan.

  • kernel version

    $ uname -srv
    Linux 2.6.10-gentoo-r6 #4 Fri Feb 4 15:38:45 CET 2005
    

  • download swsusp2 patches

     
    $ wget http://download.berlios.de/softwaresuspend/software-suspend-2.1.5.15-for-2.6.10.tar.bz2
    
    (Try to look here for more recent ones)

  • extract patches

     $ tar xjvf  software-suspend-2.1.5.15-for-2.6.10.tar.bz2

  • go to your kernel source tree

    $ cd /usr/src/linux

  • run this

    $ /path/to/patches/apply 
    This should complain about not being able to apply patch cleanly, so I simply moved these patches away from /path/to/patches/. In my case there were two such ones: 100-kdb-v4.4-2.6.10-common-1 and 130-bootsplash-3.1.4-2.6.10.diff.

  • now again run

    $/path/to/patches/apply 
    in kernel source tree and everything went well

  • let's configure our kernel (we are in /usr/src/linux)

    $ make menuconfig
    then navigate:
        Power management options (ACPI, APM)  --->
            [*] Power Management support
            ...
                Software Suspend 2  --->
                     <*> Software Suspend 2
                     <*>    Swap Writer
                     <*>    LZF image compression (Preferred)
                     <*>   Text mode console support
                     [*]    Warn if possibility of filesystem corruption
    

  • compile your kernel

    $ make
    and install
    $ make modules_install ; make install

  • in the meantime emerge hibernate script

    $ emerge hibernate-script

  • and configure it

    $ vim /etc/hibernate/hibernate.conf
    here go all uncomented lines from my hibernate.conf
        ...
        UseSwsusp2 yes
        Reboot no
        EnableEscape yes
        DefaultConsoleLevel 1
        ...
        UseSysfsPowerState disk
        PowerdownMethod 5
        ...
        Verbosity 0
        LogFile /var/log/hibernate.log
        LogVerbosity 1
        ...
        SaveClock yes
        ...
        UnloadBlacklistedModules yes
        LoadModules auto
    

  • kernel should be compiled now, reboot

    $ shutdown -r now
    You can try hibernate right now. If it doesn't work yet read on.

Troubleshooting

  • when I tried to suspend I got this

    $ hibernate
    Some modules failed to unload: nvidia
    hibernate: Aborting suspend due to errors in ModulesUnloadBlacklist (use --force to override).
    
    solution is either using:
    $ hibernate --force
    or go to the file /etc/hibernate/blacklisted-modules and comment nvidia module out:
        ...
        #nvidia
        ...
    

  • windows always run scandisk after suspend

    This is probably due to mounted ntfs partition. Solution is simple, go to your hibernate.conf write this:

        ...
        Unmount /win
        ...
    
    where /win is my ntfs partition holding Win XP.

I haven't tested this much but it's been working quite reliably for past 3 weeks (suspending 1-2 times a day).

Sorry for my bad English. For questions, suggestions whatever use this address: on%onyon!net (%=@;!=.).

Přidej příprcek:






robo
30-03-2006 12:05:09 Σ B @ 17907 #^

Update:

so I found that this article got linked from various forums and I have some news for you

Since there are suspend kernel sources provided in gentoo I don't have to patch anymore

Then there are kernel versions which simply don't play well together with nvidia binary driver. Tried some of them and found 2.6.15-suspend2-r5 to be the one which works almost flawlessly (crashed once, maybe there were chances that machine is still accessible via network, but I didn't bother to try)

me recommends 2.6.15-suspend2-r5