Announcement

News: Chakra 2013.03 Benz Released: Release Notes - Download - A good place to start: Beginner's Guide - For pasting any code/info please use paste.chakra. Please read Forum Etiquette.

#1 2011-02-01 02:50:11

illewoare
Member
From: Belgium
Registered: 2010-12-23
Posts: 41

Sleep mode / suspend to ram doesn't work

Hi,

i noticed that suspend to ram doesn't work. My screen goes black and shows some blinking artefacts (white stripes here and there) and stops at this point. When i used Kubuntu or openSUSE it showed the artefact screen for a very brief moment, after which my laptop would suspend. That final part doesn't happen on my Chakra installation. If i move my mouse the box to unlock appears.

I installed 'hibernate-script' from the repo's, but that didn't change anything.

looking into my logs i found pm-suspend.log:

Initial commandline parameters: --quirk-dpms-suspend
--quirk-dpms-on
--quirk-vbestate-restore
--quirk-vbemode-restore
--quirk-vga-mode3
--quirk-vbe-post
Tue Feb  1 02:39:41 CET 2011: Running hooks for suspend.
/usr/lib/pm-utils/sleep.d/00logging suspend suspend:Linux chakra-pc 2.6.37-CHAKRA #1 SMP PREEMPT Wed Jan 5 19:07:09 UTC 2011 i686 AMD Athlon(tm) 64 X2 Dual-Core Processor TK-57 AuthenticAMD GNU/Linux
Module                  Size  Used by
ipv6                  244105  10
vhba                    6127  1
loop                   13471  0
fuse                   56909  5
nvidia               9236810  41
snd_hda_codec_realtek   224372  1
snd_hda_intel          18924  5
snd_hda_codec          64764  2 snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               4796  1 snd_hda_codec
snd_pcm_oss            34046  0
snd_pcm                59392  4 snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_timer              15679  2 snd_pcm
snd_page_alloc          5981  2 snd_hda_intel,snd_pcm
snd_mixer_oss          14942  1 snd_pcm_oss
snd                    43699  16 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm_oss,snd_pcm,snd_timer,snd_mixer_oss
soundcore               4961  1 snd
pcspkr                  1359  0
ath_pci               189327  0
wlan                  194427  1 ath_pci
ath_hal               376960  1 ath_pci
arc4                    1070  2
ir_lirc_codec           3519  0
ecb                     1589  2
lirc_dev                8059  1 ir_lirc_codec
ir_sony_decoder         1823  0
rc_rc6_mce              1088  0
ir_jvc_decoder          1917  0
ir_rc6_decoder          2301  0
ath5k                 128028  0
ath                    10889  1 ath5k
mac80211              178180  1 ath5k
cfg80211              120273  3 ath5k,ath,mac80211
ir_rc5_decoder          1821  0
sdhci_pci               5938  0
uvcvideo               55341  0
sdhci                  14853  1 sdhci_pci
firewire_ohci          23489  0
firewire_core          43137  1 firewire_ohci
ene_ir                 13193  0
ir_nec_decoder          2109  0
joydev                  7727  0
mmc_core               55114  1 sdhci
usbhid                 32075  0
video                  10103  0
crc_itu_t               1053  1 firewire_core
ir_core                12842  9 ir_lirc_codec,ir_sony_decoder,rc_rc6_mce,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,ene_ir,ir_nec_decoder
processor              22105  0
hid                    61807  1 usbhid
agpgart                22720  1 nvidia
output                  1448  1 video
rfkill                 12918  1 cfg80211
psmouse                50218  0
button                  3746  0
battery                 8039  0
ac                      2361  0
videodev               57619  1 uvcvideo
v4l1_compat            13754  2 uvcvideo,videodev
thermal                 6358  0
shpchp                 23101  0
wmi                     6865  0
pci_hotplug            21619  1 shpchp
i2c_nforce2             4440  0
sg                     21124  0
i2c_core               15858  3 nvidia,videodev,i2c_nforce2
k8temp                  2663  0
evdev                   7147  22
serio_raw               3598  0
forcedeth              47338  0
ext4                  306177  1
mbcache                 4330  1 ext4
jbd2                   58916  1 ext4
crc16                   1053  1 ext4
ohci_hcd               19158  0
ehci_hcd               33347  0
usbcore               116376  5 uvcvideo,usbhid,ohci_hcd,ehci_hcd
sd_mod                 25384  4
ahci                   17621  3
libahci                15464  1 ahci
sr_mod                 13537  0
cdrom                  31506  1 sr_mod
pata_amd                8020  0
libata                150940  3 ahci,libahci,pata_amd
scsi_mod              107222  5 vhba,sg,sd_mod,sr_mod,libata
             total       used       free     shared    buffers     cached
Mem:       2839444     835792    2003652          0      46752     294728
-/+ buffers/cache:     494312    2345132
Swap:            0          0          0
success.
/usr/lib/pm-utils/sleep.d/00powersave suspend suspend:success.
/usr/lib/pm-utils/sleep.d/01grub suspend suspend:not applicable.
/usr/lib/pm-utils/sleep.d/11netcfg suspend suspend:success.
/usr/lib/pm-utils/sleep.d/49bluetooth suspend suspend:not applicable.
/usr/lib/pm-utils/sleep.d/55NetworkManager suspend suspend:success.
/usr/lib/pm-utils/sleep.d/75modules suspend suspend:not applicable.
/usr/lib/pm-utils/sleep.d/90clock suspend suspend:not applicable.
/usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend:success.
/usr/lib/pm-utils/sleep.d/95led suspend suspend:not applicable.
/usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend:success.
/usr/lib/pm-utils/sleep.d/99video suspend suspend:kernel.acpi_video_flags = 0
success.
Tue Feb  1 02:39:43 CET 2011: performing suspend
/usr/lib/pm-utils/pm-functions: line 295: echo: write error: Device or resource busy
Tue Feb  1 02:40:04 CET 2011: Awake.
Tue Feb  1 02:40:04 CET 2011: Running hooks for resume
/usr/lib/pm-utils/sleep.d/99video resume suspend:success.
/usr/lib/pm-utils/sleep.d/98video-quirk-db-handler resume suspend:success.
/usr/lib/pm-utils/sleep.d/95led resume suspend:not applicable.
/usr/lib/pm-utils/sleep.d/94cpufreq resume suspend:success.
/usr/lib/pm-utils/sleep.d/90clock resume suspend:not applicable.
/usr/lib/pm-utils/sleep.d/75modules resume suspend:success.
/usr/lib/pm-utils/sleep.d/55NetworkManager resume suspend:success.
/usr/lib/pm-utils/sleep.d/49bluetooth resume suspend:not applicable.
/usr/lib/pm-utils/sleep.d/11netcfg resume suspend:success.
/usr/lib/pm-utils/sleep.d/01grub resume suspend:not applicable.
/usr/lib/pm-utils/sleep.d/00powersave resume suspend:success.
/usr/lib/pm-utils/sleep.d/00logging resume suspend:success.
Tue Feb  1 02:40:06 CET 2011: Finished.

Anybody's got an idea? I miss suspending, i almost never shutdown my laptop when i'm working on windows and other linux distro's so i'm starting to miss it smile

Last edited by illewoare (2011-02-01 02:58:00)

Offline

#2 2011-02-01 16:05:18

jmc
[Chakra Developer]
From: Roma, Italy
Registered: 2010-09-26
Posts: 1,550
Website

Re: Sleep mode / suspend to ram doesn't work

I see that something like this happens on Arch Linux systems too, and reading on the Arch BBS I've found the following workaround.

As explained on:

http://ubuntuforums.org/showthread.php?t=1168204

copy and paste this script in a text editor (KWord will do):

#!/bin/bash

# Disables echi / ohci / uhci ports on suspend and reenables them on resume. 
# Place this script in /etc/pm/sleep.d

function unbind_usb {
    for driver in ehci ohci uhci; do
        cd "/sys/bus/pci/drivers/${driver}_hcd";
        ids=$(ls | grep :);
        echo $ids > /tmp/DISABLED_$driver;
        for id in $ids; do
            echo "Unbinding $id";
            echo -n "$id" > unbind;
            disabled="$disabled $id";
        done;
    done;
}

then, save it as "10unbindusb.txt".
You have to set the right permissions/ownership values and move it to the right directory, like this (I implicitly assert that you do the following from the directory containing the script):

chown root:root 10unbindusb.txt
chmod +x 10unbindusb.txt
mv 10unbindusb.txt /etc/pm/sleep.d/

Hope it helps.
bye smile

Offline

#3 2011-02-01 16:05:32

venky80
[Chakra Test-Squad]
Registered: 2008-12-19
Posts: 750

Re: Sleep mode / suspend to ram doesn't work

does it work with nouveau? I know you are on a proprietary nvidia system.

Offline

#4 2011-02-01 21:59:49

illewoare
Member
From: Belgium
Registered: 2010-12-23
Posts: 41

Re: Sleep mode / suspend to ram doesn't work

That script didn't work, but following a link in one of the posts in the ubuntu-thread gave me another script (same but longer) and that seems to work smile I can't wake up my laptop by clicking the mouse now, but hey, at least it suspends now. Weird that it's the first time i had to use it though. Don't know if it works on OS drivers, but i don't see a reason why it shouldn't.

Thanks for the help!

#!/bin/bash
# Disables echi / ohci / uhci ports on suspend and reenables them on resume. 
# Place this script in /etc/pm/sleep.d


function unbind_usb {
	for driver in ehci ohci uhci; do
		cd "/sys/bus/pci/drivers/${driver}_hcd";
		ids=$(ls | grep :);
		echo $ids > /tmp/DISABLED_$driver;
		for id in $ids; do
			echo "Unbinding $id";
			echo -n "$id" > unbind;
			disabled="$disabled $id";
		done;
	done;
}

function bind_usb {
	for driver in ehci ohci uhci; do
		cd "/sys/bus/pci/drivers/${driver}_hcd";
		for id in $(cat /tmp/DISABLED_$driver); do
			echo "Binding $id";
			echo -n "$id" > bind;
		done;
		rm /tmp/DISABLED_$driver;
	done;
}

case "$1" in
	hibernate|suspend)
		unbind_usb;
	;;
	thaw|resume)
		bind_usb;
		# Uncomment the following two lines if USB devices stutter after resume
		# unbind_usb;
		# bind_usb;
	;;
	*)
	exit 1;
	;;
esac;
exit 0;

Last edited by illewoare (2011-02-01 22:14:58)

Offline

Board footer

Powered by FluxBB 1.4.8