[LinuxPPS] Linuxpps on 2.6.28 vs. ntpd 4.2.4p6
Heiko Gerstung
heiko.gerstung at meinberg.de
Wed Jan 14 12:42:54 CET 2009
Hi everybody!
I am trying to prepare a new kernel for our series of NTP time server
appliances called LANTIME (see our website if you are interested) but I
have problems getting ntp-4.2.4p6 to work with my 2.6.28 kernel and the
rc6 linuxpps patch.
What already works is that if I start ppsldisc /dev/ttyS0 on a console,
I can see that assert and clear events are correctly recognized in
/sys/class/pps/pps/assert and clear and they represent the 200ms pulse
width we are using on our GPS receivers.
But for some it does not work when I start ppsldisc as a background
process during startup. I can see that there are a number of events
recorded because the assert file for example shows a timestamp and the
event count, which can be #32 for example or #43 but does not recognize
any further events until I "killall ppsldisc" and run ppsldisc on my
console (in the foreground).
Additionally, when I start ntpd, it cannot initialize the Atom driver
and the parse driver also cannot setup PPS usage:
> Jan 14 09:17:19 LantimeV5 ntpd[13940]: PARSE receiver #0: parse_start:
> could not set up PPS: Invalid argument
> Jan 14 09:17:19 LantimeV5 ntpd[13940]: PARSE receiver #0:
> parse_ppsapi: time_pps_getcap failed: Bad file descriptor
> Jan 14 09:17:19 LantimeV5 ntpd[13940]: refclock_atom: time_pps_create
> failed: Inappropriate ioctl for device
I am not running udev on my machine and therefore have to create the
/dev/pps0 device node manually. I can see from /sys/class/pps/pps0/dev
that this should be c254:0 and therefore run "mknod /dev/pps0 c 254 0"
before doing anything else at startup.
What am I missing? First and foremost I would like to get ntpd to use
the PPS stuff, but if someone has any hints on why ppsldisc does not
work when it is sent into the background, I would be grateful for any
hints.
Best Regards,
Heiko
More information about the LinuxPPS
mailing list