@DevOpsSummit Authors: Ram Sonagara, Yeshim Deniz, Elizabeth White, Roger Strukhoff, Liz McMillan

Related Topics: @DevOpsSummit, Java IoT, Agile Computing

@DevOpsSummit: Blog Post

How to Add a GPS Time Source to ntpd | @DevOpsSummit #DevOps

It's also possible to feed the time information to ntpd as a back-up time source or as a highly accurate time source


How to Add a GPS Time Source to ntpd
by Jimmy Tang

USB GPS dongles have come down significantly in price in recent years and I picked one up to play with recently.

Apart from using a GPS module to report your latitude, longitude, altitude and time for mapping applications, it's also possible to feed the time information to ntpd as a back-up time source or as a highly accurate time source depending on the GPS module you end up getting.

The module that I use in this blog post is a Columbus v800 which was reasonably cheap (around 35USD of ebay), I had originally bought it for recording my GPS tracks on long haul flights on my laptop.

To add the USB GPS time source to ntpd, first install ntpd and the needed GPS related daemons and tools.

On a recent Ubuntu machine I did the following, this should work on a recent Debian machine as well.

apt-get install ntpd gpsd-clients gpsd gpsd-clients

Once the tools are installed, edit `/etc/default/gpsd` and modify the like that reads:


To this:


The above change will make the GPS look for satellites as soon as it starts up. Gpsd presents data to the user in a number of ways; in this case gpsd is already writing information out to a shared memory segment that ntpd understands as it usually follows the NMEA standard - some more information can be found herehttp://www.catb.org/gpsd/NMEA.html.

Once gpsd is restarted,  verify that you are receiving data by running the `cgps` command from a terminal window. If it works, this would be the type of output that is expected:


Hit ctrl-c and exit from this application. Once the GPS module is functioning as expected, ntpd must be configured to use GPS dongle as a time source.

Add the following to `/etc/ntp.conf`

# GPS Serial data reference
server minpoll 4 maxpoll 4
fudge time1 0.0 refid GPS

# GPS PPS reference
server minpoll 4 maxpoll 4 prefer
fudge refid PPS

The above adds two sources - the GPS time source from the serial data reference, a generic time source available on almost all GPS dongles; and the PPS reference, not always available on the cheaper GPS dongles but it is far more accurate if it is available. See http://www.catb.org/gpsd/hardware.html for a list of recommended GPS modules that have PPS output.

Once the above lines have been added to ntp.conf, ntpd should be restarted. To further understand the configuration see http://doc.ntp.org/4.2.6/drivers/driver28.html

To verify that the GPS module is indeed feeding ntpd, run the command `ntpq -p` in a terminal


Here the GPS time source is selected as the primary time source as it has a small offset and no delay. Over time the V800 GPS module introduces jitter which is either large or not consistent with the other time servers, ntpd then flags this particular time source as being a falseticker and as a result it is not used.

There is not much advantage of using this particular GPS device as a time source due to its lack of a PPS time source and high or random jitter. However if the network is unreliable and drops out the gps time source will be promoted back to a valid time source as the networked time servers are not accessible.

This may be useful for applications where having accurate time important and the network connection is either unreliable or non-existent.

More Stories By Trevor Parsons

Trevor Parsons is Chief Scientist and Co-founder of Logentries. Trevor has over 10 years experience in enterprise software and, in particular, has specialized in developing enterprise monitoring and performance tools for distributed systems. He is also a research fellow at the Performance Engineering Lab Research Group and was formerly a Scientist at the IBM Center for Advanced Studies. Trevor holds a PhD from University College Dublin, Ireland.

@DevOpsSummit Stories
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a multi-faceted approach of strategy and enterprise business development. Andrew graduated from Loyola University in Maryland and University of Auckland with degrees in economics and international finance.
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering Cloud Expo and @ThingsExpo will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at Cloud Expo. Product announcements during our show provide your company with the most reach through our targeted audiences.
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throughout enterprises of all sizes.
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading these essential tips, please take a moment and watch this brief video from Sandy Carter.
DXWorldEXPO LLC announced today that "Miami Blockchain Event by FinTechEXPO" has announced that its Call for Papers is now open. The two-day event will present 20 top Blockchain experts. All speaking inquiries which covers the following information can be submitted by email to [email protected] Financial enterprises in New York City, London, Singapore, and other world financial capitals are embracing a new generation of smart, automated FinTech that eliminates many cumbersome, slow, and expensive intermediate processes from their businesses. FinTech brings efficiency as well as the ability to deliver new services and a much improved customer experience throughout the global financial services industry. FinTech is a natural fit with cloud computing, as new services are quickly developed, deployed, and scaled on public, private, and hybrid clouds.