Bug 3670

Summary: S3 resume: no video - Sony S1XP
Product: Drivers Reporter: Bastien Nocera (bugzilla)
Component: Video(Other)Assignee: Venkatesh Pallipadi (venki)
Severity: normal CC: andi, bernard, boldi, c-d.hailfinger.kernel.2004, hanwoody, illegaloperation38, jabra, moku-bugs, pierre-bugzilla, sarmbruster, sg02r, vadim
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.8-1.521 Subsystem:
Regression: --- Bisected commit-id:
Attachments: dmesg output
dmidecode output
dsdt.dsl (output of iasl)
video_post tool from Venki
Patch to invoke vga_post from kernel

Description Bastien Nocera 2004-10-30 12:59:20 UTC
Distribution: Fedora Core 2
Hardware Environment: Sony S1XP
Software Environment: in single user mode, with most modules removed
Problem Description:
After sending the machine in S3 mode, I cannot get the machine to wake up
anymore, and have to remove the battery to power it back up.

This might be related to bug #1730.
Attached are the usual asked-for debug files.
Comment 1 Bastien Nocera 2004-10-30 13:00:54 UTC
Created attachment 3913 [details]
dmesg output

The proprietary modules are not loaded when suspend is tested, and no dmesg can
be gathered after I try to resume from suspend (obviously).
Comment 2 Bastien Nocera 2004-10-30 13:01:27 UTC
Created attachment 3914 [details]
dmidecode output
Comment 3 Bastien Nocera 2004-10-30 13:02:43 UTC
Created attachment 3915 [details]
dsdt.dsl (output of iasl)

The DSDT compiles back without any problems.
Comment 4 Zhu Yi 2004-10-31 18:12:20 UTC
I have the same problem w/ SONY Z1 before. This is fixed by 2.6.9. Note the 
video might not come back, just make sure you can ssh to the machine after 
resume. You need an additional userspace tool to make the video come back.
Comment 5 Bastien Nocera 2004-11-01 01:31:51 UTC
Thanks, I'll test 2.6.9 ASAP.
Comment 6 Bastien Nocera 2004-11-01 16:03:39 UTC
It wakes up great now, with 2.6.9, however, the video doesn't come back up, as
you noted. Do you know which tool to use to bring the video back up? I tried
spicctrl, to try and change the brightness, and radeontool, to turn the DAC and
lights on and off, neither worked.
Comment 7 Zhu Yi 2004-11-01 17:54:33 UTC
Created attachment 3929 [details]
video_post tool from Venki
Comment 8 Zhu Yi 2004-11-01 17:56:50 UTC
See README for details. I used it as "echo 3 > /proc/acpi/sleep 
&& /root/emu/video_post". The only problem is it discards the "screen 
expansion" BIOS option, so I can only get a small screen after resume. Please 
let me know how is it going on your laptop.
Comment 9 Bastien Nocera 2004-11-03 14:45:08 UTC
Thanks a lot, Zhu Yi. The video_post tool fixed my last problem with sleep,
everything works fine now. Can the bug be closed?
Comment 10 Venkatesh Pallipadi 2004-11-03 15:57:10 UTC
Nice to see the userlevel tool worked for you. 

I will like to keep this bug open until this bug is fixed kernel/user utility,
 without the user having to run this tool.

Also, I think there are many other bugs in the bugzilla with similar problems. 
Probably we can mark all of them duplicates of this one.

Comment 11 Venkatesh Pallipadi 2004-11-04 10:15:22 UTC
Created attachment 3961 [details]
Patch to invoke vga_post from kernel

If the above vga_post utility helps you to get back the text console after S3
suspend-resume, you can use the attached patch to invoke that utility from
kernel directly (Please note the path for video_post in the patch should match
the patch where you have installed it).
The advantage being, this will make the Xwindows work after resume as well.
This still doesn't help framebuffer consoles.
Comment 12 Bastien Nocera 2004-11-04 10:53:00 UTC
Venkatesh, surely, this should be done in either the X driver, or in the
framebuffer driver, not in user-space called from the kernel.
Or they should be a way to change the path to the command-line tool, as
/proc/sys/kernel/hotplug allows for the hotplug subsystem.
Comment 13 Len Brown 2004-11-04 11:54:57 UTC
*** Bug 3168 has been marked as a duplicate of this bug. ***
Comment 14 Len Brown 2004-11-05 18:02:52 UTC
*** Bug 1721 has been marked as a duplicate of this bug. ***
Comment 15 William Hanwoody 2004-11-07 17:45:19 UTC
Bug 3662 is the same as this Bug,and have been fixed by patch video_post. I use this patch in kernel2.6.9.Succeed in X and console without framebuffer.Failed in framebuffer. Thanks to Venki.
Comment 16 William Hanwoody 2004-11-07 17:54:38 UTC
Sorry,it is Bug3622,not 3662
Comment 17 Venkatesh Pallipadi 2004-11-07 18:10:01 UTC
*** Bug 3622 has been marked as a duplicate of this bug. ***
Comment 18 Shaohua 2004-11-15 16:53:20 UTC
*** Bug 605 has been marked as a duplicate of this bug. ***
Comment 19 Bernard Blackham 2004-11-24 03:25:20 UTC
The hibernate script[1] (used mainly for Software Suspend 2 but also vanilla
swsusp and S3), has an option called UseDummyXServer. It essentially runs:

  xinit /bin/true -- `which X` :9

to reinitialise the video card before switching back to X. It has been recently
confirmed to work for several people with radeons, and some earlier nVidia cards
and drivers when resuming from suspend to disk.

It appears as if video_post might be doing a similar thing. Does using this X
hack work for S3 and if so, would it be a more portable (though less flexible)
solution? (not requiring an extra binary to be installed if X already is).

[1] http://download.berlios.de/softwaresuspend/hibernate-script-1.01.tar.gz
Comment 20 William Hanwoody 2004-11-25 03:02:46 UTC
will "X hack" serve for intel855GM?
Comment 21 Benedek Frank 2004-12-19 11:15:47 UTC
I have tried it, and works well with Dell Inspiron 700m, thanks for all the 
efforts. In replying to William, yes, it will work with your Video chipset. The 
only thing is that for me, the i830 module wont load back in after I resume 
from suspend, so I changed the script a little, and put it in /sbin/suspendtest 
and chmod it to be able to execute. 
# this file is /sbin/suspendtest 
echo "mem" > /sys/power/state 
modprobe i830 
With this, my video wakes up, of course only from console and not from and to 
X. I need to apply the kernel patch for that. 
Hope it helps 
Benedek Frank 
Comment 22 Benedek Frank 2004-12-20 13:42:26 UTC
To add to my comments, I could not patch my kernel with the patch offered here .My kernel is a 
debian 2.6.9 kernel, and did not take the patch.  
However, I did recognize that while X will show strange characters when woken up with video_post, if 
you do a CTRL ALT 1 and then back to CTRL ALT 7 (that is where debian's KDM runs) , the display is 
restored. So it isn't a very big deal. 
Thanks for the great posts, it helped me a great deal. 
Comment 23 Benedek Frank 2004-12-24 11:57:59 UTC
Sorry for the typo \. It wanted to be CTRL ALT F1 and then CTRL ALT F7. 
Comment 24 Vadim Zeitlin 2004-12-25 19:34:17 UTC
video_post doesn't seem to do anything for me after waking up from suspend on HP
nw8000 with ATI FireGL T2 (Radeon 9600). When I launch it, it simply hangs
without doing anything [I can see] and the screen remains blank. This is with
2.6.9 (debian) kernel + latest (2004-12-10) ACPI patch.
Comment 25 Len Brown 2005-01-03 18:48:02 UTC
*** Bug 1960 has been marked as a duplicate of this bug. ***
Comment 26 Len Brown 2005-01-03 19:51:18 UTC
*** Bug 1688 has been marked as a duplicate of this bug. ***
Comment 27 Vadim Zeitlin 2005-01-06 15:20:08 UTC
More information about the problem with ATI FireGL T2 on HP nw8000: after
installing the ATI X drivers, I see this in XFree86.log when trying to run X
after waking up from suspend:

(II) fglrx(0): Primary head:
 Monitor   -- NONE
 Connector -- DVI-D
 DAC Type  -- TVDAC/ExtDAC
 TMDS Type -- Internal
 DDC Type  -- DVI_DDC
(EE) Screen(s) found, but none have a usable configuration.

i.e. it simply doesn't detect the monitor at all (usually it would say LVDS
instead of NONE) which seems to confirm that somehow the screen isn't switched
on when the machine wakes up. I'd appreciate any idea(s) about possible
workarounds as so far the machine remains unusable.
Comment 28 paradigmshift 2005-02-09 17:55:01 UTC
video-post does not work on my Dell Inspiron 8600 with nVidia GeForce FX Go5200. 
On resume, I get only a blank screen. At this point, I can still do a
Magic-Sysreq to reboot, so it is not a complete kernel lockup. I am running
kernel-2.6.10 with recent acpi patches (jan-25-2005)+ swsup2. 

Model:           GeForce FX Go5200
IRQ:             11
Video BIOS:
Card Type:       AGP

I tried from both the Xserver and the console with the same result. However, I
am running console as a framebuffer console. Would this conflict?
Comment 29 Josh Abraham 2005-04-10 11:19:13 UTC
Using the hibernate tool I have managed to get my Inspiron 5150 with Nvidia
GeForce FX Go 5200] (rev a1) running ubuntu 2.6.10-5-386 to suspend. To do so
since I am using the binary driver I need to remove the binary driver switch to
console or fb and then it is able to suspend and resume properly from the swap. 

Please let me know if anyone would like more information.

Josh Abraham 
Comment 30 James Gao 2005-05-27 21:54:53 UTC
The Video_post tool works very well with kernel 2.6.10, but it seems that it
does not work with kernel 2.6.11. Are there any work arounds in 2.6.11 that
would allow the screen to come back on?
Comment 31 Bastien Nocera 2005-06-02 14:05:15 UTC
James, it must be some other problem, because my laptop works just fine with it
(with the current 2.6.11 kernel in Fedora Core 4 test 3).
Comment 32 Len Brown 2006-08-09 20:41:28 UTC
Video restore on S3 resume is a BIOS or video driver issue,
not an ACPI issue.  moving to drivers/video.
Comment 33 Bastien Nocera 2006-08-10 00:39:20 UTC
I'm closing this bug. The original bug was about the Sony S1XP (with a Radeon
card) not waking back up from sleep correctly. That works with the video_post
tool below on Fedora 2, 3 and 4, and out of the box on Fedora Core 5.