On Friday 12 May 2006 12:55, Stefan Seyfried wrote:
> On Fri, May 12, 2006 at 05:01:34AM -0300, [EMAIL PROTECTED] wrote:
> > In recent weeks (I'm not sure when exactly), suspending via the system
> > tray applet has started to work improperly.  The running session is not
> > resumed when the system is powered back up.  The only relevant data I see
> > in syslog is:
> >
> > kernel: [4338250.896000] Restarting tasks...<6> Strange, kacpid-work-1
> > not stopped
> > kernel: [4338250.897000]  Strange, kacpid-work-2 not stopped
>
> these two are probably the culprit => it is a kernel problem. What kernel
> are you using?

The problem has existed for the last few kernels - this particular one was 
2.6.15-20 (2.6.5-19 and 2.6.5-21 both had other hibernation problems, making 
it impossible to resume properly at all.  I'm currently running .15-22 but I 
haven't attempted to hibernate via kpowersave from it, so I'll do that 
shortly).

If it was a kernel problem, how is it that hibernation 
via /etc/acpi/hibernate.sh still works?

> > kernel: [4338250.901000]  done
> > kernel: [4338250.901000] Thawing cpus ...
> > kdm[5721]: X server for display :0 terminated unexpectedly
> >
> > Clearly, the kdm message is the immediate cause of the problem.
>
> No, it looks more like a "collateral damage" to me. It really smells like a
> kernel problem.

Well, kdm crashing is the cause of me having to log in again :-)  That's what 
I meant by 'immediate'.  Obviously there's something deeper.
>
> > I would suspect this to be more a bug in kdm than powersave, except that
> > hibernating via /etc/acpi/hibernate.sh works flawlessly.
>
> Well, then we would need to find out the difference between hibernate.sh
> and what the powersave scripts do, but to find this out, we would need to
> know your hibernate.sh :-)

Actually, what _I_ would like is any kind of documentation about what 
kpowersave is doing when it hibernates.   acpi-support provides more useful 
(flexible - ability to configure specific devices/modules/services to be 
stopped before hibernation and resume afterwards) hibernation except for one 
thing - it's not integrated to KDE.  acpi-support's hibernate.sh (and the 
scripts it calls) is attached
-- 
derek

-- 
derek

Attachment: hibernate.sh
Description: application/shellscript

# a micro library of helper functions for the power scripts

umask 022;

PATH="$PATH:/usr/bin/X11"
POWERSTATE="/var/lib/acpi-support/powerstate"

getXuser() {
        user=`finger| grep -m1 ":$displaynum " | awk '{print $1}'`
        if [ x"$user" = x"" ]; then
                user=`finger| grep -m1 ":$displaynum" | awk '{print $1}'`
        fi
        if [ x"$user" != x"" ]; then
                userhome=`getent passwd $user | cut -d: -f6`
                export XAUTHORITY=$userhome/.Xauthority
        else
                export XAUTHORITY=""
        fi
}

getXconsole() {
        console=`fgconsole`;
        displaynum=`ps ax | grep -e 'X .* vt'$console | grep -v grep | sed -re 
's!.*/X .*:([0-9]+).*!\1!'`
        if [ x"$displaynum" != x"" ]; then
                export DISPLAY=":$displaynum"   
                getXuser
        fi
}

getState() {
        /usr/bin/on_ac_power;
        if [ "$?" -eq 0 ]; then
                STATE="AC";
        elif [ "$?" -eq 1 ]; then
                STATE="BATTERY";
        fi
}
        
#check our state has actually changed
checkStateChanged() {
# do we have our state stashed?
        if [ -f "$POWERSTATE" ]; then
                OLDSTATE=$(<$POWERSTATE) 
                if [ "$STATE" = "$OLDSTATE" ]; then
                       exit 0
                else
#stash the new state
                        echo "$STATE" > $POWERSTATE
                fi
        else
#we need to stash the new state
                echo "$STATE" > $POWERSTATE
        fi
}

LAPTOP_MODE='/usr/sbin/laptop_mode'
HDPARM='/sbin/hdparm -q'

LIDSTATE='/var/lib/acpi-support/lidstate'
CheckPolicy() {
        if [ "`pidof gnome-power-manager`" -o "`pidof kpowersave`" -o "x$(if [ 
-x /usr/bin/dcop ]; then dcop kded | grep klaptopdaemon; fi)" != x ]; then
                echo 0;
        else
                echo 1;
        fi
}

Attachment: prepare.sh
Description: application/shellscript

# Uncomment the next line to enable ACPI suspend to RAM
#ACPI_SLEEP=true

# Comment the next line to disable suspend to disk
ACPI_HIBERNATE=true

# Change the following to "standby" to use ACPI S1 sleep, rather than S3.
# This will save less power, but may work on more machines
ACPI_SLEEP_MODE=mem

# Add modules to this list to have them removed before suspend and reloaded
# on resume. An example would be MODULES="em8300 yenta_socket"
#
# Note that network cards and USB controllers will automatically be unloaded 
# unless they're listed in MODULES_WHITELIST
MODULES=""

# Add modules to this list to leave them in the kernel over suspend/resume
MODULES_WHITELIST=""

# Should we save and restore state using the VESA BIOS Extensions?
SAVE_VBE_STATE=true

# The file that we use to save the vbestate
VBESTATE=/var/lib/acpi-support/vbestate

# Should we attempt to warm-boot the video hardware on resume?
POST_VIDEO=true

# Save and restore video state?
# SAVE_VIDEO_PCI_STATE=true

# Should we switch the screen off with DPMS on suspend?
USE_DPMS=true

# Use Radeontool to switch the screen off? Seems to be needed on some machines
# RADEON_LIGHT=true

# Uncomment the next line to switch away from X and back again after resume.
# This is needed for some hardware, but should be unnecessary on most.
# DOUBLE_CONSOLE_SWITCH=true

# Set the following to "platform" if you want to use ACPI to shut down
# your machine on hibernation
HIBERNATE_MODE=shutdown

# Comment this out to disable screen locking on resume
LOCK_SCREEN=true

# Uncomment this line to have DMA disabled before suspend and reenabled
# afterwards
# DISABLE_DMA=true

# Uncomment this line to attempt to reset the drive on resume. This seems
# to be needed for some Sonys
# RESET_DRIVE=true

# Add services to this list to stop them before suspend and restart them in 
# the resume process.
STOP_SERVICES="mysql "

# Restart Infra Red services on resume - off by default as it crashes some
# machines
RESTART_IRDA=false

# Switch to laptop-mode on battery power - off by default as it causes odd
# hangs on some machines
ENABLE_LAPTOP_MODE=false

Attachment: 90-framebuffer-stop.sh
Description: application/shellscript

Attachment: 85-alsa-state.sh
Description: application/shellscript

Attachment: 70-modules-unload.sh
Description: application/shellscript

Attachment: 75-console-switch.sh
Description: application/shellscript

Attachment: 60-generate-modules-list.sh
Description: application/shellscript

Attachment: 65-services-stop.sh
Description: application/shellscript

Attachment: 55-down-interfaces.sh
Description: application/shellscript

Attachment: 50-irda-stop.sh
Description: application/shellscript

Attachment: 10-thinkpad-standby-led.sh
Description: application/shellscript

Attachment: 05-acpi-lock.sh
Description: application/shellscript

Attachment: 80-video-vesa-state.sh
Description: application/shellscript

Attachment: 80-video-pci-state.sh
Description: application/shellscript

_______________________________________________
powersave-devel mailing list
powersave-devel@forge.novell.com
http://forge.novell.com/mailman/listinfo/powersave-devel

Reply via email to