ntpd kann Zeit nicht einstellen

quantumleeks

Anfänger
Unter FreeBSD-6.0-p4/i386 funktioniert bei mir weder ntpd noch openntpd. Einzig und allein ntpdate verstellt zuverlässig und sofort die Zeit. Obgleich der ntpd als Daemon läuft, nimmt er keinerlei Zeitkorrekturen vor. Schon nach wenigen Minuten verstellt sich die CMOS-Uhr total, ohne dass ntpd bzw. openntpd korrigierend eingreifen.

Ich habe bis jetzt alle im Netz verfügbaren Dokumentationen gelesen, ich bin sicher, es liegt nicht an einer falschen Konfiguration bei mir.

Hardware ist das em551 Single Board, das wir in diesem Board schon in einem Extrathread besprochen hatten.

Es ist zum Heulen...
 
Wenn sich die Uhr von alleine total verstellt geben die daemonen normalerweise auf (sinnvollerweise). Es sollte aber eine log-message geben.
 
Ja, die Daemonen stellen ihre Tätigkeit ein, wenn sich die Uhr ständig verstellt. Habe den openntpd mal im Debugger-Modus laufen lassen: Schon nach weniger als 10 Sekunden verstellt sich die Uhr total (z. B. ganz plötzlich 1 Stunde früher), d.h. die Uhr spinnt total rum, und wird von openntpd nicht korrigiert.

Jetzt werde ich mal den Kernel mit options CPU_GEODE kompilieren, müsste auf dem em-551 Board ganz gut kommen. Wenn es erfolgreich war, erstatte ich Bericht.
 
Die Neukompilierung hat nichts gebracht. Die Uhr des em-551-Boards lässt sich nur jeweils einmalig mit dem Befehl ntpdate umstellen, ntpd und openntpd funktionieren weiterhin nicht. Schon wenige Sekunden nach Ausführen des ntpdate-Befehls spielt die Uhr wieder verrückt, läuft plötzlich 45 Minuten früher oder 2 Stunden später. So etwas habe ich noch nie gesehen! Unter OpenBSD-3.8/i386 funktionierte openntpd dagegen einwandfrei. Ich bin mit meinem Kleinen Latinum am Ende.
 
Setze mal
ntpd_flags="-g -p /var/run/ntpd.pid -f /var/db/ntpd.drift"

in deiner /etc/rc.conf

dadurch korregiert ntpd auch die Zeit wenn sie mehr als 1 Sekunde abweicht. Allerdings löst das natürlich nicht das Problem plötzlicher Zeitsprünge.
 
Ich weiss, das hoert sich extrem schraeg an, aber ich hatte mal eine sehr ungenaue BIOS Uhr laufen, solange ein Funkwecker in der Naehe stand. Keine Ahnung, ob das realistisch ist, aber nachdem der weg war, lief die Uhr wieder wie erwartet.

HTH ;)
 
Hi xbit,

vielleicht sollte quantumleeks mal mit der Wünschelrute nach Erdstrahlen suchen?
Vielleicht ist auch nur die Batterie leer.
 
@auge Wenn's hilft. Ich sag ja, hoert sich seltsam an. ;)

Auf alle Faelle liegst nicht an ntpd und den Einstellungen.
 
Jetzt habe ich wieder OpenBSD-3.9-BETA auf dem em-551 installiert, und die Uhr funktioniert wieder einwandfrei. Das merkwürdige Verhalten der Uhr unter FreeBSD tritt nun nicht mehr auf, sowohl das Board selber als auch meine angeschlossenen Windows-Clients können sich wieder fehlerfrei die korrekte Zeit holen.

Es lag also erwiesenermaßen an FreeBSD, das definitiv auf dem em-551 die Uhr nicht richtig einstellen kann. Vielleicht kann ein zweiter Benutzer des em-551 meine Meldung bestätigen.
 
Hi quantumleeks

hab das selbe Problem, wenn ich den Rechner neu starte stimmt auch die Uhrzeit.
Bei mir geht die Systemuhr stehtig nach, man kann fast sagen, sie bleibt stehen.
Der Rechner ist neu, Bios-Batterie is auch neu, mach das ganze auch mit
FBSD 6.1 und Openntp. Hast du schon was rausgefunden, abgesehen davon
das es mit OBSD funktioniert?

Gruss
Uli
 
Hi quantumleeks,

hattest du ACPI aktiviert? Falls ja, mal ohne probieren.
falls du doch nochmal FreeBSD probieren wirst, teste doch folgenden Patch, eventuell ist der TSC auf diesem Board falsch verdrahtet.

§ Patch: Using the 8254 timer instead of the TSC.
in /sys/i386/i386/tsc.c in init_TSC_tc() folgendes
Code:
	if (tsc_present && tsc_freq != 0 && !tsc_is_broken) {
		tsc_timecounter.tc_frequency = tsc_freq;
		tc_init(&tsc_timecounter);
	}
auskommentieren:
Code:
#if 0
/*------ Dont use TSC. ----*/
        if (tsc_present && tsc_freq != 0 && !tsc_is_broken) {
                tsc_timecounter.tc_frequency = tsc_freq;
                tc_init(&tsc_timecounter);
        }
#endif
Erklärung hier

[offtopic]
Ich habe kein solches Board dafür ein paar ISS-102, die funktionieren problemlos mit ntp; allerdings brauche ich den "support.s" Patch, damit die lokalen Terminals funktionieren.
[/offtopic]

MfG,
garinger
 
Zuletzt bearbeitet:
xntp ist für den Zeitabgleich besser, xntp korrigiert nur die Geschwindigkeit der Uhr und nicht die Zeit, rc.conf xntp_enable="YES", ein File mit unter /etc mit ntp.drift ertsellen und in die ntp.conf natürlich paar Server eintragen und Gerät bißchen laufen lassen, in der messages sollte dann sowas wie kernel disable, kernel enable +zeit und date by root + -Zeitdifferenz erscheinen,
 
Hallo Flex6 und natürlich der Rest

den Tip wer ich bald mal ausprobieren, wenn ich Zeit hab, aber Danke erst mal.
Hab mir vorab mit nen Eintrag in der Crontab heilung verschaft, funktioniert
vorerst auch.

Gruss
Uli
 
ntpd läuft glaube ich nur über cron, also Aktualisierung per Systemstart oder dann mit per cron im Intervall
 
Zurück
Oben