S3 (Suspend to RAM)
-
After compiling and booting a lot of different kernels, I have found the
reason why a resume from S3 causes a complete freeze of the machine.
The problem lies within the pci-resume code which was introduced in kernel 2.6.7-rc2
So the first step for a working S3 is to patch your kernel with the pci-resume patch.
And as the sound card has its own problems, another patch is required.
The second patch was provided by Stefan Dösinger who suffers from the same problems on his ACER notebook.Kernel requirements for S3
- Every kernel after 2.6.7-rc2 (but before 2.6.10) must be patched with the pci_resume patch or the machine freezes during resume
- A second patch (resume-finish-split) is required for the sound card.
- USB drivers must be compiled as modules as they need to be unloaded before suspending.
- To ressurect the dead video card, AGP & DRI for Radeon must be enabled.
Please Note: As of kernel 2.6.10, no additional patches are required!
After you recompile and install the new kernel, your machine should come back to life after S3. The monitor is still dead but at least the notebook doesn't freeze.
Turning the monitor back on
-
This is going to be a little bit tricky. At the moment, there is only one way to re-enable the Radeon
card after a resume from S3.
Here is how it works:
- Start X11 with radeon driver (DRI can be enabled) on :0
- Start X11 with *vesa* driver on :1 (use X -xf86config /etc/X11/$some_XF86Config)
- Change to VT1 (chvt 1)
- Sync your disks (can't hurt heh)
- Enter S3 (echo -n mem >/sys/power/state)
- Hit the power button to resume
- Run boot-vga-bios (see below where to get it)
- Just ignore the segfault it is causing
- Change to the running *vesa* X11 screen (eg: chvt 8)
- The vesa screen will crash and throw you back to VT1 - that's no problem at all!
- The crashing vesa session revives your Monitor :)
- Change to the radeon X11 screen to re-init AGP (this is a *must*)
- Done !
- Repeat from step 2 ;)
boot-vga-bios (or boot_radeon, which is the same) can be found on Stefan Dösinger's page (search for "Alternative 1:")
Current status of S3
- Suspend-to-RAM works, but the implementation
to revive the radeon card is a pain. - If radeonfb or vesafb are active before suspending, the machine will freeze on resume
Sunday, 24-Jul-2005 16:54:01 CEST