Hiermit klappt auf meinem EPIA 10000N sowohl Standby (Suspend to Disk) als auch NVRAM.
Installation und damit "/etc/init.d/(dvb,vdr)" basiert http://www.co-pro.de/html/gentoo.html. Nur "vdr" ist als "default" runlevel angegeben - "dvb" nicht.
Hier nun meine diversen Skripte, Patches:
/usr/local/sbin/standby:
Bash
#!/bin/bash
if /etc/init.d/dvb --quiet status; then
/etc/init.d/dvb --quiet stop
sleep 1
fi
#echo "mem" > /sys/power/state
echo "disk" > /sys/power/state
/etc/init.d/ntp-client restart
/etc/init.d/dvb --quiet zap
sleep 1
/etc/init.d/dvb --quiet start
Alles anzeigen
/home/vdr/vdrstandby:
Code
timer="$1"
if [ "$timer" != "0" ]; then
/usr/local/bin/nvram-wakeup --syslog --settime $timer;
touch /home/vdr/standby.do;
fi
sudo killall -TERM vdr
vdr.c patch:
Diff
--- vdr.c.yo 2005-02-06 15:41:10.657008136 +0100
+++ vdr.c 2005-02-06 15:42:55.286102096 +0100
@@ -900,7 +900,8 @@
char *cmd;
asprintf(&cmd, "%s %ld %ld %d \"%s\" %d", Shutdown, Next, Delta, Channel, *strescape(File, "\"$"), UserShutdown);
isyslog("executing '%s'", cmd);
- SystemExec(cmd);
+ ExitCode=3;
+ SystemExec(cmd);
free(cmd);
}
else if (WatchdogTimeout > 0) {
Alles anzeigen
runvdr:
Code
STANDBYDO="/home/vdr/standby.do"
if [ -e $STANDBYDO ]; then
rm -f $STANDBYDO;
/usr/local/sbin/standby;
else
if [ $LSMOD -eq 0 ] ; then
/etc/init.d/dvb start
fi;
fi
while (true) do
su - $VDRUSR -c "$VDRCMD"
exitcode="$?"
if test $exitcode -eq "0" -o $exitcode -eq "2"; then exit; fi
$KILL $VDRPRG
if [ $exitcode == "3" ]; then
if [ -e $STANDBYDO ]; then
/sbin/reboot;
exit;
fi;
sleep 10;
/usr/local/sbin/standby;
else
sleep 10;
fi
done
Alles anzeigen