[ntp:questions] pps coming in, not received by ntpd

Rob nomail at example.com
Tue Jul 2 20:46:05 UTC 2013


folkert <folkert at vanheusden.com> wrote:
>> >> []
>> >>> To timestamp the pps, you have to have some module (ie kernel level)
>> >>> timestamp process. shmpps, gpsd, the kernel pps, write your own,....
>> >>
>> >> Thanks for the information, Bill.  My only additional comment is that 
>> >> the code to timestamp the PPS /can/ be in user-mode, although 
>> >> kernel-mode is preferable.  Additional Linux modules are /not/ required.
>> >
>> > ?? To timestamp the interrupt, you need kernel land. Ie, you need a
>> > module. Now you can use one of the modules others have written or you
>> > can write your own. But userland cannot get any sort of accuracy trying
>> > to figure out when and if a hardware line has been pulled up or not.
>> 
>> You may think that, but gpsd does it that way and it works surprisingly
>> well.
>
> I'm not entirely sure of that.
> On Linux it uses the kernel pps-api. So the kernel makes a note when an
> interrupt came in and gpsd requests these values from the kernel. That's
> why it opens /dev/ppsX
>
> Folkert van Heusden

It has been changed to support that, but it still also has the original
userspace mode that I wrote, and that can use a serial port status
line (e.g. DCD) and timestamp it in userspace, without any pps support
in the kernel.

Rob



More information about the questions mailing list