NTP PPS with Navisys GR-701W USB GPS?
-
Looking to use GPS for NTP but difficult to find any out of the box USB solutions available. I checked some of the links but none available. Any advice would be great!
-
Mark doesn't sell the 601 anymore, but he does have the 701:
https://www.etsy.com/listing/501829632/navisys-gr-701w-u-blox-7-usb-pps-gpsqzss
-
I don't suppose you can share the settings that you used on the NTP pages of the GUI? I have one of these, and can't get it to report a valid time. I just get a false ticker status on PPS. I can move it over to my Debian Linux server that runs my NVR application and with GPSD I get valid results so I know the GPS is working correctly. But I have tried every combination of settings I can think of with no luck on the pfSense system.
# sysctl -a | grep pps kern.ntp_pll.pps_freq: 249073072340992 kern.ntp_pll.pps_shift: 6 kern.ntp_pll.pps_shiftmax: 8 kern.features.pps_sync: 1 net.inet6.icmp6.errppslimit: 100 hw.usb.ucom.pps_mode: 2 dev.uart.0.pps_mode: 2

 -
Looking to use GPS for NTP but difficult to find any out of the box USB solutions available. I checked some of the links but none available. Any advice would be great!
You can't use any USB GPS device for PPS signalling. USB protocol has a lot of jitter by design, your PPS will be unstable. Any USB-based GPS offering PPS signal is simply lying.
If you want PPS precision, you must use a serial port GPS module. -
You can't use any USB GPS device for PPS signalling. USB protocol has a lot of jitter by design, your PPS will be unstable. Any USB-based GPS offering PPS signal is simply lying.
If you want PPS precision, you must use a serial port GPS module.This is usually correct, but there is one notable exception, as I said upthread:
Most USB-based GPSes aren't good for a stratum 1 NTP server, but the GR-601W, GR-701W, and GR-801W (note the "W" suffix) are different. Eric Raymond worked directly with Navisys to offer the "W" models with the "Macx-1" modification that feeds PPS over the USB-to-serial on DCD.
This design works quite well. GPS adds roughly accurate time, and the PPS over DCD adds metronome-like precise time to which the GPS time can be aligned.
I've followed these (non-pfSense) instructions with great success on a Raspberry Pi:
https://www.ntpsec.org/white-papers/stratum-1-microserver-howto/
I haven't revisited this on the pfSense side in a while, and I think my current setup has the same problem that dweimer mentioned, so it may be time to revisit it.
-
Just making the PPS available as DCD doesn't overcome the limitations of the USB architecture which sits between the UART and the CPU. From the PDF you cite: "time precision will be limited by the USB polling interval, usually 0.5 millisecond". So while you can get the PPS signal, the jitter is horrible.
-
@Jed:
Just making the PPS available as DCD doesn't overcome the limitations of the USB architecture which sits between the UART and the CPU. From the PDF you cite: "time precision will be limited by the USB polling interval, usually 0.5 millisecond". So while you can get the PPS signal, the jitter is horrible.
Exactly. 8) It doesn't worth the effort, you're way better with public Stratum1 NTP servers from the Internet with real PPS sources, they will be more precise, no wonders your USB-based PPS source will be false sooner or later…
-
I tried USB timing with PPS as per Royce's instructions and it does indeed work when connected directly to pfSense, but its a poor imitation of a true serial connection. However, it is better than internet only sources so depending on your remoteness/connectivity/paranoia, it may be a worthwhile option. Here's a comparison of my serial vs USB - note the difference in y axis scale.
-
I run a rPi NTP server on my network and a Garmin 18x LVC connected to my pfSense box (serial), does what I need, and seems reliable. Other than some funky message in the NTP log with the Garmin that I really can't find any info on, all is smooth.
-
I run a Sure GPS serial module with an extrernal GPS antenna, runs smooth for about 4 years now on my pfSense box.