On Mon, Jul 03, 2006 at 11:46:32PM +0200, Pavel Machek wrote:
> Interesting datapoint would be "does it work ok with 32-bit kernel"?
> Some live-CD might help answer that question.

This hint is what it took to get everything going for me. I've figured
out 32-bit s2ram for my laptop, and made some progress debugging 64-bit.

I started by building a 32-bit s2ram and using it while running the
32-bit 2.6.17 kernel from knoppix 5.0.1. Here are the results:

s2ram -f -a 1
s2ram -f -a 2
s2ram -f -a 3
        machine functional after resume, no video

s2ram -f -p -s
s2ram -f -s
        Any attempt to use -s causes s2ram to segfault like this:

        [EMAIL PROTECTED] ./s2ram -f -s
        Switching from vt1 to vt1
        Calling save_state
        Get video state buffer size failed
        Allocated buffer at 0x20000 (base is 0x0)
        ES: 0x2000 EBX: 0x0000
        Segmentation fault

        I'll be happy to help debug it if someone wants to try.

s2ram -f -p
        SUCCESS!  POSTing the video bios after resume is what's needed
        for this laptop.

        On the console, nothing works quite right. After a
        suspend/resume with no framebuffer (booted with vga=0), The
        console is OK, but it's shrunk to a quarter-size rectangle in
        the middle of the screen. Before suspend, it was a normal vga
        console filling the whole screen.

        With framebuffer, the result is the same: a small vga console in
        the middle of the screen (no fb after resume). Only now, the
        contents of the console is just random green and pink character
        cells. The system is functional, though.

        Further investigation shows that it works within X, whether or
        not the boot console is using framebuffer. I'm not unloading any
        modules, or doing anything other than running "s2ram -f -p".
        After resume into X with a framebuffer console, the console VTs
        are messed up, but differently than if suspend/resume is done on
        an fb console.

        When doing suspend/resume in X, the konsole where s2ram is run
        gets about 50 phantom '\n' keypresses. The output of s2ram looks
        like this:

        [EMAIL PROTECTED] /tmp/s2ram -f -p
        Switching from vt5 to vt1
        Calling do_post
        Calling INT 0x15 (F000:F859)
        EAX is 8C15F04
        Leaving interrupt call.
        Calling INT 0x15 (F000:F859)
        EAX is 5F01
        Leaving interrupt call.
        Calling INT 0x15 (F000:F859)
        EAX is 40005F00
        Leaving interrupt call.
        Calling INT 0x15 (F000:F859)
        EAX is 40005F03
        Leaving interrupt call.
        Calling INT 0x15 (F000:F859)
        EAX is 705F02
        Leaving interrupt call.
        Calling INT 0x10 (C000:0D18)
        EAX is 704F14
        Leaving interrupt call.
        Calling INT 0x15 (F000:F859)
        EAX is F0005F15
        Leaving interrupt call.
        Calling INT 0x15 (F000:F859)
        EAX is 705F15
        Leaving interrupt call.
        Calling INT 0x15 (F000:F859)
        EAX is 705F15
        Leaving interrupt call.
        Calling INT 0x15 (F000:F859)
        EAX is 25F15
        Leaving interrupt call.
        Calling INT 0x15 (F000:F859)
        EAX is 805FFF
        Leaving interrupt call.
        switching back to vt5
        [EMAIL PROTECTED]
        [EMAIL PROTECTED]
        [EMAIL PROTECTED]
        ...


s2ram -f -a 1 -s
        not tried

So all that leads me to this patch:

diff -ur suspend-0.2.orig/whitelist.c suspend-0.2/whitelist.c
--- suspend-0.2.orig/whitelist.c        2006-06-21 07:52:12.000000000 -0400
+++ suspend-0.2/whitelist.c     2006-07-04 14:00:53.000000000 -0400
@@ -54,6 +54,10 @@
        { "Hewlett-Packard",            "HP Compaq nx6125 *",   "",     "", 
VBE_SAVE|NOFB },
        { "Hewlett-Packard",            "HP Compaq nc6230 *",   "",     "", 
VBE_SAVE|NOFB },
        { "Hewlett-Packard",            "HP Compaq nx8220 *",   "",     "", 
VBE_SAVE|NOFB },
+       /* The full match is:
+        * { "Hewlett-Packard ", "Pavilion zv5000 (DP523AV)     ",      "F.35", 
"F.35", VBE_POST|NOFB },
+        * but I don't see any reason to match that tightly. - Jason Lunz */
+       { "Hewlett-Packard*",           "Pavilion zv5000 *",    "",     "", 
VBE_POST|NOFB },
        { "Hewlett-Packard",            "Presario R4100 *",     "",     "", 
S3_BIOS|S3_MODE },
        /* R51 and T43 confirmed by Christian Zoz */
        { "IBM",                        "1829*",        "ThinkPad R51", "", 0 },


What's the policy on strict matching? I cleared out sys_version and
bios_version since most other entries don't use them, and I use looser
wildcard matches for sys_vendor and sys_product.

Jason

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Suspend-devel mailing list
Suspend-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/suspend-devel

Reply via email to