blank screen on suspend to RAM recovery
I've asked this a couple of times elsewhere on the forums, and I still have yet to get any input that points me in the right direction, so I'm hoping someone can at least tell me what's going wrong with ACPI so I can get it working right.
I've compiled my own kernel to use ACPI for various events on my laptop (it's an IBM t42p w/FIREGL T2 graphics card, so I'm using the ibm-acpi module). I've succesfully configured a script in order to suspend the system to RAM on lid events that works fine while running X, but whenever I try to suspend to RAM in the console, I get a blank screen upon recovery, the system is still running, as the three fingered salute works fine, and I can even type in 'reboot' and the machine restarts just fine, and the backlight also turns on upon recovery. The script I based my own configuration on is at http://thinkwiki.org/wiki/How_to_configure_acpid. I don't think that's the problem though, as I have also edited the action script so that it just runs Code:
echo -n "mem" > /sys/power/state Any help would be much appreciated. Thank you EDIT: I should probably alo mention that I'm using the vesa framebuffer on console. |
I'm guessing that the script calls on something that works under X but doesn't work under the console. Since you're calling on a button event, you might check to see whether X loads a different keyboard map (or maybe a different library) which can see the button, then unloads it when you go back to console. Write a little script that echos a message, like this:
#!/bin/bash # Call this script "button" and put it under /usr/bin echo "The lid is closed." Don't forget to make the script executable. Then rewrite this: event=button/lid action=/etc/acpi/actions/sleep.sh %e so it reads as follows: event=button/lid action=/usr/bin/button It should echo the message when the lid is closed, if it works under X and doesn't work under the console, you'll need to find out whether the acpid script calls a library which only runs under X, or whether only X can see a button/lid event. You might also try the program under different GUIs. Lots of programs need the Gnome or KDE libraries available to run, and those only work under X. You can use most programs with the -v, for verbose, flag, and this might get you a useful error message. T. |
Thanks for the reply, troutwaxer, but that doesn't seem to be the problem. Perhaps I worded the issue poorly. The script itself works under X as well as in the console, as the events are called through the lid button that gets hit when the screen is closed, but upon waking up from a suspend to RAM when running only the console (no xorg running at all), the screen is completely blank. The keyboard itself still runs fine, and I can successfully enter commands (usually I just type in sudo /sbin/reboot), but the screen doesn't display any characters. I also read that a possible solution is to put
Code:
append="acpi_sleep=s3_bios" #!/bin/bash event=button/lid action=echo -n "mem" > /sys/power/state and after restarting the acpid that script works too, but the problem is still there. Thanks |
Ok, I believe I'm mistaken about th problem now. It turns out that the backlight isn't turning on with a recovery from suspend to RAM. I've also learned that if I do a suspend to RAM from a console when X is running as well, it wakes to a black screen, but when I switch back into X, the screen turns on and I can also switch back into the console and see everything. I would like to try adding a command to my script that will turn the backlight back on when recovering from a console, but I'm not sure of the command to use. Any suggestions?
|
All times are GMT -5. The time now is 05:51 AM. |