[ntp:questions] How to debug GPS PPS?

xyz-2041 xyz2041 at gmail.com
Wed Dec 30 20:03:24 UTC 2009


On Dec 28, 7:59 am, Thomas Laus <lau... at acm.org> wrote:
> On 2009-12-28, xyz-2041 <xyz2... at gmail.com> wrote:
>
> > Plugged in the GPS unit's serial cable into a Windows
> > computer running WinOncore12 v1.0 (Build 37):
>
> >  http://www.google.com/#q=WinOncore12Installation.exe
>
> > Seemed to work without any problems.  Generated
> > all sort of graphs and charts.  Let it run and it
> > told me exact latitude, longitude and height above
> > sea level.
>
> > Used an analog volt meter and from pin 5 (supposed
> > to be ground), I only noticed voltage on pins 2 and 3.
> > Pin 2 was going erratically negative once a second.
> > I believe that this must be received data as per
> > standards.  Pin 3 was +5 volts, but dropping to
> > -5 volts once per second.
>
> You did not mention how your Oncore receiver was being interfaced to
> your computer or it's model number.  

GT+.  Serial port.


>I use one of the TAPR boards and
> Oncore UT+ combination.  The NTP refclock driver for the Oncore includes
> the code for receiving the PPS signal on the computer DCD pin.

It doesn't need pulse stretching?


> > I've changed my configs a bit, /var/log/ntp.log and
> > /var/log/ntpd.log don't show any errors.
>
> > However, "ntpq -c pe" still doesn't show any response:
>
> >  GPS_NMEA(0)     .GPS.            0 l    -   16    0    0.000
> > 0.000   0.001
> >  PPS(0)          .GPS.            0 l    -   16    0    0.000
> > 0.000   0.001
> >  GPS_ONCORE(0)   .GPS-.           0 l    -   16    0    0.000
> > 0.000   0.001
>
> You should not be using GPS_NMEA or PPS.  

OK.  Turned both of those off.


>The type 30 refclock
> communicates with the receiver using Motorola Binary protocol.  You may
> need to use WinOncore to set your receiver communications to use the
> binary protocol or even better, reset the receiver to factory defaults.

OK.  Used WinOncore to default.  Made sure that it was
set to Motorola/binary.  Power cycled.  Hooked back
up to FreeBSD server.  This is what was produced--for
a while:

     remote           refid      st t when poll reach   delay
offset  jitter
======================================================
 GPS_ONCORE(0)   .GPS.            0 l   99   16   40    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l  200   16    0    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l  418   16    0    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l  636   16    0    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l  938   16    0    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l 1167   16    0    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l 1226   16    0    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l 1352   16    0    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l 2028   16    0    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l  61m   16    0    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l  67m   16    0    0.000
192.362   0.002

 GPS_ONCORE(0)   .GPS.            0 l 176m   16    0    0.000
192.362   0.002

Re-defaulted.  Now back to this:

 GPS_ONCORE(0)   .GPS.            0 l    -   16    0    0.000
0.000   0.002


> Your config files already have your position defined, so there is no
> need to have anything in your receiver at startup.  The almanac will be
> received while NTP is settling down after startup.  You will need to
> configure at least 4 other NTP servers to speed up the initial startup.

Got those.


> The refclock code wants to have a synchronized NTP server before adding
> itself to the peer selection.  I find about 30 minutes after a cold
> start my PPS LED will start to flash and I observe that my Oncore gets
> selected.

PPS LED was flashing, but NTP never synchronized.


>
> > - Create symbolic links:
>
> >     ln -s  /dev/cuad0  /dev/oncore.pps.0
> >     ln -s  /dev/cuad0  /dev/oncore.serial.0
> >     ln -s  /dev/cuad0  /dev/gps0
> >     ln -s  /dev/cuad0  /dev/pps0d
>
> > - Create /etc/devfs.conf links:
>
> >     link cuad0 pps0
> >     link cuad0 gps0
> >     link cuad0 oncore.pps.0
> >     link cuad0 oncore.serial.0
>
> I think that you will find that the symbolic links in /dev are not required and
> only the /etc/devfs.conf entries are all you will need.  You won't need
> either pps0 or gps0 entries for anything.  Only the oncore* stuff is
> needed for the refclock type 30.

OK.

Well, this just doesn't seem to be working.  Does anyone have other
suggestions on how to get this GT+ working?

If not, does anyone have some other suggestions?  Would I be able
to use this Motorola antenna with another GPS unit?  Other low-cost
ways of getting GPS accuracy on this FreeBSD/NTP box?


>
> Tom
>
> ---
> Public Keys:
> PGP KeyID = 0x5F22FDC1
> GnuPG KeyID = 0x620836CF




More information about the questions mailing list