DCF77-Zeitgeber am Serialport und radioclk

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
KapitaenHaddock
Beiträge: 8
Registriert: 29.03.2012 13:51:21

DCF77-Zeitgeber am Serialport und radioclk

Beitrag von KapitaenHaddock » 14.09.2012 12:50:33

Hallo,

in unserem Testaufbau wollen wir PPS-Signale aus einem DCF77-Zeitgeber über den Serialport auf eine Debian-Squeeze Maschine abgreifen.
Die Zeit soll dann später auch zur Synchronisation mit NTP verwendet werden. Als Deamon verwenden wir radioclk.

Auf dem Serialport kommen entsprechende Signale an:

Code: Alles auswählen

# cat /etc/ttyS0
...
S D:14.09.12;T:5;U:11.56.32;  S D:14.09.12;T:5;U:11.56.33;  S D:14.09.12;T:5;U:11.56.34;  S D:14.09.12;T:5;U:11.56.35;  S D:14.09.12;T:5;U:11.56.36;  S D:14.09.12;T:5;U:12.30.00;  S D:14.09.12;T:5;U:12.30.01;  S D:14.09.12;T:5;U:12.30.02;  S D:14.09.12;T:5;U:12.30.03;  S D:14.09.12;T:5;U:12.30.04;...
was auch radioclk bestätigt:

Code: Alles auswählen

# radioclkd -t ttyS0
...
DCD:   2    4    470196   CTS:   1    0         0   DSR:   2    4    470196
DCD:   3    1    200001   CTS:   1    0         0   DSR:   3    1    200001
DCD:   4    1    199946   CTS:   1    0         0   DSR:   4    1    199946
DCD:   5    1    200001   CTS:   1    0         0   DSR:   5    1    200001
DCD:   6    1    200000   CTS:   1    0         0   DSR:   6    1    200000
DCD:   7    1    200056   CTS:   1    0         0   DSR:   7    1    200056
DCD:   8    1    199946   CTS:   1    0         0   DSR:   8    1    199946
DCD:   9    1    200000   CTS:   1    0         0   DSR:   9    1    200000
DCD:  10    1    200000   CTS:   1    0         0   DSR:  10    1    200000
DCD:  11    1    200056   CTS:   1    0         0   DSR:  11    1    200056
DCD:  12    1    199944   CTS:   1    0         0   DSR:  12    1    199944
DCD:  13    1    199945   CTS:   1    0         0   DSR:  13    1    199945
DCD:  14    1    200000   CTS:   1    0         0   DSR:  14    1    200000
DCD:  15    1    200056   CTS:   1    0         0   DSR:  15    1    200056
DCD:  16    1    199945   CTS:   1    0         0   DSR:  16    1    199945
Sobald der Daemon radioclkd gestartet wird, sollte er meiner Meinung nach auch den Shared Memory Treiber aktivieren, was er scheinbar aber nicht tut.

Code: Alles auswählen

# ps auxww | grep radio
root      6126  0.1  0.0   3864  1816 ?        SLs  12:33   0:00 radioclkd ttyS0
root      6131  0.0  0.0   7548   864 pts/0    S+   12:34   0:00 grep radio

Code: Alles auswählen

# ipcs

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status

------ Semaphore Arrays --------
key        semid      owner      perms      nsems

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages
Hier noch der Auszug aus der /etc/ntp.conf:

Code: Alles auswählen

server 127.127.8.0 mode 2 prefer
fudge 127.127.8.0 refid PZF

server 127.127.28.2
fudge 127.127.28.2 refid PPS flag3 1
fudge 127.127.28.2 time1 0.0001
Die Ausgabe von ntpq -p:

Code: Alles auswählen

...
*GENERIC(0)      .PZF.            0 l    -   64    7    0.000   -5.452   4.004
 SHM(2)          .PPS.            0 l    -   64    0    0.000    0.000   0.000
Hat jemand von euch ähnliche Erfahrungen oder weiß jemand Rat?

Besten Dank und viele Grüße,
Christian

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: DCF77-Zeitgeber am Serialport und radioclk

Beitrag von rendegast » 20.09.2012 07:35:58

Recht einfach wäre als Alternative radioclk aus wheezy auszuprobieren.

Beim ntp müßte es dann aber schon eine wheezy-Installation sein.
(eventuell einfach in einer VM, obwohl SHM da "anders" sein könnte, abgesehen vom seriellen Port
- > schnell einen alten Rechner rausgekramt, möglichst 64-bittig, falls das auch auf die Zielmaschine zutrifft)
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

KapitaenHaddock
Beiträge: 8
Registriert: 29.03.2012 13:51:21

Re: DCF77-Zeitgeber am Serialport und radioclk

Beitrag von KapitaenHaddock » 27.09.2012 13:20:29

Hallo,

ich habe das Problem mittlerweile gelöst, indem ich die Source des Redhat-SHM Treibers shmpps dafür
hergenomen habe. Siehe dazu http://www.wraith.sf.ca.us/ntp/#parallel-port

Für Squeeze waren lediglich ein paar wenige Anpassungen an den Skripten im Tarball notwendig, zudem
mußte ich die Linker-Optionen für Kompilieren (ldflags) im Makefile auskommentieren --> DebianBug!

Danach den shmpps Treiber mittels Startskript (auch im Tarball) ausführen und siehe da (nach ca. 5 Min.)...

xGENERIC(0) .PZF. 0 l 55 64 377 0.000 5.546 0.003
*SHM(0) .PPS. 0 l 50 64 377 0.000 -0.809 0.073

Vorher Eintrag in die /etc/ntp.conf nicht vergessen.

Code: Alles auswählen

#PZF
server 127.127.8.0 mode 2
fudge 127.127.8.0 refid PZF
#SHMPPS
server 127.127.28.2 prefer
fudge 127.127.28.2 refid PPS flag3 1
fudge 127.127.28.2 time1 0.0001
Besten Dank und viele Grüße,
Christian

Antworten