On 22 Dec 2009, at 21:36, Ian Bates wrote:
On 22 Dec 2009, at 19:39, Steffen Barszus wrote:
Hi !
Looks like vdr's shutdownskript hook is not properly working. Since
it seems to be undocumented in vdr man page i took my information
from here:
http://www.vdr-wiki.de/wiki/index.php/C%27t-VDR_-_Hooks
#!/bin/sh # Simple ACPI shutdown hook
# $1 : Next timer seconds from 1970 from 1970/01/01, UTC
# $2 : Next timer seconds from now
# $3 : Next timer title
# $4 : Shutdown forced
If the time is far enough in the future this is correct, if it is
only few minutes in the future it gets horribly wrong (now +30
minutes or something similar)
(The argument $1 is supplied wrong to the script)
This is vdr 1.7.10 . I remember that some people have written this
is a known problem. But why is it happening ? Has somebody debugged
this allready ?
From the MANUAL:
Min. event timeout = 30
Min. user inactivity = 300
If the command line option '-s' has been
set, VDR will
automatically shutdown the computer if the
next timer
event is at least MinEventTimeout minutes in
the future,
and the user has been inactive for at least
MinUserInactivity minutes. Setting
MinUserInactivity
to 0 disables the automatic shutdown, while
still
retaining the possibility to manually
shutdown the
computer.
There is your 30 mins. No bug, a 'feature'.
My VDR is set to these defaults. If I try to shutdown before 30
mins, I am prompted by VDR to press Power again to FORCE shutdown.
If this is the case I cannot recall exactly but I think the wakeup
is set to 30 mins from the forced shutdown, rather than the next
timer.
If I recall a mailing list discussion there was an argument along
the lines that if a timer was set to record in less than a certain
value, 30 mins by default, it is 'cheaper' in terms of power and
hardware shutdown/restart cycle degradation to keep the computer
running.
I have not played with this setting so I cannot comment on VDR
behaviour with a lower setting for this value. Please report back
if you experiment.
There is also a detailed section in the INSTALL document:
Automatic shutdown:
-------------------
If you define a shutdown command via the '-s' command line option, VDR
will call the given command if there is currently no recording or replay
active, the user has been inactive for at least MinUserInactivity
minutes
and the next timer event is at least MinEventTimeout minutes in the
future
(see the Setup parameters in MANUAL).
The command given in the '-s' option will be called with five
parameters.
The first one is the time (in UTC) of the next timer event or plugin
wakeup
time (as a time_t type number), and the second one is the number of
seconds from the current time until the next timer event. Your program
can
choose which one to use for programming some sort of hardware device
that
makes sure the computer will be restarted in time before the next timer
event. Your program must also initiate the actual shutdown procedure
of the
computer. VDR will not automatically exit after calling the shutdown
program, but will rather continue normally until it receives a SIGTERM
when
the computer is actually shut down. So in case the shutdown fails, or
the
shutdown program for some reason decides not to perform a shutdown, VDR
will stay up and running and will call the shutdown program again
after a
while. The command will be started in a separate background session,
so it
can continue to run even after VDR has terminated.
If there are currently no timers active and there is no plugin wakeup
time, both parameters will be '0'. In that case the program shall not
set
the hardware for automatic restart and only perform the system shutdown.
A program that uses the second parameter to set the hardware for restart
must therefore also check whether the first parameter is '0'.
If the wakeup time is given by a timer, the third parameter will be the
number of the channel that will be recorded, otherwise it will be 0. The
fourth parameter contains the file name of the recording as defined in
the
timer, the name of the plugin that requested the wakeup time, or an
empty
string if no wakeup time is present. These can be used by the shutdown
program to show that information on some display interface etc.
The fifth parameter indicates the reason why the shutdown was requested.
'0' means this is an automatic shutdown due to some timeout, while '1'
means
that this is a user requested shutdown (resulting from pressing the
"Power"
key). The shutdown program may use this information to decide whether or
not to actually perform the system shutdown.
If a timer is currently recording, or a recording would start within the
next 30 minutes (default for the "Min. event timeout" setup
parameter), and
the user insists in shutting down now, the first and second parameter
will
correspond to a time that is "Min. event timeout" minutes in the future.
Before the shutdown program is called, the user will be prompted to
inform
him that the system is about to shut down. If any remote control key is
pressed while this prompt is visible, the shutdown will be cancelled
(and
tried again later). The shutdown prompt will be displayed for 5
minutes, which
should be enough time for the user to react.
A sample shell script to be used with the '-s' option might look like
this:
#!/bin/sh
setRTCwakeup $(($1 - 300))
sudo halt
Here 'setRTCwakeup' would be some program that uses the first parameter
(which is the absolute time of the next timer event) to set the Real
Time
Clock so that it wakes up the computer 5 minutes (i.e. 300 seconds)
before
that event. The 'sudo halt' command then shuts down the computer.
You will have to substitute both commands with whatever applies to your
particular hard- and software environment.
If the '-s' option is present, the VDR machine can be turned off by
pressing
the "Power" key on the remote control.
These documents are provided in the VDR source tarball. I use
Slackware and 'roll my own' VDR, for a packaged distribution you may
not have these documents or if you do they may not be where you can
find them 'easily'.
Use the source Luke...
ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.10.tar.bz2
Seasons Greetings,
Ian.
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr