TOBIT Time!Lan

Der alte Funkempfänger für Novell Netware war mir mal zugelaufen und flog schon ewig hier rum. Im Internet fand ich dann folgendes Howto:

Zuerst muss man einen Link auf das korrekte serielle Device setzen. Der RAWDCF Treiber sucht nach der Uhr unter /dev/refclock-n wobei n den Empfänger (0-3) bezeichnet. Um also den Empfänger an ttyS0 hängt heisst der Link: /dev/refclock-0 → /dev/ttyS0. In meinem Falle hat meine Zotac Zbox keine seriellen schnittstellen, mit dem USB-Adapter muss der Link also /dev/refclock-0 → /dev/ttyUSB0 sein

ln -s /dev/ttyS0 /dev/refclock-0

Am elegantesten macht man das, indem man die Datei /etc/udev/rules.d/05-persistent-dcf.rules editiert bzw. anlegt und hineinschreibt:

KERNEL=="ttyUSB0", SYMLINK+="refclock-0"

Folgendes sind die nötigen ntp.conf settings. Unter Debian muss man das ntp-refclock package installieren. Im normalen ntp-server oder ntp-simple lässt sich der Empfänger nicht ansprechen. ntp-refclock ist inzwischen in Debian ntp Package enthalten.

logconfig all                    #(logging einschalten, kann danach wieder entfernt werden)
server 127.127.8.n mode 16       #(wobei n den Empfänger bezeichnet, also 0)

Mode 16 ist die Art wie der Empfänger initialisiert werden soll und über welche Leitung sie Strom kriegt.

Es dauert mindestens eine Minute bis ein volles Zeittelegram empfangen wurden. Dazwischen motzt der Treiber, dass es zuwenig Bits waren:

Apr 20 11:03:46 go ntpd[14950]: PARSE receiver #0: reference clock "RAW DCF77 CODE (DTR CLR/RTS SET)" (device /dev/refclock-0) added
Apr 20 11:03:46 go ntpd[14950]: PARSE receiver #0:  Stratum 0, no PPS support, trust time 00:00:00, precision -18
Apr 20 11:03:46 go ntpd[14950]: PARSE receiver #0:  rootdelay 0.000000 s, phaseadjust 0.258000 s, normal IO handling
Apr 20 11:03:46 go ntpd[14950]: PARSE receiver #0:  Format recognition: RAW DCF77 Timecode

Wurde schon mal korrekt als DCF77-Empfänger erkannt

Apr 20 11:04:00 go ntpd[14950]: parse: convert_rawdcf: INCOMPLETE DATA - time code only has 13 bits
Apr 20 11:04:00 go ntpd[14950]: PARSE receiver #0: conversion status "CONVERSION FAILED; DATE ILLEGAL"
Apr 20 11:04:00 go ntpd[14950]: PARSE receiver #0: interval for following error message class is at least 00:01:00
Apr 20 11:04:00 go ntpd[14950]: PARSE receiver #0: FAILED TIMECODE: "#--#-#------" (check receiver configuration / cableling)

Noch nicht genug Bits empfangen.

Apr 20 11:05:00 go ntpd[14950]: PARSE receiver #0: packet format "RAW DCF77 Timecode"
Apr 20 11:05:00 go ntpd[14950]: PARSE receiver #0: STATE CHANGE:  -> DST; TIME CODE; (LEAP INDICATION; ANTENNA)
Apr 20 11:05:00 go ntpd[14950]: PARSE receiver #0: SYNCHRONIZED

Volles Telegramm empfangen - Zeit synchronisiert!