Unable to resume after suspend

I'm using Ubuntu 12.04 & everything about it is great except that it just won't resume after suspend. I've tried the suggestions listed in this thread Entire system freezing after pressing "Suspend" but none worked. I'm using Lenovo Y510P. I'm new to Ubuntu, or unix for that matter, so please let me know if there's anymore information that I should be posting. Thanks.

update

I tried the suggestion by Dima on this post How to enable hibernation?. The machine wakes up from hibernation but immediately the screen gives a screen like this

enter image description here

Wondering if this is an issue with the graphics card or something.


A lot of graphic resume problems could be solved by doing the suspend/resume from the virtual console, so that after the resume a "refresh" is forced by the graphic drivers.

Check if the system suspend correctly from a virtual console:

  1. switch to a virtual console with CtrlAltF1

  2. login with your user and password

  3. suspend the system (either using the suspend key-combo for your system, or issuing the command sudo /usr/sbin/pm-suspend)

  4. resume -> you should have a working prompt (exactly the same screens as before), otherwise see FAIL

  5. switch to the graphic console with CtrlAltF7

  6. if all is ok, problem solved! You can follow the instruction below (from this answer) to make the switch automatic; otherwise, see FAIL

If something is still wrong...

FAIL: So the problem is another one --- I do not have that laptop so I can't really help a lot more. Maybe studying the content of file /var/log/pm-suspend.log can shed some light.


How to make the switch automatic
  1. edit/create the file

    gksudo gedit /etc/pm/sleep.d/01_switchvt

  2. Put this content in it:

    #!/bin/sh
    
    # Switch to a VC before suspending and back after resume
    
    case "$1" in
        resume|thaw)
            chvt 7
        ;;
        suspend|hibernate)
            chvt 1
        ;;
    esac
    
  3. save and exit

  4. make it executable:

    sudo chmod 755 /etc/pm/sleep.d/01_switchvt

Notice in step 2, most of the installations will need the command chvt 7 --- this is the same as pushing ctrl-alt-F7 to go back to the graphic screen. If you need another key combo, change the "7" there accordingly.