[mythtv-users] Suspend not working if triggered by backend

Jan Schneider jan at horde.org
Wed Dec 29 17:49:12 UTC 2010


Hi,

I'm currently trying to get suspend/resume working on a combined  
FE/BE. All the pieces are working separately, but it fails for some  
unknown reason when I put everything together. What works:

- Shutdown and RTC wakeup with mythwelcome and backend idling
- Running pm-suspend manually


/etc/pm/sleep.d/mythtv-backend:

#!/bin/sh

case "$1" in
         suspend|hibernate)
                 /usr/bin/killall -STOP mythwelcome
                 /usr/sbin/service mythtv-backend stop
                 ;;
         resume|thaw)
                 /usr/sbin/service mythtv-backend start
                 sleep 2
                 /usr/bin/killall -CONT mythwelcome
                 ;;
esac


/usr/local/bin/setwakeup.sh:

#!/bin/bash

echo 0 > /sys/class/rtc/rtc0/wakealarm      #this clears your alarm.
echo $1 > /sys/class/rtc/rtc0/wakealarm     #this writes your alarm

/usr/local/bin/mythsetlcd $1


/usr/local/bin/mythsetlcd:

#!/bin/bash
DATE=$(date -d @$1 +"%A %H:%M")
sed -e "82c\GoodBye=\"$DATE\"" /etc/LCDd.conf > /tmp/LCDd.conf
cp /tmp/LCDd.conf /etc/
/etc/init.d/LCDd restart


mythtv-setup configured shutdown/wakeup scripts:
mythshutdown --setwakeup $time
mythshutdown --shutdown
mythshutdown --check


mythwelcome configured shutdown scripts:
sudo sh -c "/usr/local/bin/setwakeup.sh $time"
sudo shutdown -P now


At this point, everything works fine. But as soon as I replace the  
shutdown script in either the backend (mythshutdown --shutdown) or the  
mythwelcome (sudo shutdown -P now) configuration with "sudo  
pm-suspend", the suspending doesn't finish. It starts suspending but  
somehow stops somewhere, leaving the system in an unusable state. I  
have to remotely kill Xorg and sometimes restart the backend to get  
the system back.

This is from mythbackend.log:

2010-12-29 18:29:55.238 I'm idle now... shutdown will occur in 240 seconds.
2010-12-29 18:29:56.855 UPnpMedia: BuildMediaMap - no VideoStartupDir  
set,  skipping scan.
2010-12-29 18:30:01.876 MainServer::ANN Monitor
2010-12-29 18:30:01.876 adding: htpc as a client (events: 0)
2010-12-29 18:30:02.641 MainServer::ANN Monitor
2010-12-29 18:30:02.641 adding: htpc as a client (events: 2)
2010-12-29 18:30:53.133 PID 0x202 status: Encrypted
2010-12-29 18:30:54.288 PID 0x201 status: Encrypted
2010-12-29 18:31:10.146 AutoExpire: CalcParams(): Max required Free  
Space: 1.0 GB w/freq: 15 min
2010-12-29 18:33:54.421 MainServer::ANN Monitor
2010-12-29 18:33:54.421 adding: htpc as a client (events: 0)
2010-12-29 18:33:54.422 MainServer::ANN Monitor
2010-12-29 18:33:54.422 adding: htpc as a client (events: 1)
2010-12-29 18:33:54.490 CheckShutdownServer returned - OK to shutdown
2010-12-29 18:33:54.493 Running the command to set the next scheduled  
wakeup time :-
                                                 mythshutdown  
--setwakeup 2010-12-29T19:47:00
2010-12-29 18:33:54.592 Running the command to shutdown this computer :-
                                                 mythshutdown --shutdown
Restarting LCDd: Stopping LCDd: LCDd.
Starting LCDd: LCDd.


This from pm-suspend.log:

Mi 29. Dez 18:33:55 CET 2010: Running hooks for suspend.
/usr/lib/pm-utils/sleep.d/000kernel-change suspend suspend:success.
/usr/lib/pm-utils/sleep.d/00logging suspend suspend:Linux htpc  
2.6.32-27-generic
  #49-Ubuntu SMP Wed Dec 1 23:52:12 UTC 2010 i686 GNU/Linux
Module                  Size  Used by
snd_hda_codec_nvhdmi     3840  1
snd_hda_codec_realtek   203344  1

[...]

pata_amd                8766  0
ahci                   32200  4
              total       used       free     shared    buffers     cached
Mem:       1801628    1599960     201668          0      81780    1008876
-/+ buffers/cache:     509304    1292324
Swap:       995988      48088     947900
success.
/usr/lib/pm-utils/sleep.d/00powersave suspend suspend:success.
/etc/pm/sleep.d/10_grub-common suspend suspend:success.
/etc/pm/sleep.d/10_unattended-upgrades-hibernate suspend suspend:success.
/usr/lib/pm-utils/sleep.d/49bluetooth suspend suspend:not applicable.
/usr/lib/pm-utils/sleep.d/55NetworkManager suspend suspend:not applicable.
/usr/lib/pm-utils/sleep.d/75modules suspend suspend:success.
/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.
/etc/pm/sleep.d/action_wpa suspend suspend:success.
/etc/pm/sleep.d/mythtv-backend suspend suspend:


And that's the only hint about what's going wrong. There is nothing  
after the last pm-suspend.log entry. If I run pm-suspend manually, the  
log continues with:

/etc/pm/sleep.d/mythtv-backend suspend suspend:mythtv-backend stop/waiting
success.
Mi 29. Dez 18:45:56 CET 2010: performing suspend


Any ideas are more than welcome, especially what might be wrong with  
my /etc/pm/sleep.d/mythtv-backend so that it doesn't seem to finish  
when suspending through mythwelcome.

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/



More information about the mythtv-users mailing list