Das Auslesen der Funkuhr verläuft dergestalt, dass der Kernel von pcf77 beauftragt wird, die Funkuhr auszulesen. Zwischen dem Auslesen der Funkuhr und der Anzeige in pcf77 vergeht natürlich Zeit.
Nun ist prinzipiell nicht bekannt, wann genau die Uhr ausgelesen wurde, da dies vom Kernel nicht zurückgemeldet wird. Daher habe ich die Option "-D" an pcf77 eingeführt, um das zu überprüfen.
Listet man systematisch die Abweichungen der Systemzeit von der ausgelesenen Funkuhr-Zeit auf, ergibt sich das folgende, sehr überraschende Bild:
Wir erkennen eine globale Drift der Funkuhr-Zeit gegenüber der Computer-Systemzeit, die nachts gegen 2:00 wieder korrigiert wird. Meine Interpretation: Die in der Werbung als hochgenaue Quartzuhr angepriesene PC-Funkuhr scheint eher ziemlich ungenau zu sein und ihre Drift unbedingt jede Nacht gemäß DCF77 korrigieren zu müssen.
Merkwürdig und verwirrend ist die stündliche "schnelle" Drift, die ich mir nicht erklären kann.
Zunächst habe ich meine pcf77-Routinen für fehlerhaft gehalten und ziemlich intensiv getestet. Einen Fehler konnte ich allerdings bislang nicht finden, sodass ich davon ausgehe, dass die Uhr möglicherweise stündlich eine kleinere Korrektur ihrer eigenen Drift vornimmt. Dafür spricht auch folgendes: Selbst wenn ich die Systemzeit um, sagen wir, 27 Minuten verstelle, kommen die Sägezahnspitzen zur vollen Stunde der Funkuhr-Zeit!
Vielleicht kennt ja jemand "da draußen" dieses Phänomen und kann mich diesbezüglich aufklären.
Wenn ich die Hintergünde besser kenne, kann ich auch versuchen, das Auslesen der Funkuhr genauer zu gestalten. Wie man oben sieht, ist - abhängig von der Tageszeit und der relativen Lage zum Stundenpeak - ein Fehler nicht mehr nur im Millisekundenbereich, sondern bis zu einer Sekunde zu erwarten.
Bei Anfragen wende man sich an mich <matthias AT familie-schuetze DOT de> via Mail.