[erledigt] Datum und Stunde vertauscht, Elitegroup K7S5A NVRAM Wakeup 0.97

  • 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 ( 8)
    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

  • Hi,
    schaut so aus als wären in deiner wakeup.conf die Adressen für hour und date vertauscht. Laut header file wird dein MB unterstützt, schau mal hier
    unter deinem MB nach und passe deine nvram-wakeup.conf an

    :D yavdr 0.6.1;
    Digital Devices Cine S2 - Dual DVB-S2 HDTV
    :D

    Einmal editiert, zuletzt von zeus ()

  • nvram-wakeup sollte dein Board eigentlich kennen.


    Probier mal


    nvram-wakeup -I ecs_k7s5au


    aus. Ich hatte auch mal ein ECS K7S5A im Einsatz, da hat dies problemlos funktioniert.


    Ansonsten schau vielleicht mal hier nach.


    Grüsse,


    Frank


    Wohnzimmer: Geode NX1750 512MB M811, TT1.5, TT-DVB-S Budget, 2,4TB, Mahlzeit 4.0b,vdr 1.4.6extp25
    Spielwiese: Scenic-S, Cel 900, TT-Budget-S, dxr3 oder xine, 40 GB
    Analog: Athlon 2000XP, ECS K7S5A, 512MB, PVR350+PVR150MCE, 500GB, easyVDR 0.5rc1
    Neu: Asus P5K-V, E6750, 2GB, TT-Budget-S, 80GB, NV 7300GS, easyVDR 0.5rc2 mit xineliboutput

  • Ich hatte mal das gleiche Problem...


    Entweder über die Suche hier oder auf den Seiten von Sf.net habe ich auch mal gelesen, dass das Board etwas problematisch ist. Es gibt 3 (oder waren es 4) Einträge in den Sourcen. Welche Revision/Version Du hast kann NVRAM-Wakeup aber nicht rausfinden...
    sowas wie:
    cat nvram-wakeup-mb.c | grep -i k7s5a


    sollte dir die verschiedenen möglichkeiten zumausprobieren zeigen...


    Mit -I kann man (nach manuellem ausprobieren) NVRAM-Wakeup sein Board mitteilen. Bei mir braucht es folgenden Aufruf in vdrshutdown (dem script, das meinen VDR runterfährt):
    $NVRAMCMD -I ecs_k7s5au --directisa --syslog --settime $1



    Frank

    AMD E4050, Debian testing/unstable, TT S-1401 + TT S2-3200 (ein Kabel LNB-Shared), VDR1.7.xx+Extensions-patch und so ziemlich jedem Plugin, das es auf der Welt gibt...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!