Bug 281798 - Cannot resume Toshiba Satellite A100
Summary: Cannot resume Toshiba Satellite A100
Status: RESOLVED FIXED
Alias: None
Product: openSUSE 10.3
Classification: openSUSE
Component: Mobile Devices (show other bugs)
Version: Final
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Frank Seidel
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-06-07 09:53 UTC by Felix Möller
Modified: 2007-11-27 11:01 UTC (History)
1 user (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Möller 2007-06-07 09:53:31 UTC
I have tried hard to get suspend to ram working on a Toshiba Satellite A100 but it just does not work.

It suspends every time. But resuming is the problem. The keyboard works sometimes (see below). But the backlight is turned off every time!

s2ram -f -a 1   : wakes up
s2ram -f -a 2   : wakes up
s2ram -f -a 3   : wakes up
s2ram -f -p -m  : wakes up
s2ram -f -p -s  : wakes up
s2ram -f -m     : dead
s2ram -f -s     : dead
s2ram -f -p     : wakes up
s2ram -f -a 1 -m: dead
s2ram -f -a 1 -s: dead
s2ram -f -v     : wakes up

All these test are done booting with vga=0 init=/bin/sh

This machine can be identified by:
    sys_vendor   = "TOSHIBA"
    sys_product  = "Satellite A100"
    sys_version  = "PSAA9E-099039GR"
    bios_version = "5.60   "
Comment 1 Felix Möller 2007-07-23 15:35:22 UTC
I have updated the machine to bios version 5.90 but it is still not working. 
The laptop is updated to todays factory as well.

I tried Kubuntu 7.04 and that is working without a problem from the default installation.

What is Kubuntu doing differently? Any ideas what I could do to get this working?
Comment 2 Felix Möller 2007-07-24 09:39:33 UTC
This must be an userspace issue. I replaced the Kubuntu 7.05 kernel (2.6.20-16-generic) with openSUSEs 2.6.22-5-default and Kubuntu still does suspend!
Comment 3 Felix Möller 2007-07-24 10:50:13 UTC
I installed s2ram on ubuntu and it seems to work without a problem with that too.

s2ram from Kubuntu says the machine is unknown but using s2ram -f it suspends.

The openSUSE version says the following:
# s2ram -n
Machine matched entry 197:
    sys_vendor   = 'TOSHIBA'
    sys_product  = 'Satellite A100'
    sys_version  = ''
    bios_version = ''
Fixes: 0x3  S3_BIOS S3_MODE
This machine can be identified by:
    sys_vendor   = "TOSHIBA"
    sys_product  = "Satellite A100"
    sys_version  = "PSAA9E-099039GR"
    bios_version = "5.90   "

How can I edit the entry 197?
Comment 4 Felix Möller 2007-07-24 13:05:48 UTC
I have investigated somemore.

Under Kubuntu-userland with kernel and initrd from current openSUSE factory. I can suspend with their /etc/acpi/sleep.sh. s2ram does not work with openSUSE kernel and initrd under Kubuntu either. (But it does work with the Ubuntu kernel. the openSUSE s2ram with the entry and the Kubuntu version without the entry work in fact booth)

So there must be a problem with the openSUSE kernel and s2ram ...
Comment 5 Felix Möller 2007-07-25 13:32:55 UTC
After converting the ubuntu acpi-support package from http://archive.ubuntu.com/ubuntu/pool/main/a/acpi-support/ alien and editing a few lines and and arround 50 reboots I have written the following script, which works reliable on my machine:

#!/bin/bash
CONSOLE=`fgconsole`
chvt 12

for x in /sys/class/graphics/*; do
    if [ -f $x/state ]; then
        echo -n 1 >$x/state;
    fi
done

echo -n mem >/sys/power/state

vbetool post

for x in /sys/class/graphics/*; do
    if [ -f $x/state ]; then
        echo -n 0 >$x/state;
    fi
done

chvt $CONSOLE
Comment 6 Felix Möller 2007-07-25 16:22:12 UTC
After working through the openSUSE pm-utils scripts I came up with the following, which works for me.

# cat /etc/pm/sleep.d/99video
#!/bin/bash
# This makes my Toshiba A100 resume. The code comes from the Ubuntu
# acpi-support package.
# Felix Möller <felix@derklecks.de>
case $1 in
    suspend)
        for x in /sys/class/graphics/*; do
          if [ -f $x/state ]; then
            echo -n 1 >$x/state;
          fi
        done
        ;;
    resume)
        vbetool post
        for x in /sys/class/graphics/*; do
          if [ -f $x/state ]; then
            echo -n 0 >$x/state;
          fi
        done
        ;;
esac

Stefan: I think help_options() in /usr/lib/pm-utils/bin/pm-action should be adapted to the suse version, which does not support quiet a few of the mentioned options. (See /usr/share/doc/packages/pm-utils/hooks)
Comment 7 Forgotten User ZhJd0F0L3x 2007-07-26 17:09:31 UTC
Yes, i'll look into that. We might support more of those options soon, though.
Comment 8 Felix Möller 2007-08-11 10:22:57 UTC
The A100 suspends now without any selfwritten hook with "s2ram --force --vbe_post" just "s2ram" does not work.

# s2ram -n
Machine matched entry 237:
    sys_vendor   = 'TOSHIBA'
    sys_product  = 'Satellite A100'
    sys_version  = ''
    bios_version = ''
Fixes: 0x3  S3_BIOS S3_MODE
This machine can be identified by:
    sys_vendor   = "TOSHIBA"
    sys_product  = "Satellite A100"
    sys_version  = "PSAA9E-099039GR"
    bios_version = "5.90   "
See http://en.opensuse.org/S2ram for details.
Comment 9 Felix Möller 2007-09-08 10:40:09 UTC
Why is this still not fixed with current factory? Do you need anything else?

You have added the script to s2ram with suspend-s2ram-suspend-fbcon.diff for bug #293662 .

I think just adding the machine to suspend-0.69.9/whitelist.c is enough.
Comment 10 Forgotten User ZhJd0F0L3x 2007-09-11 10:25:08 UTC
Hi Felix, sorry for the delay.

This is still not totally clear. We have an A100 here that suspends fine with "S3_BIOS|S3_MODE".

Our s2ram binary now has the framebuffer suspend sysfs hack from comment #5 built in, so you don't need the script in pm-utils anymore.

I still need to find out what is different on your machine versus the one we have here. Until i can test this (and it will be next week earliest, since i will be traveling), please just use a config file in /etc/pm/config.d that
just contains "S2RAM_OPTIONS='-f -v'".

Sorry for the hassle.
Comment 11 Birte Kalveram 2007-10-09 14:03:29 UTC
I still cannot resume my A100-01L.

s2ram -n
Machine matched entry 263:
    sys_vendor   = 'TOSHIBA'
    sys_product  = 'Satellite A100'
    sys_version  = ''
    bios_version = ''
Fixes: 0x3  S3_BIOS S3_MODE
This machine can be identified by:
    sys_vendor   = "TOSHIBA"
    sys_product  = "Satellite A100"
    sys_version  = "PSAARE-05Q029GR"
    bios_version = "5.90   "

uname -r
2.6.22.5-31-default

I tested all of the options below, with and without the -v switch and the computer suspends in all cases (standby LED is active) but it fails to resume (the keyboard remains dead and there is no HD activity).

    * s2ram -f -a 1
    * s2ram -f -a 2
    * s2ram -f -a 3
    * s2ram -f -p -m
    * s2ram -f -p -s
    * s2ram -f -m
    * s2ram -f -s
    * s2ram -f -p
    * s2ram -f -a 1 -m
    * s2ram -f -a 1 -s 
Comment 12 Felix Möller 2007-10-23 08:03:46 UTC
(In reply to comment #10 from Stefan Seyfried)
> This is still not totally clear. We have an A100 here that suspends fine with
> "S3_BIOS|S3_MODE".

There are alot of differnt A100s. The number after the 100 is important too in my case 773.

Mine is:
Fixes: 0x3  S3_BIOS S3_MODE
This machine can be identified by:
    sys_vendor   = "TOSHIBA"
    sys_product  = "Satellite A100"
    sys_version  = "PSAA9E-099039GR"
    bios_version = "5.90   "

> Our s2ram binary now has the framebuffer suspend sysfs hack from comment #5
> built in, so you don't need the script in pm-utils anymore.
> 
> I still need to find out what is different on your machine versus the one we
> have here. Until i can test this (and it will be next week earliest, since i
> will be traveling), please just use a config file in /etc/pm/config.d that
> just contains "S2RAM_OPTIONS='-f -v'".
I am using the radeonhd driver by now and to suspend the machine I have to use:
# cat /etc/pm/config.d/config
S2RAM_OPTS="--force --vbe_post --vbe_mode --vbe_save"

Without the --vbe_post the machine dies hard on resume so that nothing is written in the logs. When just using one of [--vbe_mode, --vbe_save] the consoles do not work after suspend.
Comment 13 Forgotten User ZhJd0F0L3x 2007-10-25 14:41:39 UTC
Frank has an A100, he will take care.
Comment 14 Frank Seidel 2007-11-27 10:39:33 UTC
Birte: Could you try if it works with just s2ram -f ? As you seem to have a nvidia gfxcard it could also be possible you need bootparameter agp=off (on x86_64 systems) or Option "NvAGP" "1" in your /etc/X11/xorg.conf Device-Section.
Comment 15 Frank Seidel 2007-11-27 11:01:04 UTC
Felix, thanks for your feedback. I sent a patch with your s2ram options for the whitelist to our upstream maintainer.

Birte: as you seem to have another satellite a100 incarnation, i'd like to ask you to open a new bug for your hardware. You may of course add me as Assignee.