NVRAM Problem auf VIA Eden MoBo

  • Hi nochmal...


    ... was vergessen:


    Den Fehler von wegen wakeup hour not correct (31) hatte ich am Anfang auch. Anscheinend sind bei mir ungültige Werte im BIOS gestanden (war ganz neu das Board). Ich habe dann im BIOS alles nochmal aus/eingeschaltet und einfach irgendwelche (gültigen) Werte im BIOS eingetragen. Danach hat es auch mit nvram-wakeup geklappt.



    Grüße,
    steginger

  • Zitat

    Original von steginger


    Der Reihe nach:
    - bios-info gibt auf meinem M10000: ...


    hab's in CVS eingefuegt, damit sollte es ohne zusaetzliche Parameter funktionieren.


    Zitat

    Was ist die Ausgabe des Info-Writers bzw. wo finde ich die?


    - Der Aufruf in meiner vdrshutdown ist

    Code
    $NVRAMCMD -I via_epia_m -ls $1


    'via_epia_m' ist der Name des Infowriters.


    Danke.

  • Zitat

    Original von steginger
    Hi nochmal...


    ... was vergessen:


    Den Fehler von wegen wakeup hour not correct (31) hatte ich am Anfang auch. Anscheinend sind bei mir ungültige Werte im BIOS gestanden (war ganz neu das Board). Ich habe dann im BIOS alles nochmal aus/eingeschaltet und einfach irgendwelche (gültigen) Werte im BIOS eingetragen. Danach hat es auch mit nvram-wakeup geklappt.


    Ralfman:


    Probier doch auch mal, den Wakeup im BIOS aus/einzuschalten und wenn das nicht hilft,
    vielleicht hilfts, mal die BIOS-defaultwerte zu laden?

  • Hallo Steginger, hallo Bistr-o-Math,


    ich war die letzten beiden Tage ziemlich beschäftigt, deshalb kann ich mich erst heute melden.
    Durch ein-/ausschalten des Wakeup's und verändern von Zeiten ist bei mir auch der Fehler verschwunden.


    Weiterhin bin ich jetzt auch dazu gekommen, mittels guess nochmals die Werte zu ermitteln:


    void v_epia_m(struct biosinfo *b)
    {
    b->addr_stat = 0x4B;
    b->shift_stat = 3
    b->addr_date = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_chk_h = 0x6D
    b->addr_chk_l = 0x6E
    }


    /* Detection information:
    { v_epia_m, "v_epia_m", "", "EPIA-M", "", "Award Software International, Inc.", "6.00 PG", "11/19/2002" } ,
    */
    für das BIOS vom 19.11.2002, und nach einem Update auf die neueste Version:


    void v_epia_m(struct biosinfo *b)
    {
    b->addr_stat = 0x4B;
    b->shift_stat = 3
    b->addr_date = 0x4C;
    b->addr_hour = 0x4D;
    b->addr_min = 0x4E;
    b->addr_sec = 0x4F;
    b->addr_chk_h = 0x6D
    b->addr_chk_l = 0x6E
    }


    /* Detection information:
    { v_epia_m, "v_epia_m", "", "EPIA-M", "", "Award Software International, Inc.", "6.00 PG", "03/17/2003" },
    */


    Ich habe auch bereits eine Zeit mittels ./nvram-wakeup -I via_epia_m -s "..." setzen können. Lilo -R PowerOff funktioniert auch, sodass jetzt nur noch vdrshutdown funktionieren muss.


    Grüße


    Ralf

  • Hallo Bistr-o-Math,


    so hat es mir guess angezeigt, einfach mit Copy und Paste hier hin.


    Ich habe es eben ausprobiert, auf meinem EPIA6000 funktioniert nvram-wakeup jetzt. Allerdings fährt vdrshutdown den Rechner nicht mehr herunter bzw. macht keinen reboot. Im log steht, dass die Weckzeit geschrieben wurde und das ein Reboot notwendig ist. Und dann läuft VDR schön weiter. Mhhmhh, wo das wieder dran liegt? Hat jemand einen Tipp?


    Grüße


    Ralf

  • Zitat

    Original von Ralfman
    Hallo Bistr-o-Math,


    so hat es mir guess angezeigt, einfach mit Copy und Paste hier hin.


    kannst du mal die komplette Ausgabe von guess hier posten? (nur fuer die eine Version ohne Sekunde)


    Zitat

    Ich habe es eben ausprobiert, auf meinem EPIA6000 funktioniert nvram-wakeup jetzt. Allerdings fährt vdrshutdown den Rechner nicht mehr herunter bzw. macht keinen reboot. Im log steht, dass die Weckzeit geschrieben wurde und das ein Reboot notwendig ist. Und dann läuft VDR schön weiter. Mhhmhh, wo das wieder dran liegt? Hat jemand einen Tipp?


    schau mal in das vdrshutdown skript. Da sollte etwas extra fuer den Reboot-Fall drin sein. Oder poste die vdrshutdown hier.

  • Hallo Bistr-o-Math,


    leider habe ich die Daten vom BIOS vom 19.11.2002 nicht mehr (da ist mir leider was passiert). Da kann ich auf wohl nicht mehr weiterhelfen ;( ;(
    Meine vdrshutdown ist eigentlich die Originale, die beim Paket dabei ist. Ich habe nur shutdown .... durch reboot bzw. poweroff ersetzt, da mein kleines Linux nichts anderes versteht.


    #!/bin/sh
    # $Id: vdrshutdown,v 1.10 2002/03/15 22:25:38 bistr-o-math Exp $


    NVRAMCMD=/usr/bin/VDR/nvram-wakeup
    $NVRAMCMD -ls $1
    case $PIPESTATUS in
    0) # all went ok - new date and time set
    poweroff
    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 (see README file for more details) - uncomment
    # the touch line (don't forget to change your boot script)
    # and comment out the lilo line
    #
    # For plan B - uncomment the lilo line and comment out the touch line
    # (don't forget to install the modified kernel image first)
    #
    # touch /nvramboot
    lilo -R PowerOff



    reboot
    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


    Im log stand, dass die Zeit gesetzt wurde und dass ein reboot nötig sei, aber beenden von VDR ist leider nicht möglich (auch ohne programmierten Timer). Von Hand lilo -R PowerOff und reboot funktioniert, auch die Zeit ist gesetzt.


    Mit meiner vdrshutdown:
    poweroff
    funktioniert zumindestens das ausschalten.


    Grüße


    Ralf

  • Zitat

    Original von Ralfman
    Meine vdrshutdown ist eigentlich die Originale, die beim Paket dabei ist. Ich habe nur shutdown .... durch reboot bzw. poweroff ersetzt, da mein kleines Linux nichts anderes versteht.


    wenn nvram-wakeup gemeldet hat, dass ein reboot notwendig war, sollte PIPESTATUS 1 gewesen sein.


    Aber wenn du eine 'abgespeckte' linux-distro verwendest, ist womoeglich der Return Wert in einer anderen Variable als PIPESTATUS gespeichert. fuege doch mal drei logger Zeilen in die vdrshutdown ein:



    wenn du nvram-wakeup von HAnd aufrufst und er sagt, dass ein reboot notwendig ist, mach mal einen

    Code
    echo $PIPESTATUS
  • Hallo Bistr-o-Math,


    scheint ein Problem mit PIPESTATUS zu sein. Nachdem ich nvram-wakeup aufgerufen habe, steht im log, dass die Weckzeit geschrieben wurde und ein reboot nötig sei. Allerdings leider kein Eintrag mit PIPESTATUS 0/1/2. Auch ein echo $PIPESTATUS liefert nur einen leeren String. Hast Du ggf. noch einen weiteren Tipp für mich.


    Schon mal vielen Dank für Deine Mühe.


    Ralf

  • Hallo Bistr-o-math,
    Google hat mich mal wieder weitergebracht. Ursprünglich gab es nur $? um den Status des letzten Befehles auszuwerten, ist bei bash dann um $PIPESTATUS erweitert worden (wohl mittels Feld auch mehrere Befehle auswertbar). Das habe ich eben geändert, und siehe da, nach setzen des Timers hat er schön einen reboot gemacht. Wenn er gleich auch wieder startet, sind meine Probleme gelöst und ich kann ans erweitern von VDR gehen.


    Vielen Dank für Deine Hilfe, das waren die entscheidenen Hinweise.


    Grüße


    Ralf


    P.S.: Konntest Du schon die Daten zum MS-6378 mit in die CVS-Version aufnehmen? siehe hier

  • Ich hab es soweit laufen, allerdings läuft die vdrshutdown nicht. per hand kann ich eine zeit vorgeben die auch eingetragen wird und der rechner bootet auch.
    VDR2:/usr/local/bin # ./nvram-wakeup -I via_epia_m -s $((`date +%s` + 20 * 60))


    All values are displayed as they are stored in the nvram/rtc.
    (and do not correspond necessarily to the system date/time)


    WakeUp : Enabled (0xDD)
    Date : 15 (0x0F)
    Hour : 16 (0x10)
    Minute : 52 (0x34)
    Second : 00 (0x00)
    Checksum: 0x1979


    Enabling (0xDD) WakeUp-on-RTC in nvram.
    New Date : 14 (0x0E)
    New Hour : 14 (0x0E)
    New Minute : 45 (0x2D)
    New Second : 23 (0x17)
    New Checksum: 0x1986


    Now really WRITING into /dev/nvram...
    The changes to take effect, you must reboot your computer now.


    aber das script....


    VDR2:/usr/local/bin # ./vdrshutdown
    --syslog parameter specified. All output goes to the syslog
    /usr/local/bin/nvram-wakeup: option requires an argument -- s
    ./vdrshutdown: line 58: syntax error: unexpected end of file

    VDR2:/usr/local/bin #



    VDR2:/usr/local/bin # ./nvram-wakeup -I via_epia_m -ls $1
    --syslog parameter specified. All output goes to the syslog
    ./nvram-wakeup: option requires an argument -- s



    /var/log/messages
    May 14 14:15:23 VDR2 nvram-wakeup[2113]:
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: Usage: nvram-wakeup [OPTIONS]
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: -s, --settime Set the given wakeup date/time (given as a time_t value).
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: -d, --disable Disable WakeUp. Equivalent to --settime=0.
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: -C, --configfile Read board configuration from specified configuration file.
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: -I, --iwstring Specify the IW (infowriter) string.
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: -N, --nowrite Don't write any values (in /dev/nvram or /dev/rtc). For testing.
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: -D, --debug Enable printing debug messages.
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: -l, --syslog Log all output via syslogd instead of stdout/stderr.
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: -v, --version Print version information.
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: -h, --help Print this message (always to stderr, regardless of --syslog).
    May 14 14:15:23 VDR2 nvram-wakeup[2113]:
    May 14 14:15:23 VDR2 nvram-wakeup[2113]: All specified wakeup times are times at which the PC should be up and running.
    May 14 14:15:23 VDR2 nvram-wakeup[2113]:



    vdrshutdown


    #!/bin/bash
    NVRAMCMD=/usr/local/bin/nvram-wakeup
    $NVRAMCMD -I via_epia_m -ls $1
    case $PIPESTATUS in
    0) # all went ok - new date and time set
    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 (see README file for more details) - uncomment
    # the touch line (don't forget to change your boot script)
    # and comment out the lilo line
    #
    # For plan B - uncomment the lilo line and comment out the touch line
    # (don't forget to install the modified kernel image first)
    #
    # touch /nvramboot
    #lilo -R PowerOff


    echo "VDR-Shutdown!!!!" >> /var/log/messages
    echo $PIPESTATUS >> /var/log/messages
    echo $1 >> /var/log/messages
    echo "VDR-Shutdown!!!!"
    echo $PIPESTATUS, echo $1


    #grub Komanndo übergeben


    echo | grub --batch << EOF
    root (hd0,0)
    savedefault --default=1 --once
    quit
    EOF


    shutdown -r now
    EXITSTATUS=0
    ;;
    2) # something went wrong
    # don't do anything - just exit with status 1
    EXITSTATUS=1
    ;;
    esac




    HILFÄ


    Oldspies


  • das Skript wird von VDR ja auch mit mehreren Parametern aufgerufen. Um es "haendisch" zu testen, kannst du die Zeit wie oben nehmen:

    Code
    ./vdrshutdown $((`date +%s` + 20 * 60))


    Anm.: das unexpected end of file habe ich erstmal bewusst ausser Acht gelassen.
    Vielleicht wird's ja hiermit schon behoben. Wenn nicht, muss man mal das Skript auf Zeile 58 etwas naeher betrachten...

  • Ich hab den Zeilenumbruch rausgenommen
    skript endet jetzt direkt nach dem letzten Buchstaben.


    Bernd


    VDR2:/usr/local/bin # nl -ba vdrshutdown
    1 #!/bin/bash
    2 # $Id: vdrshutdown,v 1.10 2002/03/15 22:25:38 bistr-o-math Exp $
    3
    4 NVRAMCMD=/usr/local/bin/nvram-wakeup
    5 $NVRAMCMD -I via_epia_m -ls $1
    6 case $PIPESTATUS in
    7 0) # all went ok - new date and time set
    8 shutdown -h now
    9 EXITSTATUS=0
    10 ;;
    11 1) # all went ok - new date and time set.
    12 #
    13 # *** but we need to reboot. ***
    14 #
    15 # for some boards this is needed after every change.
    16 #
    17 # for some other boards, we only need this after changing the
    18 # status flag, i.e. from enabled to disabled or the other way.
    19
    20
    21 # For plan A (see README file for more details) - uncomment
    22 # the touch line (don't forget to change your boot script)
    23 # and comment out the lilo line
    24 #
    25 # For plan B - uncomment the lilo line and comment out the touch line
    26 # (don't forget to install the modified kernel image first)
    27 #
    28 # touch /nvramboot
    29 #lilo -R PowerOff
    30
    31 echo "VDR-Shutdown!!!!" >> /var/log/messages
    32 echo $PIPESTATUS >> /var/log/messages
    33 echo $1 >> /var/log/messages
    34 echo "VDR-Shutdown!!!!"
    35 echo $PIPESTATUS, echo $1
    36
    37 #grub Komanndo übergeben
    38
    39 echo | grub --batch << EOF
    40 root (hd0,0)
    41 savedefault --default=1 --once
    42 quit
    43 EOF
    44
    45 shutdown -r now
    46 EXITSTATUS=0
    47 ;;
    48 2) # something went wrong
    49 # don't do anything - just exit with status 1
    50 EXITSTATUS=1
    51 ;;
    52 esac
    53
    54 # exit with 0 if everything went ok.
    55 # exit with 1 if something went wrong.
    56 exit $EXITSTATUS
    VDR2:/usr/local/bin #

  • der Zeilenumbruch gehoert schon dahin.


    Das Skript sieht schon in Ordnung aus.


    versuch doch mal folgendes Skript:

    Bash
    #!/bin/bash
    
    
    NVRAMCMD=/usr/local/bin/nvram-wakeup
    $NVRAMCMD -I via_epia_m -ls $1
    echo PIPESTATUS=$PIPESTATUS


    Die Ausgabe sollte sein:


    PIPESTATUS=0 (falls alles i.O. und kein reboot notwendig)


    PIPESTATUS=1 (falls alles i.O. und reboot notwendig)


    PIPESTATUS=2 (falls ein Fehler auftritt (z.B. wenn du vdrshutdown ohne Parameter aufrufst))



    Wenn das nicht der Fall ist, ersetze die beiden $PIPESTATUS durch $?

Jetzt mitmachen!

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