You are not logged in.

#1 2009-08-28 17:13:35

johnpatcher
Member
Registered: 2009-08-23
Posts: 70

Problems with pm-utils

Hi,

I'm setting up my system currently and have encountered some problems with the suspend functionalities. I want to use pm-utils in order to get into the suspend or hibernate mode, but both don't work as they should.

Basically I followed the Pm-utils article in the wiki. I haven't installed any X server so far, so there shouldn't be any graphic driver standing in the way.

But neither hibernating nor suspending work properly.

When trying to hibernate my laptop it turns off as expected, but after reenabling it, I can see my console, but it shows a real weird behaviour. It seems that I'm always a few lines "behind", so actually I don't see what I'm typing. As soon as I type in a "clear" the screen gets cleared and the "first" line is shown. But after I type in a few lines, it dissappears again, so I have to type in another clear and so on. Really strange, don't know how to describe it though sad.
Furthermore there is no logfile (no pm-hibernate.log in /var/log/), so I don't see what the matter is. Maybe some module doesn't do what it is supposed to?

Even more confusing is the suspending of my laptop: It suspends as expected (the power led is still blinking) but by trying to re-enabling it, nothing happens, the screen stays black. I have tried the solutions of the wiki to modify the mkinitcpio.conf (both adding resume and removing autodetect), but it hasn't changed anything.

pm-is-supported returns 0 for both states, so theoratically it should work ...

Here is a list of my modules loaded, maybe there is a black sheep among them?

Module                  Size  Used by
nls_cp437               7056  1 
vfat                   13520  1 
fat                    59032  1 vfat
usb_storage            64320  1 
coretemp                7664  0 
usbhid                 47616  0 
hid                    52512  1 usbhid
btusb                  15364  0 
bluetooth              65636  1 btusb
joydev                 13312  0 
uvcvideo               68316  0 
videodev               42048  1 uvcvideo
fan                     5656  0 
v4l1_compat            18228  2 uvcvideo,videodev
v4l2_compat_ioctl32    10992  1 videodev
arc4                    2192  2 
ecb                     3536  2 
snd_seq_dummy           3540  0 
cpufreq_powersave       1872  0 
snd_seq_oss            36224  0 
snd_hda_codec_idt      74064  1 
snd_seq_midi_event      8592  1 snd_seq_oss
cpufreq_conservative     9384  0 
iwlagn                108756  0 
iwlcore               112976  1 iwlagn
snd_seq                64640  5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
sdhci_pci               9200  0 
sdhci                  20116  1 sdhci_pci
dell_laptop             5000  0 
snd_seq_device          8324  3 snd_seq_dummy,snd_seq_oss,snd_seq
mac80211              211296  2 iwlagn,iwlcore
cpufreq_ondemand        9256  2 
snd_hda_intel          31208  0 
snd_hda_codec          82128  2 snd_hda_codec_idt,snd_hda_intel
rfkill                 13108  3 iwlcore,dell_laptop
snd_pcm_oss            47328  0 
snd_mixer_oss          20976  1 snd_pcm_oss
acpi_cpufreq           10272  0 
mmc_core               61984  1 sdhci
psmouse                60404  0 
i2c_i801               11632  0 
r8169                  41300  0 
snd_hwdep               9976  1 snd_hda_codec
snd_pcm                90872  3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
snd_timer              25344  2 snd_seq,snd_pcm
snd                    76744  11 snd_seq_oss,snd_hda_codec_idt,snd_seq,snd_seq_device,snd_hda_intel,snd_hda_codec,snd_pcm_oss,snd_mixer_oss,snd_hwdep,snd_pcm,snd_timer
soundcore               8576  1 snd
ohci1394               34180  0 
iTCO_wdt               13648  0 
uhci_hcd               27056  0 
ehci_hcd               40668  0 
freq_table              4528  2 cpufreq_ondemand,acpi_cpufreq
usbcore               179504  7 usb_storage,usbhid,btusb,uvcvideo,uhci_hcd,ehci_hcd
cfg80211               78152  3 iwlagn,iwlcore,mac80211
ieee1394               98880  1 ohci1394
serio_raw               7188  0 
i2c_core               26816  1 i2c_i801
led_class               5112  2 iwlcore,sdhci
intel_agp              33104  0 
iTCO_vendor_support     3828  1 iTCO_wdt
snd_page_alloc         10784  2 snd_hda_intel,snd_pcm
video                  24268  0 
output                  3792  1 video
pcspkr                  3088  0 
dcdbas                  9824  1 dell_laptop
evdev                  12928  0 
mii                     5680  1 r8169
sg                     33824  0 
battery                14072  0 
ac                      5720  0 
thermal                17712  0 
button                  7216  0 
processor              42064  3 acpi_cpufreq
rtc_cmos               13592  0 
rtc_core               22212  1 rtc_cmos
rtc_lib                 3120  1 rtc_core
ext4                  256304  2 
mbcache                 8980  1 ext4
jbd2                   69088  1 ext4
crc16                   2096  1 ext4
sr_mod                 19460  0 
cdrom                  41288  1 sr_mod
sd_mod                 30696  6 
ahci                   40992  3 
libata                192460  1 ahci
scsi_mod              131736  5 usb_storage,sg,sr_mod,sd_mod,libata

Btw: My laptop is a Dell Vostro 1320, so there aren't that much information about it in the Wiki (yet).

Offline

#2 2009-08-29 09:32:42

johnpatcher
Member
Registered: 2009-08-23
Posts: 70

Re: Problems with pm-utils

I have now tried to use s2ram, but it also doesn't work. An "s2ram" outputs that this machine is unknown.

Is there anything I can do except waiting for my device to be supported?

Offline

#3 2009-08-29 11:32:05

johnpatcher
Member
Registered: 2009-08-23
Posts: 70

Re: Problems with pm-utils

I've installed Ubuntu in order to try out whether it works, and indeed it does. So the hardware is capable of doing both STR and STD, but unfortunately I can't get it running with Arch. Furthermore the sound doesn't work with Ubuntu (due to old kernel I guess sad).

How can I find out what Ubuntu does different while entering STR/STD?

Offline

#4 2009-08-29 12:06:03

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: Problems with pm-utils

Have you gone through all the quirks on the HAL quirk site (should be linked from the Arch wiki page for pm-utils), and tried to find a combination that gives you success? Sometimes the combo you need includes two or three quirks at once. It can take a few hours of trial and error.

With respect to Ubuntu, are they also using pm-utils, or another mechanism?

Offline

#5 2009-08-29 12:46:43

johnpatcher
Member
Registered: 2009-08-23
Posts: 70

Re: Problems with pm-utils

Profjim wrote:

Have you gone through all the quirks on the HAL quirk site (should be linked from the Arch wiki page for pm-utils), and tried to find a combination that gives you success? Sometimes the combo you need includes two or three quirks at once. It can take a few hours of trial and error.

I haven't even installed HAL so far, do I need it? As far as I understand it, HAL isn't needed, because I can directly access the "pm-*" functions.

Profjim wrote:

With respect to Ubuntu, are they also using pm-utils, or another mechanism?

Yeah, a "pm-suspend" successfully suspends my device and by pressing the power button it gets waken up again. I have saved all files used by pm and will compare them later on, when I'm back on Arch again.

Offline

#6 2009-08-29 13:39:53

eldragon
Member
From: Buenos Aires
Registered: 2008-11-18
Posts: 1,029

Re: Problems with pm-utils

johnpatcher wrote:
Profjim wrote:

Have you gone through all the quirks on the HAL quirk site (should be linked from the Arch wiki page for pm-utils), and tried to find a combination that gives you success? Sometimes the combo you need includes two or three quirks at once. It can take a few hours of trial and error.

I haven't even installed HAL so far, do I need it? As far as I understand it, HAL isn't needed, because I can directly access the "pm-*" functions.

Profjim wrote:

With respect to Ubuntu, are they also using pm-utils, or another mechanism?

Yeah, a "pm-suspend" successfully suspends my device and by pressing the power button it gets waken up again. I have saved all files used by pm and will compare them later on, when I'm back on Arch again.

usually, pm-suspend picks the correct quirks from hal, so if you have not installed hal yet, you should pick the correct ones yourself.

or install hal and let it have its fun first wink

in order to have suspend work, i had to remove several usb kernel modules with a hook before suspending... the hook looks like this:

$  cat /etc/pm/sleep.d/12modules 
#!/bin/bash

    case "$1" in
        hibernate|suspend)
            rmmod uhci_hcd
            rmmod ehci_hcd
            rmmod usbhid
            sleep 1
            ;;
        thaw|resume)
            modprobe uhci_hcd
            modprobe ehci_hcd
            modprobe usbhid
            sleep 1
            ;;
        *)
            ;;
    esac

Offline

#7 2009-08-29 13:55:23

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: Problems with pm-utils

Even if you don't want to install HAL, the HAL Quirk Site is the documentation center for the quirks for pm-utils. It's http://people.freedesktop.org/~hughsien … index.html. You could check there to see if anyone else has reported quirks that work with your laptop or a similar one, and read up there on what the different quirks do, what behavior might suggest using one of them rather than another. As I said, though, I find it still takes a lot of trial and error. I had everything working perfectly on laptop #1, bought the two-years-later model of that laptop, and it took me several hours to find a combination of quirks (three of them!) that work for laptop #2.

Offline

#8 2009-08-30 02:30:17

chender
Member
From: Toronto, Canada
Registered: 2008-11-24
Posts: 41
Website

Re: Problems with pm-utils

Here is what I needed to do to get s2ram working on my X60s thinkpad.  These instructions were gathered from various sites.  A key point is the /etc/acpi/actions/lm.lid.sh change, which I redo everytime hal upgrades.  Suspend is fast with this set up.  Hope this helps. smile


Suspend

Install  s2ram  (pacman -S uswsusp and make these changes below.  This set of stuff is not well documented, but once I did this it was very smooth. 

from http://aur.archlinux.org/packages/uswsu … sp.install

==> If suspend to ram doesn't work, edit the whitelist.c.diff
==> file to add your machine to the s2ram whitelist with the
==> appropriate methods, then uncomment
==> the line in the PKGBUILD where the patch is applied, eventually
==> add the md5sum of the resulting patch and finally rebuild the package. 
==> Use 's2ram --identify' to identify your machine.
==> Be sure to let the suspend-devel list know!

==> The new Software Suspend does not use kernel parameters
==> to determine the suspend partition, instead it consults the
==> /etc/suspend.conf file when booting.
==> You MUST edit this file before you update your initrd.

==> You will need to update your mkinitcpio.conf file to
==> include the hook uresume.  Replace your 'resume' hook
==> with 'uresume'.  If you do not have a resume hook the
==> uresume hook must go before filesystems but after ide,
==> sata, and/or scsi.
==> Do not get this wrong.  Then rebuild the ramdisk with
==> 'mkinitcpio -p kernel26' (or what else needed for the kernel you use)

Note, when I do s2ram --identify
This machine can be identified by:
    sys_vendor   = "LENOVO"
    sys_product  = "1702HFU"
    sys_version  = "ThinkPad X60s"
    bios_version = "7BETD3WW (2.14 )"
See http://suspend.sf.net/s2ram-support.html for details

It is highly reassuring to see that your system is recognised.  If you do not get recognised, there is a hal problem, and your earlier install is not complete. 

Next some file edits in policies.

1.  sudo mousepad /etc/acpi/actions/lm.lid.sh  comment our everything, and add:

if grep closed /proc/acpi/button/lid/LID/state >/dev/null ; then
    # if the lid is now closed, save the network state and suspend to ram
    netcfg all-suspend
    pm-suspend
else
    # if the lid is now open, restore the network state.
    # (if we are running, a wakeup has already occured!)
    netcfg all-resume
fi

You should now have suspend working.


--
thinkpad X60s [t400s coming soon] | archlinux i686 | xmonad | dmenu |

Offline

#9 2009-08-30 09:33:45

Pank
Member
From: IT
Registered: 2009-06-13
Posts: 371

Re: Problems with pm-utils

Hello chender,
Have you gotten 'hybernate' or s2disk or similar working with your X60? I cannot getting it working on my X60.
Cheers,
Rasmus


Arch x64 on Thinkpad X200s/W530

Offline

#10 2009-09-01 10:35:12

johnpatcher
Member
Registered: 2009-08-23
Posts: 70

Re: Problems with pm-utils

After installing the X server with the nvidia driver suspend works just great, so I think the nvidia driver is needed sad. Is there any work around, because I would like to have suspend also without the X server started.

Offline

#11 2009-09-01 12:21:12

chender
Member
From: Toronto, Canada
Registered: 2008-11-24
Posts: 41
Website

Re: Problems with pm-utils

@Pank ...  s2disk works flawlessly on my X60s with this set up.

Suspend

Install  s2ram  (pacman -S uswsusp and make these changes below.  This set of stuff is not well documented, but once I did this it was very smooth. 

from http://aur.archlinux.org/packages/uswsu … sp.install

==> If suspend to ram doesn't work, edit the whitelist.c.diff
==> file to add your machine to the s2ram whitelist with the
==> appropriate methods, then uncomment
==> the line in the PKGBUILD where the patch is applied, eventually
==> add the md5sum of the resulting patch and finally rebuild the package. 
==> Use 's2ram --identify' to identify your machine.
==> Be sure to let the suspend-devel list know!

==> The new Software Suspend does not use kernel parameters
==> to determine the suspend partition, instead it consults the
==> /etc/suspend.conf file when booting.
==> You MUST edit this file before you update your initrd.

==> You will need to update your mkinitcpio.conf file to
==> include the hook uresume.  Replace your 'resume' hook
==> with 'uresume'.  If you do not have a resume hook the
==> uresume hook must go before filesystems but after ide,
==> sata, and/or scsi.
==> Do not get this wrong.  Then rebuild the ramdisk with
==> 'mkinitcpio -p kernel26' (or what else needed for the kernel you use)

Note, when I do s2ram --identify
This machine can be identified by:
    sys_vendor   = "LENOVO"
    sys_product  = "1702HFU"
    sys_version  = "ThinkPad X60s"
    bios_version = "7BETD3WW (2.14 )"
See http://suspend.sf.net/s2ram-support.html for details

It is highly reassuring to see that your system is recognised.  If you do not get recognised, there is a hal problem, and your earlier install is not complete. 

Next some file edits in policies.

1.  sudo mousepad /etc/acpi/actions/lm.lid.sh  comment our everything, and add:

if grep closed /proc/acpi/button/lid/LID/state >/dev/null ; then
    # if the lid is now closed, save the network state and suspend to ram
    netcfg all-suspend
    pm-suspend
else
    # if the lid is now open, restore the network state.
    # (if we are running, a wakeup has already occured!)
    netcfg all-resume
fi

You should now have suspend working.


--
thinkpad X60s [t400s coming soon] | archlinux i686 | xmonad | dmenu |

Offline

Board footer

Powered by FluxBB