This is the homepage for Sineware's official stratum-1 NTP time service. It provides accurate and reliable time to Sineware infrastructure, and is the default NTP server for ProLinux.
Any NTP-capable device can synchronize to the Sineware Time Service at time.sineware.ca
, standard NTP port 123
. We recommend using Chrony as an NTP client daemon on Linux, as it tends to provide the most accurate time sync across different network conditions.
The time server is based on a Raspberry Pi 3 ARM platform. The source of time is derived from GNSS satellites from a U-Blox NEO-M8N receiver with NMEA messages over serial and PPS over GPIO. Additionally there is a DS3231 RTC for local time storage.
The NEO-M8N is currently configured to receive time signals from atomic clocks onboard GPS, GLONASS and Galileo GNSS satellites. gpsd handles the NEO-M8N and Chrony serves as the NTP server.
# Welcome to the chrony configuration file. See chrony.conf(5) for more
# information about usable directives.
# Include configuration files found in /etc/chrony/conf.d.
confdir /etc/chrony/conf.d
# Use time sources from DHCP.
#sourcedir /run/chrony-dhcp
# Use NTP sources found in /etc/chrony/sources.d.
#sourcedir /etc/chrony/sources.d
# Sineware Time Service
refclock SHM 0 refid NMEA offset 0.15 noselect trust
refclock PPS /dev/pps0 refid PPS lock NMEA trust prefer
allow 0.0.0.0/0
# Backup to NRC
server time.nrc.ca iburst
# This directive specify the location of the file containing ID/key pairs for
# NTP authentication.
keyfile /etc/chrony/chrony.keys
# This directive specify the file into which chronyd will store the rate
# information.
driftfile /var/lib/chrony/chrony.drift
# Save NTS keys and cookies.
ntsdumpdir /var/lib/chrony
# Uncomment the following line to turn logging on.
#log tracking measurements statistics
# Log files location.
logdir /var/log/chrony
# Stop bad estimates upsetting machine clock.
maxupdateskew 100.0
# This directive enables kernel synchronisation (every 11 minutes) of the
# real-time clock. Note that it can't be used along with the 'rtcfile' directive.
rtcsync
# Step the system clock instead of slewing it if the adjustment is larger than
# one second, but only in the first three clock updates.
makestep 1 3
# Get TAI-UTC offset and leap seconds from the system tz database.
# This directive must be commented out when using time sources serving
# leap-smeared time.
leapsectz right/UTC
# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/ttyAMA0 /dev/pps0"
# Other options you want to pass to gpsd
GPSD_OPTIONS="-n"
# Automatically hot add/remove USB GPS devices via gpsdctl
USBAUTO="false"
(only the [all] section)
[all]
# Enable the RTC
dtoverlay=i2c-rtc,ds3231
# Disable the bluetooth to gain access to the PL011 UART
# at /dev/ttyAMA0 on the GPIO headers (over the default less reliable Mini-UART)
dtoverlay=pi3-disable-bt
enable_uart=1
init_uart_baud=9600
# Disable frequency scaling (more consistent timing)
force_turbo=1
# PPS on GPIO
dtoverlay=pps-gpio,gpiopin=18
© 2023 Seshan Ravikumar