Wer kennt sich mit RTC aus ?

  • hi zusammen,


    wiedermal ein nettes problemchen bei mir:
    da nvram-wakeup von meinem board nicht unterstützt wird, hab ich bei mir die set_timer-geschichte konfiguriert. klappte auch bestens. gestern war nun nach einem reboot die zeit plötzlich falsch. mit date wieder gesetzt, jedoch nach einem reboot wieder falsch. das spiel wiederholt sich nun nach jedem reboot:


    Auf dem system die zeit gestellt, danach gibt date und hwclock folgendes aus:

    Code
    > date
    Tue Oct 14 14:03:18 CEST 2003
    > hwclock
    Tue Oct 14 14:03:26 2003  -0.251327 seconds


    dann rebootet, und date und hwclock sieht wieder so aus:

    Code
    > date
    Sat Oct  4 17:37:46 CEST 2003
    > hwclock
    Sat Oct  4 17:37:53 2003  -0.770784 seconds


    hat jemand ne idee ??


    gruß
    rob.

    VDR1: HP-Microserver N40L mit mit yavdr 0.6 (headless) und 3 USB Empfängern (pctv 461e)
    VDR2: MacMini mit yavdr 0.6 und TT-3600 (USB)
    VDR3 - VDR5: Raspberry Pi3 mit USB Empfänger (pctv461e) und MLD

  • hi,


    danke für die rasche antwort. ich denke aber, das hat nix mit set_timer zu tun. ich stelle das datum mittels date und auch mittels hwclock --set --date blabla. dann mache ich einen reboot....set_timers wird hier also gar nicht aufgerufen. Den set_timer aufruf beim systemstart (vor dem vdr) habe ich ebenfalls rausgenommen...also ist nach meinem verständnis set_timers überhauptnicht im spiel...und trotzdem ist die zeit falsch...


    gruß
    rob.

    VDR1: HP-Microserver N40L mit mit yavdr 0.6 (headless) und 3 USB Empfängern (pctv 461e)
    VDR2: MacMini mit yavdr 0.6 und TT-3600 (USB)
    VDR3 - VDR5: Raspberry Pi3 mit USB Empfänger (pctv461e) und MLD

  • Zitat

    Original von somebody101
    ...also ist ... set_timers überhauptnicht im spiel...und trotzdem ist die zeit falsch...


    nun, dann muss irgend ein Programm die Zeit veraendern. Geh doch nach dem runterfahren ins BIOS.
    Ist da die Zeit noch korrekt? Wenn nein, dann ist beim Runterfahren was passiert.
    Wenn sie noch korrekt ist, dann fahre hoch. Wenn jetzt die Uhrzeit falsch ist, dann ist beim Hochfahren was veraendert worden.

  • Hallo,


    hast du vielleicht xntpd laufen?
    Der legt unter /var/lib/ntp ein drift file an.
    Bei extensiven Manipulationen an der Systemuhr
    kann sich der Daemon schon mal mit der
    Bestimmung der RTC-Drift verschätzen.
    Lösung: drift file löschen


    Gruß
    Andreas

  • hi zusammen,


    also der xntpd läuft bei mir nicht. ich glaube aber, den übeltäter gefunden zu haben:
    in den files /etc/init.d halt sowie in /etc/init.d/reboot in folgende zeile enthalten:


    /sbin/hwclock --systohc $HWCLOCK


    ...sowie in dem file /etc/init.d/boot.clock:


    /sbin/hwclock --adjust $HWCLOCK
    /sbin/hwclock --hctosys $HWCLOCK


    ...da ich momentan nicht zuhause bin und nur übern webmin auf meine kiste zugreife, kann ich die files nicht editieren. ich habe aber mal /sbin/hwclock umbenannt, sodaß es von den skripten nicht mehr gefunden wird, und siehe da, die zeit stimmt wieder nach einem reboot...die einträge werd ich heut' abend rausschmeissen und hoffen, daß es dann klappt....ich verstehe nur nicht, warum das bis gestern keine probleme verursachte....an den dateien habe ich sicherlich nicht rumgespielt... :(


    hmmm
    gruß
    rob.

    VDR1: HP-Microserver N40L mit mit yavdr 0.6 (headless) und 3 USB Empfängern (pctv 461e)
    VDR2: MacMini mit yavdr 0.6 und TT-3600 (USB)
    VDR3 - VDR5: Raspberry Pi3 mit USB Empfänger (pctv461e) und MLD

  • Zitat

    Original von somebody101
    ...ich verstehe nur nicht, warum das bis gestern keine probleme verursachte....an den dateien habe ich sicherlich nicht rumgespielt... :(


    hwclock merkt sich wie schnell die Hardwareuhr abweicht, damit er in etwa abschaetzen kann,
    inwiefern er die Uhrzeit korrigieren muss, nach dem der Rechner eine Stunde oder ein Jahr ausgeschaltet war.


    nun scheint er zu denken, dass deine Uhr riesige Abweichungen innerhalb kuerzester Zeit macht
    (woher das wohl kommt :rolleyes: )

  • Zitat

    Original von Bistr-o-Math
    hwclock merkt sich wie schnell die Hardwareuhr abweicht, damit er in etwa abschaetzen kann,
    inwiefern er die Uhrzeit korrigieren muss, nach dem der Rechner eine Stunde oder ein Jahr ausgeschaltet war.


    nun scheint er zu denken, dass deine Uhr riesige Abweichungen innerhalb kuerzester Zeit macht
    (woher das wohl kommt :rolleyes: )


    Hatte gestern das selbe Problem.


    man hwclock hat mir geholfen. Ganz unten in der Man page wird die Systematik erklaert. Die Abweichungen werden im Format sekunde/24h in der date /etc/adjtime abgelegt. Format ist unter man hwclock erklaert. Vielleicht loescht du die Date mail.


    Wichtig ist in welcher Zeitzone die hwclock (=BIOS) laeuft (UTC oder Zeitzone Berlin zB). date liefert immer die localtime, hwclock --show liefert (glaub ich, siehe man) die hwclock time so wie sie im Bios steht.


    Zeitformat, shift pro tag ... stehen in /etc/adjtime.


    Ich empfehle (hier von der gruenen Wiese ohne einen Linux Rechner)
    # rm /etc/adjtime
    # hwclock --set --date=16:20 (natuerlich die genaue Uhrzeit einsetzen ;-))
    # hwclock --hctosys
    # date


    Wenn du dann in ein paar Tagen/Wochen/MOnaten einen Drift bemerkst dann einfach nochmal


    # hwclock --set --date=16:20 (natuerlich die genaue Uhrzeit einsetzen ;-))
    # hwclock --hctosys


    Dann berechnet er den Drift und kompensiert ihn zukuenftig automatisch.


    Bei mir lief es nur, wenn ich die HWClock auf localtime stelle dem System jedoch mitgebe dass es UTC Zeit ist. Mein Tux im Kernel meint nun er steht in London und empfaengt Astra über Satelit ;-)).


    Also so richtig durchstiegen habe ich das immer noch nicht. Irgendwo im System (Yast2?) stellt man auch nochmal die Zeitzone ein.


    Ach ja, jetzt faellt es mir wieder ein. In den rc scripten (bei mir /etc/rc.d/boot.time) benutzt er die Shellvariable $HWCLOCK. Bei dir hab ich das auch gesehen. Die ist bei mir leer, keine Ahnung wieso.


    Wenn man hwclock so wie im Script aufruft mit leerem $HWCLOCK dann greift der Default und das ist UTC. Ich muesste meinem Linux nur die Variable HWCLOCK auf LOCALTIME setzen, dann wuerde mein Tux im Kernel auch raffen, dass er in Deutschland steht ;-)).


    Nur weiss ich nicht wie ich das hinbekomme, aber es funtkioniert ja.


    Nur VORSICHT. Nach der Aktion waren meine EPG daten komplett unbrauchbar. Hat mich gestern die laengste Zeit gekostet das wieder hinzubekommen. Am Schluss lief es wieder. Ich hab manuell gescant, alte vdr Versionen genutzt nu ploetzlich ging et. Da war aber dann 2h morgens und ich hatte keine Lust mehr zu verstehen warum ;-(.

Jetzt mitmachen!

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