I have a new laptop (Dell Inspiron 640m) which has some trouble resuming from
I use this to suspend:
# echo mem > /sys/power/state
The system powers down shortly after, but the power light is pulsing (it doesn't
do this usually).
I press the power button to resume it. A few seconds later, the machine becomes
responsive to pings and I can SSH in and play around. However the display is
I am not using any framebuffer, just a standard VGA console. The kernel config
is very minimal, I have disabled sound, USB, etc.
I tried with the "acpi_sleep=s3_bios" parameter. The suspend worked the same as
before (pulsing light), but when I press the power button to resume, the system
boots as normal and presents me with my bootloader and so on (like on a cold
boot). At least the screen isn't blank this time. The same behaviour is observed
It is worth noting that this laptop has a BIOS bug causing the screen to stay
blank upon a lid close-open cycle (bug #5155). However, the "vbetool dpms on"
workaround does not work here (screen still stays blank), so I believe this is a
different problem. At least, if I could manually turn the screen back on using
vbetool that would be acceptable while bug #5155 is unresolved.
I cannot try the vbetool save/restore workaround because I cannot save the state:
# vbetool vbestate save > file
Allocated buffer at 0x20000 (base is 0x0)
ES: 0x2000 EBX: 0x0000
Save video state failed
Created attachment 8475 [details]
dmesg after suspend + resume when screen is blank
Created attachment 8476 [details]
acpidump for inspiron 640m
The vgacon does not support suspend and resume, so it has to rely on the BIOS or
Have you tried with X loaded? Is X able to unblank the screen?
How about vbetool vbemode set 3?
Yes, X unblanks the screen. Thanks for the suggestion.
When working from the console, the vbetool command does not make any difference.
I forgot to mention that I really need the BIOS or kernel to turn the screen
back on to solve the larger issue (which I'll file on a separate bug when I can
read the actual error).
Under my normal kernel .config (with USB, sound, etc enabled), the system hangs
early during resume (doesn't respond to ping, caps lock, etc) and this is not
possible to diagnose when the screen is blank.
As mentioned, vgacon does not have the capability to do power management. It has
to rely on another app to do that. Or you can use a driver that knows the
chipset (intelfb or X).
I believe that you have an Intel 950 graphics card? Perhaps it's possible to
extend intelfb to support your card and for it to have power management support.
That would be Dave Airlie's task (the intelfb git tree is his).
Currently, your best bet is to switch to X on resume, but that would make the
early messages unreadable.
you probably need to repost the BIOS at resume, I'm not sure if we really want
to add suspend/resume support to intelfb I think it is the incorrect model going
forward and I don't have the resources to do it any case...
*** This bug has been marked as a duplicate of 7225 ***