[Thumbgps-devel] navisys GR-601W gps on FreeBSD/NTP

Ron Frazier (NTP) timekeepingntplist at techstarship.com
Sun Jun 3 21:46:24 EDT 2012


Hi Jim,

I thought I'd share some more information which might be useful to you, or not. I don't know much about FreeBSD or pfSense. I'm running Ubuntu Linux 11.04 here. I realized that, since I've been working on Windows and Linux, some events may be getting fuzzy in my memory as to which is which. I think I tried to get PPS working without GPSD in Linux and I don't think I was ever able to get it working with the 1 year old plus NTP program available from the Ubuntu repositories. Trying to update NTPD manually caused problems and broke things so I gave up on that and just loaded NTPD. I don't think it worked with Windows either until I upgraded to the new custom binaries from Dave Hart.

After I read your last reply, I switched my GPS on Linux to work via a USB - Serial adapter based on the Prolific chip set. This is the Trendnet TU-S9, which passes all the handshake signals. I now have the GPS with PPS working on a USB port operating through GPSD.

I decided to share the following working configuration with you, in case it will help you at all. If you could install GPSD, it might simplify some things.

Here is my ntp.conf file. There are lots of comments, but, if you edit with GVIM, it will color code the comments in blue, which makes it easy to find the lines that are actually doing things.:

http://dl.dropbox.com/u/9879631/linux-ntp-pps-ntp-conf-060312.txt

Here is an NTPQ printout with PPS working.:

http://dl.dropbox.com/u/9879631/linux-ntp-pps-ntpq-060312.txt

Here is a script I run in order to start up GPSD and also to initially sync the time to a NIST server and restart NTPD. At this point, I have to run this manually, and haven't figured out how to have it auto boot.

http://dl.dropbox.com/u/9879631/linux-ntp-pps-PREFER%20Start%20USB%20GPSD%20GPS-060312.txt

Good luck.

Sincerely,

Ron


--

Sent from my Android Acer A500 tablet with bluetooth keyboard and K-9 Mail.
Please excuse my potential brevity.

(To whom it may concern. My email address has changed. Replying to former
messages prior to 03/31/12 with my personal address will go to the wrong
address. Please send all personal correspondence to the new address.)

(PS - If you email me and don't get a quick response, don't be concerned.
I get about 300 emails per day from alternate energy mailing lists and such.
I don't always see new email messages very quickly. If you need a reply and
haven't heard from me in 1 - 2 weeks, send your message again.)

Ron Frazier
timekeepingdude AT techstarship.com

Jim Thompson <jim at netgate.com> wrote:


On Jun 3, 2012, at 10:36 AM, "Ron Frazier (NTP)" <timekeepingntplist at techstarship.com> wrote:


Hi Jim,

I may or may not be able to help. I have successfully run PPS before through a USB - Serial converter using windows. I have not done it with Linux, BSD, etc. I am currently running PPS through a serial connection on Ubuntu Linux. What are the server lines in your ntp.conf? 


I thought that would be obvious from the ntpq/ntpdc data I gave.


[2.1-BETA0][root at pfsense-beta.netgate.com]/root(1): cat /var/etc/ntpd.conf 

# 

# pfSense ntp configuration file 

# 


# /dev/pps0, doesn't work

server 127.127.22.0


#/dev/gps0

server 127.127.20.0 mode 0 minpoll 4 maxpoll 4 prefer

fudge 127.127.20.0 time1 0.155 time2 0.000 flag1 1 flag2 0 flag3 1


# last ditch local clock

#

server 127.127.1.0

fudge 127.127.1.0 stratum 10


server 0.pfsense.pool.ntp.org iburst maxpoll 9

server clock.isc.org


logfile /var/log/ntpd.log

driftfile /var/db/ntpd.drift



Are you running GPSD? 


No.  (Mostly because gpsd isn't loaded on pfSense.)


For what it's worth, the USB signal comes into Linux on my system as /dev/ttyUSB0. 


Yup.   It's /dev/ttyU0 on FreeBSD 8.3 


When I was running NTP without GPSD in Windows, I had to make a symbolic link and map that to /dev/gps1 or something.


Then you refclock line would have to reference unit 1.   Mine is 'unit 0'

So

[2.1-BETA0][root at pfsense-beta.netgate.com]/root(2): ls -l /dev/gps0 /dev/pps0

lrwxr-xr-x  1 root  wheel  5 Jun  3 07:25 /dev/gps0 -> ttyU0

lrwxr-xr-x  1 root  wheel  5 Jun  3 05:07 /dev/pps0 -> ttyU0


I don't remember exactly. I was not running PPS then though, and I was not running GPSD in Windows. (You can't.)

Where ever the USB signal is coming in, if it's like Linux, you should be able to do the following to see the NMEA data:

cat /dev/ttyUSB0

Press CTRL-C to stop.


Yup.


A better test is with ntpq:


[2.1-BETA0][root at pfsense-beta.netgate.com]/root(4): ntpq -c clocklist

assID=0 status=0000 clk_okay, last_clk_okay,

device="NMEA GPS Clock",

timecode="$GPRMC,154158.00,A,3023.48603,N,09742.86541,W,1.187,96.01,030612,,,A*4A",

poll=361, noreply=0, badformat=0, baddata=0, fudgetime1=155.000,

stratum=0, refid=GPS, flags=5


See the "timecode=" line?   It's the last decoded message from the 'clock'.  In this case, a GPS RMC message.  (and now you can see where my office is located.)


Note that I had to turn off a bunch of the enabled-by-default messages, and lock the port to 4800 baud.   Many people have similar issues with NMEA GPS units and ntpd,

where the GPS works fine with, say, 'cu' or minicom, but fails (normally after a couple 'good' reads) when run under ntpd.


And yes, I know about the 'mode' line for the refclock.  Been there, done that, burned the t-shirt around 3am.


Anyway:


$PUBX,40,GSV,0,0,0,0

$PUBX,40,GLL,0,0,0,0

$PUBX,40,ZDA,0,0,0,0

$PUBX,40,VTG,0,0,0,0

$PUBX,40,GSV,0,0,0,0

$PUBX,40,GSA,0,0,0,0

$PUBX,40,GGA,0,0,0,0

$PUBX,40,TXT,0,0,0,0

$PUBX,40,RMC,0,0,0,0

$PUBX,41,1,0007,0003,4800,0

$PUBX,40,ZDA,1,1,1,1


I just put that in a file and ran "cat file > /dev/cuaU0'.  (the "no carrier detect needed" version of /dev/ttyU0)


Note these from /var/log/ntpd.log:

 3 Jun 09:03:46 ntpd[61833]: synchronized to GPS_NMEA(0), stratum 0

 3 Jun 09:03:50 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 09:04:14 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 09:08:34 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 09:13:38 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 09:14:17 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 09:17:48 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 09:17:57 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 09:22:39 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 10:02:51 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 10:26:00 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 10:26:22 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 10:29:44 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

 3 Jun 10:41:58 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device


The driver is returning errno 25 for some reason.


By the way, are the new GPS units with the PPS mod for sale anywhere yet? I wouldn't mind getting my hands on one.


Just as soon as I verify PPS (probably on voyage linux), we'll be placing an order for .. several with Navisys.


Jim



Sincerely,

Ron


--

Sent from my Android Acer A500 tablet with bluetooth keyboard and K-9 Mail.
Please excuse my potential brevity.

(To whom it may concern. My email address has changed. Replying to former
messages prior to 03/31/12 with my personal address will go to the wrong
address. Please send all personal correspondence to the new address.)

(PS - If you email me and don't get a quick response, don't be concerned.
I get about 300 emails per day from alternate energy mailing lists and such.
I don't always see new email messages very quickly. If you need a reply and
haven't heard from me in 1 - 2 weeks, send your message again.)

Ron Frazier
timekeepingdude AT techstarship.com

Jim Thompson <jim at netgate.com> wrote:


after a long night of hacking, here is the result of about a 5 minute run on FreeBSD 8.3 (a pfSense 2.1 beta that was handy) running on a PC Engines Alix 3d2 board with
the Navisys GR-601W plugged in via USB

[2.1-BETA0][root at pfsense-beta.netgate.com]/dev(655): ntpdc -c kern
pll offset: 0.0131656 s
pll frequency: 25.385 ppm
maximum error: 0.025897 s
estimated error: 0.006287 s
status: 2001 pll nano
pll time constant: 4
precision: 1e-09 s
frequency tolerance: 496 ppm
pps frequency: 24.724 ppm
pps stability: 0.000 ppm
pps jitter: 0 s
calibration interval: 4 s
calibration cycles: 0
jitter exceeded: 0
stability exceeded: 0
calibration errors: 0
[2.1-BETA0][root at pfsense-beta.netgate.com]/dev(656): ntpdc -c "clockstat 127.127.20.0"
clock address: 127.127.20.0
clock type: Generic NMEA GPS Receiver (20)
last event: 0
current status: 0
number of polls: 21
no response to poll: 0
bad format responses: 0
bad data responses: 0
running time: 338
fudge time 1: 0.155000
fudge time 2: 0.000000
stratum: 0
reference ID: GPS
fudge flags: 0x5
[2.1-BETA0][root at pfsense-beta.netgate.com]/dev(657): ntpdc -c dm
remote local st poll reach delay offset disp
_____________________________________________

*GPS_NMEA(0) 127.0.0.1 0 16 377 0.00000 0.018658 0.02373
LOCAL(0) 127.0.0.1 10 64 77 0.00000 0.000000 0.43401
.clock.isc.org 192.168.3.166 1 64 77 0.05998 0.045383 0.43512
.199.4.29.166 192.168.3.166 2 64 77 0.04831 0.026922 0.06511
[2.1-BETA0][root at pfsense-beta.netgate.com]/dev(658): ntpq -p
remote refid st t when poll reach delay offset jitter
_____________________________________________

*GPS_NMEA(0) .GPS. 0 l 3 16 377 0.000 17.541 4.836
LOCAL(0) .LOCL. 10 l 43 64 77 0.000 0.000 0.004
+199.4.29.166 64.90.182.55 2 u 39 64 77 48.317 26.922 19.527
+clock.isc.org .GPS. 1 u 37 64 77 59.994 45.383 10.124
[2.1-BETA0][root at pfsense-beta.netgate.com]/dev(659): 

and after 10 minutes:

[2.1-BETA0][root at pfsense-beta.netgate.com]/dev(668): ntpdc -c "clockstat 127.127.20.0"
clock address: 127.127.20.0
clock type: Generic NMEA GPS Receiver (20)
last event: 0
current status: 0
number of polls: 42
no response to poll: 0
bad format responses: 0
bad data responses: 0
running time: 681
fudge time 1: 0.155000
fudge time 2: 0.000000
stratum: 0
reference ID: GPS
fudge flags: 0x5
[2.1-BETA0][root at pfsense-beta.netgate.com]/dev(669): ntpdc -c dm
remote local st poll reach delay offset disp
_____________________________________________

*GPS_NMEA(0) 127.0.0.1 0 16 377 0.00000 0.026902 0.02632
LOCAL(0) 127.0.0.1 10 64 377 0.00000 0.000000 0.03052
.clock.isc.org 192.168.3.166 1 64 377 0.05960 0.065447 0.03905
.199.4.29.166 192.168.3.166 2 64 377 0.04929 0.070362 0.05154
[2.1-BETA0][root at pfsense-beta.netgate.com]/dev(670): ntpq -p
remote refid st t when poll reach delay offset jitter
_____________________________________________

*GPS_NMEA(0) .GPS. 0 l 2 16 377 0.000 14.092 10.630
LOCAL(0) .LOCL. 10 l 46 64 377 0.000 0.000 0.004
+199.4.29.166 64.90.182.55 2 u 40 64 377 49.289 70.362 10.886
+clock.isc.org .GPS. 1 u 39 64 377 59.612 65.447 10.469


Note that PPS is not working 
[2.1-BETA0][root at pfsense-beta.netgate.com]/dev(659): tail /var/log/ntpd.log 
3 Jun 09:03:07 ntpd[61833]: synchronized to 199.4.29.166, stratum 2
3 Jun 09:03:07 ntpd[61833]: kernel time sync status change 2001
3 Jun 09:03:20 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device
3 Jun 09:03:23 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device
3 Jun 09:03:23 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device
3 Jun 09:03:25 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device
3 Jun 09:03:46 ntpd[61833]: synchronized to GPS_NMEA(0), stratum 0
3 Jun 09:03:50 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device
3 Jun 09:04:14 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device
3 Jun 09:08:34 ntpd[61833]: refclock_nmea: time_pps_getcap failed: Inappropriate ioctl for device

Will investigate.

Jim

_____________________________________________

Thumbgps-devel mailing list
Thumbgps-devel at lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/thumbgps-devel




--

Sent from my Android Acer A500 tablet with bluetooth keyboard and K-9 Mail.
Please excuse my potential brevity.

(To whom it may concern.  My email address has changed.  Replying to former
messages prior to 03/31/12 with my personal address will go to the wrong
address.  Please send all personal correspondence to the new address.)

(PS - If you email me and don't get a quick response, don't be concerned.
I get about 300 emails per day from alternate energy mailing lists and such.
I don't always see new email messages very quickly.  If you need a reply and
haven't heard from me in 1 - 2 weeks, send your message again.)

Ron Frazier
timekeepingdude AT techstarship.com



More information about the Thumbgps-devel mailing list