Ich habe folgendes Problem mit nvram-wakeup auf einem Elitegroup K7S5A Mainboard:
Bioseinstellungen:
ACPI Aware OS: YES
Power Management: Disabled
Power On LAN/RING : Enabled
RTC Alarm Power ON: Enabled
RTC Alarm Date: Every Day
RTC Alarm Hour: 00
RTC Alarm Minute: 00
RTC Alarm Second: 00
Programiere ich eine Aufnahme, macht der Rechner noch einen reboot und geht dann aus. ( Ich denke das wird benötigt, um die programmierte Aufnahmezeit ins BIOS zu schreiben.)
Und jetzt kommt der Fehler:
Nach der programmierten Aufnahme um 17:30h steht im Bios folgendes:
RTC Alarm Date: 17
RTC Alarm Hour: 00
RTC Alarm Minute: 00
RTC Alarm Second: 00
Das heisst, das da wo eigentlich die Hour stehen soll nichts steht, statt dessen aber die Uhrzeit als Day ins Bios geschrieben wird.
nvram-wakeup --debug gibt folgendes aus:
nvram-wakeup: Printing debug messages enbled.
nvram-wakeup: $Id: nvram-wakeup.h,v 1.35 2004/07/20 14:20:36 bistr-o-math Exp $
nvram-wakeup: $Id: nvram-wakeup.c,v 1.74 2004/07/20 14:30:40 bistr-o-math Exp $
nvram-wakeup: Opening /dev/mem in O_RDONLY mode...
nvram-wakeup: _DMI_ table found: base: 0xF0630, size: 0x671, count: 23
nvram-wakeup: data block 1 at offset 0x000: type 0, size 0x014 ( 20)
nvram-wakeup: found string "American Megatrends Inc."
nvram-wakeup: found string "07.00T"
nvram-wakeup: found string "04/02/01"
nvram-wakeup: data block 2 at offset 0x078: type 1, size 0x019 ( 25)
nvram-wakeup: data block 3 at offset 0x116: type 2, size 0x008 (
nvram-wakeup: found string "ECS"
nvram-wakeup: found string "K7S5A"
nvram-wakeup: found string "1.0"
nvram-wakeup: data block 4 at offset 0x1A3: type 3, size 0x011 ( 17)
nvram-wakeup: data block 5 at offset 0x239: type 4, size 0x020 ( 32)
nvram-wakeup: data block 6 at offset 0x2BD: type 7, size 0x013 ( 19)
nvram-wakeup: data block 7 at offset 0x2F2: type 7, size 0x013 ( 19)
nvram-wakeup: data block 8 at offset 0x327: type 5, size 0x018 ( 24)
nvram-wakeup: data block 9 at offset 0x341: type 6, size 0x00C ( 12)
nvram-wakeup: data block 10 at offset 0x36F: type 6, size 0x00C ( 12)
nvram-wakeup: data block 11 at offset 0x39D: type 6, size 0x00C ( 12)
nvram-wakeup: data block 12 at offset 0x3CB: type 6, size 0x00C ( 12)
nvram-wakeup: data block 13 at offset 0x3F9: type 9, size 0x00D ( 13)
nvram-wakeup: data block 14 at offset 0x428: type 9, size 0x00D ( 13)
nvram-wakeup: data block 15 at offset 0x457: type 9, size 0x00D ( 13)
nvram-wakeup: data block 16 at offset 0x486: type 9, size 0x00D ( 13)
nvram-wakeup: data block 17 at offset 0x4B5: type 9, size 0x00D ( 13)
nvram-wakeup: data block 18 at offset 0x4E4: type 11, size 0x005 ( 5)
nvram-wakeup: data block 19 at offset 0x52C: type 8, size 0x009 ( 9)
nvram-wakeup: data block 20 at offset 0x578: type 12, size 0x005 ( 5)
nvram-wakeup: data block 21 at offset 0x5C3: type 13, size 0x016 ( 22)
nvram-wakeup: data block 22 at offset 0x65E: type 64, size 0x00B ( 11)
nvram-wakeup: data block 23 at offset 0x66B: type 127, size 0x004 ( 4)
nvram-wakeup: Following DMI entries found:
nvram-wakeup: - Mainboard vendor: "ECS"
nvram-wakeup: - Mainboard type: "K7S5A"
nvram-wakeup: - Mainboard revision: "1.0"
nvram-wakeup: - BIOS vendor: "American Megatrends Inc."
nvram-wakeup: - BIOS version: "07.00T"
nvram-wakeup: - BIOS release: "04/02/01"
nvram-wakeup: Using following bios info:
nvram-wakeup: need_reboot = -1
nvram-wakeup: addr_chk_h = 0x30
nvram-wakeup: addr_chk_l = 0x31
nvram-wakeup: addr_chk_h2 = 0x00
nvram-wakeup: addr_chk_l2 = 0x00
nvram-wakeup: addr_stat = 0x50
nvram-wakeup: addr_mon = 0x00
nvram-wakeup: addr_day = 0x51
nvram-wakeup: addr_wdays = 0x00
nvram-wakeup: addr_hour = 0x52
nvram-wakeup: addr_min = 0x53
nvram-wakeup: addr_sec = 0x54
nvram-wakeup: shift_stat = 7
nvram-wakeup: shift_mon = 0
nvram-wakeup: shift_day = 3
nvram-wakeup: shift_wdays = 0
nvram-wakeup: shift_hour = 0
nvram-wakeup: shift_min = 0
nvram-wakeup: shift_sec = 0
nvram-wakeup: rtc_time = 0
nvram-wakeup: rtc_day = 0x70
nvram-wakeup: rtc_mon = 0x00
nvram-wakeup: rtc_day_0_is_c0 = 1
nvram-wakeup: rtc_mon_0_is_c0 = 0
nvram-wakeup: reset_day = 1
nvram-wakeup: reset_mon = 0
nvram-wakeup: nr_stat = 1
nvram-wakeup: nr_mon = 4
nvram-wakeup: nr_day = 5
nvram-wakeup: nr_hour = 5
nvram-wakeup: nr_min = 6
nvram-wakeup: nr_sec = 6
nvram-wakeup: nr_rtc_day = 8
nvram-wakeup: nr_rtc_mon = 5
nvram-wakeup: nr_wdays = 7
nvram-wakeup: bcd = 0
nvram-wakeup: day_hack = 0
nvram-wakeup: upper_method = 0
nvram-wakeup: chk_method = 0
nvram-wakeup: Opening /dev/rtc in O_RDONLY mode...
nvram-wakeup: Hardware clock: 2006-02-09 17:23:12
nvram-wakeup: rtc.tm_isdst : 0
nvram-wakeup: rtc.tm_gmtoff: 3600
nvram-wakeup: diff : 0
nvram-wakeup: RTC is running in localtime!
nvram-wakeup: Test (this should be the current time of the hardware clock): Thu Feb 9 17:23:12 2006
nvram-wakeup: Opening /dev/nvram in O_RDONLY mode...
nvram-wakeup: The size of NVRAM is 114 bytes.
nvram-wakeup: 0000000: 0000 008F F0C0 0A80 02FF FF2F 00FF FF10
nvram-wakeup: 0000010: 0000 FF00 0000 0000 0000 0040 6F07 AD07
nvram-wakeup: 0000020: 096F FFFF 2080 C0F0 3FF0 0000 0000 0000
nvram-wakeup: 0000030: 7E72 0000 0000 0000 0000 0000 0000 0000
nvram-wakeup: 0000040: 0000 0000 8020 8185 C980 81A1 AA3A 110D
nvram-wakeup: 0000050: 80C9 0080 4000 0900 0000 0080 C81A D9E1
nvram-wakeup: 0000060: A50F 00A4 0A00 0000 0000 0000 0000 0000
nvram-wakeup: 0000070: C0C0
nvram-wakeup: value of the addr_stat byte is: 0x80.
nvram-wakeup: value of the addr_day byte is: 0xC9.
nvram-wakeup: value of the addr_hour byte is: 0x00.
nvram-wakeup: value of the addr_min byte is: 0x80.
nvram-wakeup: value of the addr_sec byte is: 0x40.
nvram-wakeup: value of the rtc_day byte is: 0xC0.
nvram-wakeup: value of the addr_chk_h byte is: 0x7E.
nvram-wakeup: value of the addr_chk_l byte is: 0x72.
nvram-wakeup: Checksum is: 0x7E72.
All values are displayed as they are stored in the nvram/rtc.
(and do not correspond necessarily to the system date/time)
WakeUp : Enabled (0x80)
Day : 25 (0xC9)
Hour : 00 (0x00)
Minute : 00 (0x80)
Second : 00 (0x40)
rtcDay : 00 (0xC0)
Checksum: 0x7E72
Die nvram-wakeup.conf sieht so aus:
################################################
## Mainboard autodetection information:
##
## - Mainboard vendor: "ECS"
## - Mainboard type: "K7S5A"
## - Mainboard revision: "1.0"
## - BIOS vendor: "American Megatrends Inc."
## - BIOS version: "07.00T"
## - BIOS release: "04/02/01"
need_reboot = ALWAYS
addr_sec = 0x55
addr_min = 0x54
addr_hour = 0x53
addr_stat = 0x51
shift_stat = 6
addr_date = 0x52
addr_chk_h = 0x30
addr_chk_l = 0x31
rtc_date = 0x70
reset_date = ON
rtc_date_0_is_c0 = ON
Die vdrshutdown sieht so aus:
##!/bin/bash
## $Id: vdrshutdown,v 1.15 2003/08/06 12:55:44 bistr-o-math Exp $
##./etc/vdr/sysconfig
##su root -c "hwclock -w"
cp /ramdisk/epg.data /video0
if [ x$LCD = x"graphlcd" ]; then
/etc/vdr/plugins/graphlcd/stop/starte.sh
fi
NVRAMCMD=/usr/bin/nvram-wakeup
SVDRPCMD=/usr/bin/svdrpsend.pl
CHECKSCRIPT=
#################
## if the script $CHECKSCRIPT thinks that we should shutdown,
## it must not pint anything on stdout.
## if it thinks that we should NOT shutdown,
## it must pint a one-line message on stdout.
##
## note that all parameters passed to vdrshutdown will also be passed to $CHECKSCRIPT
## so it might use them (e.g. $5 -eq 0 below)
##
## it might look like this:
## --------------------------
## #!/bin/bash
##
## pgrep 2divx && { echo Divx-Conversion is still running; exit; }
##
## test -a /some/file && { echo /some/file exists; exit; }
##
## USERCOUNT=`who --count | grep users= | cut -f 2 -d "="`;
## test $5 -eq 0 -a $USERCOUNT -gt 0 && { echo "$USERCOUNT users are logged in."; exit; }
##
## --------------------------
##
## now if $CHECKSCRIPT exists and is executable, the message will be passed through
## SVDRP to the tv screen.
##
test -x $CHECKSCRIPT && {
msg=`$CHECKSCRIPT $*`
test "$msg" != "" && {
$SVDRPCMD MESG $msg &
exit 1
}
}
#################
# Add here needed options like --configfile=...
# (read man nvram-wakeup and man nvram-wakeup.conf for more details)
# $NVRAMCMD --directisa -ls $1
$NVRAMCMD --configfile=/etc/nvram-wakeup.conf -ls $1
case $PIPESTATUS in
0) # all went ok - new date and time set
# /usr/bin/stopvdr
/bin/busybox poweroff
# shutdown -h now
EXITSTATUS=0
;;
1) # all went ok - new date and time set.
#
# *** but we need to reboot. ***
#
# for some boards this is needed after every change.
#
# for some other boards, we only need this after changing the
# status flag, i.e. from enabled to disabled or the other way.
# For plan A - (Plan A is not supported anymore---see README)
#
# For plan B - (don't forget to install the modified kernel image first)
#
# Für ASRock aktivieren
#touch /etc/vdr/nvram
# Für andere aktivieren
lilo -R PowerOff
reboot
# shutdown -r now
EXITSTATUS=0
;;
2) # something went wrong
# don't do anything - just exit with status 1
EXITSTATUS=1
;;
esac
# exit with 0 if everything went ok.
# exit with 1 if something went wrong.
exit $EXITSTATUS
Ist ist ja wohl so, dass die Uhrzeit an die Stelle im Bios geschreiben wird, wo eigentlich das Datum steht und an die Stellen für Hour, Minute und Second wird dann natürlich gar nichts geschrieben.
Ich vermute, dass irgendetwas mit der nvram-wakeup.conf nicht stimmt, komme aber alleine nicht mehr weiter.
Bin für alle Tipps dankbar
Moses