You are not logged in.

#1 2011-03-29 12:30:04

syngin
Member
From: Melbourne
Registered: 2011-03-29
Posts: 39

Asus N53SV suspend to RAM - solution

Not sure if this is the right way to post this, but after much mucking about I've managed to get suspend to RAM working on my Asus 53NV and thought I'd drop what I did here in the hopes someone else might benefit.

Props to: http://thecodecentral.com/2011/01/18/fi … orking-bug

After installing pm-tools, create

/etc/pm/sleep.d/20_ehci_hcd

and dump the following into it

#!/bin/sh

TMPLIST_E=/tmp/echi-dev-list
TMPLIST_X=/tmp/xhci-dev-list
E_DIR=/sys/bus/pci/drivers/ehci_hcd
X_DIR=/sys/bus/pci/drivers/xhci_hcd

unbind() {
        echo -n "" > $1
        for i in `ls $2 | egrep '[0-9a-z]+\:[0-9a-z]+\:.*$'`; do
                echo -n "$i" | tee $3
                echo "$i" >> $1
        done
}

bind() {
        [ -f $1 ] || return

        for i in `cat $1`; do
                echo -n "$1" | tee $2
        done

        rm $1
}

case "$1" in
        hibernate|suspend)
                unbind $TMPLIST_E $E_DIR $E_DIR/unbind
                unbind $TMPLIST_X $X_DIR $X_DIR/unbind
                ;;
        resume|thaw)
                bind $TMPLIST_E $E_DIR/bind
                bind $TMPLIST_X $X_DIR/bind
                ;;
esac

Make it executable. Done.

I'm still testing the results, but so far it looks good.

EDIT: It should be noted that I initially tried the solution contained in the Asus N53JN wiki article here: https://wiki.archlinux.org/index.php/ASUS_N53JN and overall the article applies to the N53SV.

Last edited by syngin (2011-03-29 13:08:29)

Offline

#2 2011-05-05 06:07:05

kkb110
Member
Registered: 2010-09-13
Posts: 14

Re: Asus N53SV suspend to RAM - solution

thanks now suspend works, but did you get hibernation working? pm-hibernate does nothing (no msg, no log, no action)

Offline

#3 2011-06-20 00:57:01

FireJet
Member
Registered: 2011-04-28
Posts: 1

Re: Asus N53SV suspend to RAM - solution

Thanks for this, suspend is working great now smile One thing I would add, my webcam wasn't working, as well as lsusb after suspend, so after reading this thread I added two lines to your code to fix it:

#!/bin/sh

TMPLIST_E=/tmp/echi-dev-list
TMPLIST_X=/tmp/xhci-dev-list
E_DIR=/sys/bus/pci/drivers/ehci_hcd
X_DIR=/sys/bus/pci/drivers/xhci_hcd

unbind() {
        echo -n "" > $1
        for i in `ls $2 | egrep '[0-9a-z]+\:[0-9a-z]+\:.*$'`; do
                echo -n "$i" | tee $3
                echo "$i" >> $1
        done
}

bind() {
        [ -f $1 ] || return

        for i in `cat $1`; do
                echo -n "$1" | tee $2
        done

        rm $1
}

case "$1" in
        hibernate|suspend)
                unbind $TMPLIST_E $E_DIR $E_DIR/unbind
                unbind $TMPLIST_X $X_DIR $X_DIR/unbind
                modprobe -r ehci-hcd
                ;;
        resume|thaw)
                bind $TMPLIST_E $E_DIR/bind
                bind $TMPLIST_X $X_DIR/bind
                modprobe ehci-hcd
                ;;
esac

Webcam and lsusb work after suspend again.

Offline

Board footer

Powered by FluxBB