Files
minimal-setups/attic/public/blog/timeserver/index.html
Wolfgang Hottgenroth b2249c06e9
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
mdwiki test starts
2025-04-14 22:22:45 +02:00

236 lines
13 KiB
HTML

<!DOCTYPE html>
<html lang="en-us">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>Just another Stratum 1 Timeserver - Minimal Setups</title>
<meta name="generator" content="Hugo 0.140.2">
<link href="http://172.16.3.33:1313//index.xml" rel="alternate" type="application/rss+xml">
<link rel="canonical" href="http://172.16.3.33:1313/blog/timeserver/">
<link rel="stylesheet" href="http://172.16.3.33:1313/css/theme.min.css">
<link rel="stylesheet" href="http://172.16.3.33:1313/css/chroma.min.css">
<script defer src="http://172.16.3.33:1313//js/fontawesome6/all.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery.easing@1.4.1/jquery.easing.min.js" integrity="sha256-H3cjtrm/ztDeuhCN9I4yh4iN2Ybx/y1RM7rMmAesA0k=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js" integrity="sha256-4XodgW4TwIJuDtf+v6vDJ39FVxI0veC/kSCCmnFp7ck=" crossorigin="anonymous"></script>
<script src="http://172.16.3.33:1313/js/bundle.js"></script><style>
:root {}
</style>
<meta property="og:url" content="http://172.16.3.33:1313/blog/timeserver/">
<meta property="og:site_name" content="Minimal Setups">
<meta property="og:title" content="Just another Stratum 1 Timeserver">
<meta property="og:description" content="This server utilizes ntpsec on Debian on a BeagleBone Black with a UBlox GPS module.
It has been joined the NTP pool, the statistics are available at https://www.ntppool.org/scores/93.241.86.156.
Some additional statistics graphs for the server are available at https://numbers.hottis.de/ntpserver.
Preparation of the BeagleBone The GPS module is connected via serial line to the UART of the BB.
The additional connection of the PPS output with the PPS device of the Linux running on the BB via a GPIO must be prepared. A device tree overlay must be created and compiled:">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2025-02-11T00:00:00+00:00">
<meta property="article:modified_time" content="2025-02-11T00:00:00+00:00">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Just another Stratum 1 Timeserver">
<meta name="twitter:description" content="This server utilizes ntpsec on Debian on a BeagleBone Black with a UBlox GPS module.
It has been joined the NTP pool, the statistics are available at https://www.ntppool.org/scores/93.241.86.156.
Some additional statistics graphs for the server are available at https://numbers.hottis.de/ntpserver.
Preparation of the BeagleBone The GPS module is connected via serial line to the UART of the BB.
The additional connection of the PPS output with the PPS device of the Linux running on the BB via a GPIO must be prepared. A device tree overlay must be created and compiled:">
<meta itemprop="name" content="Just another Stratum 1 Timeserver">
<meta itemprop="description" content="This server utilizes ntpsec on Debian on a BeagleBone Black with a UBlox GPS module.
It has been joined the NTP pool, the statistics are available at https://www.ntppool.org/scores/93.241.86.156.
Some additional statistics graphs for the server are available at https://numbers.hottis.de/ntpserver.
Preparation of the BeagleBone The GPS module is connected via serial line to the UART of the BB.
The additional connection of the PPS output with the PPS device of the Linux running on the BB via a GPIO must be prepared. A device tree overlay must be created and compiled:">
<meta itemprop="datePublished" content="2025-02-11T00:00:00+00:00">
<meta itemprop="dateModified" content="2025-02-11T00:00:00+00:00">
<meta itemprop="wordCount" content="467"><script type="text/javascript" id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
</script>
</head>
<body>
<div class="container"><header>
<h1>Minimal Setups</h1>
</header>
<div class="global-menu">
<nav>
<ul>
<li class=""><a href="/keys/">Keys</a></li>
<li class=""><a href="/about/">About</a></li></ul>
</nav>
</div>
<div class="content-container">
<main><h1>Just another Stratum 1 Timeserver</h1>
<time>Tue, Feb 11, 2025</time><p><img src="/IMG_6045.jpg" alt=""></p>
<p>This server utilizes <code>ntpsec</code> on Debian on a BeagleBone Black with a UBlox GPS module.</p>
<p>It has been joined the NTP pool, the statistics are available at <a href="https://www.ntppool.org/scores/93.241.86.156">https://www.ntppool.org/scores/93.241.86.156</a>.</p>
<p>Some additional statistics graphs for the server are available at <a href="https://numbers.hottis.de/ntpserver">https://numbers.hottis.de/ntpserver</a>.</p>
<h2 id="preparation-of-the-beaglebone">Preparation of the BeagleBone</h2>
<p>The GPS module is connected via serial line to the UART of the BB.</p>
<p>The additional connection of the PPS output with the PPS device of the Linux running on the BB via a GPIO must be prepared. A device tree overlay must be created and compiled:</p>
<pre tabindex="0"><code>/dts-v1/;
/plugin/;
/{
compatible = &#34;ti,beaglebone&#34;, &#34;ti,beaglebone-black&#34;;
part_number = &#34;WN-PPS&#34;;
version = &#34;00A0&#34;;
exclusive-use =
&#34;P8.7&#34;,
&#34;gpio2_2&#34;;
fragment@0 {
target = &lt;&amp;am33xx_pinmux&gt;;
__overlay__ {
bs_pinmode_P8_7_0x27: pinmux_bs_pinmode_P8_7_0x27 {
pinctrl-single,pins = &lt;0x090 0x27&gt;;
};
};
};
fragment@1 {
target = &lt;&amp;ocp&gt;;
__overlay__ {
bs_pinmode_P8_7_0x27_pinmux {
compatible = &#34;pps-gpio&#34;;
status = &#34;okay&#34;;
pinctrl-names = &#34;default&#34;;
pinctrl-0 = &lt;&amp;bs_pinmode_P8_7_0x27&gt;;
gpios = &lt;&amp;gpio2 2 0&gt;;
assert-rising-edge;
};
};
};
};
</code></pre><p>This file shall be compiled using</p>
<pre tabindex="0"><code>dtc -O dtb -o WN-PPS-00A0.dtbo -b 0 -@ WN-PPS-00A0.dts
</code></pre><p>The binary dtbo file then copied into <code>/lib/firmware</code> and mentioned in the <code>/boot/uEnv.txt</code>:</p>
<pre tabindex="0"><code>uboot_overlay_addr0=/lib/firmware/WN-PPS-00A0.dtbo
</code></pre><p>After a reboot the device file <code>/dev/pps0</code> should be available and using <code>ppstest /dev/pps0</code> you can test the connection:</p>
<pre tabindex="0"><code>root@david:/boot# ppstest /dev/pps0
trying PPS source &#34;/dev/pps0&#34;
found PPS source &#34;/dev/pps0&#34;
ok, found 1 source(s), now start fetching data...
source 0 - assert 1739442756.999984966, sequence: 306598 - clear 0.000000000, sequence: 0
source 0 - assert 1739442757.999978472, sequence: 306599 - clear 0.000000000, sequence: 0
source 0 - assert 1739442758.999976057, sequence: 306600 - clear 0.000000000, sequence: 0
^C
root@david:/boot#
</code></pre><h2 id="configuration-of-the-ntpsec-daemon">Configuration of the ntpsec daemon</h2>
<pre tabindex="0"><code>interface listen all
logconfig +all
logfile /var/log/ntp.log
statsdir /var/log/ntpsec/
statistics loopstats peerstats clockstats protostats sysstats rawstats
filegen loopstats file loopstats type day disable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
filegen protostats file protostats type day enable
filegen sysstats file sysstats type day enable
filegen rawstats file rawstats type day disable
driftfile /var/lib/ntpsec/ntp.drift
leapfile /usr/share/zoneinfo/leap-seconds.list
tos maxclock 11
tos minclock 4 minsane 3
refclock nmea unit 0 prefer mode 0x10 minpoll 4 maxpoll 4 path /dev/ttyO4 ppspath /dev/pps0 baud 9600 flag1 1 refid BBgp
# refclock shm unit 0 refid BBg minpoll 4 maxpoll 4 time1 0.1555
# refclock shm unit 2 refid BBp minpoll 4 maxpoll 4 prefer
# refclock pps unit 0 prefer refid BBp ppspath /dev/pps0 minpoll 4 maxpoll 4
# refclock gpsd unit 0 prefer refid BBgp mode 1 minpoll 4 maxpoll 4
server ntps1-1.uni-erlangen.de
server ntps1-0.cs.tu-berlin.de
server ptbtime1.ptb.de
server rustime01.rus.uni-stuttgart.de
server ntp1.sda.t-online.de
server ntps1.gwdg.de
restrict default kod nomodify nopeer noquery limited notrap
restrict 127.0.0.1
restrict ::1
</code></pre><p>Although the <code>nmea</code> reference clock driver is obsolete according to <a href="https://ntpsec.org/removal-plan.html">https://ntpsec.org/removal-plan.html</a>, it works perfectly for me, in particular better then the other drivers. However, maybe I was not trying hard enough with the others.</p>
<footer>
</footer>
</main>
<div class="sidebar">
<nav class="slide-menu">
<ul>
<li class=""><a href="http://172.16.3.33:1313/">Home</a></li>
<li class="parent has-sub-menu"><a href="http://172.16.3.33:1313/blog/">Blogs<span class="mark opened">-</span></a>
<ul class="sub-menu">
<li class=""><a href="http://172.16.3.33:1313/blog/tetris/">2024-05-27<br/> Tetris </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/rgb-driver/">2024-05-25<br/> PL 9823 meets MSP430 </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/timeserver2/">2025-03-13<br/> Stratum 1 NTP Server participating in ntppool.org </a></li>
<li class="active"><a href="http://172.16.3.33:1313/blog/timeserver/">2025-02-11<br/> Just another Stratum 1 Timeserver </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/debouncing/">2018-04-30<br/> Yet Another Debouncing Method </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/three-phase-inverter-ng/">2016-12-19<br/> Three Phase Inverter - Second Service </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/three-phase-inverter/">2016-10-14<br/> Three Phase Inverter </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/theremin/">2013-07-01<br/> Theremin </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/email-childprot/">2013-06-27<br/> Children Protection for Postfix-based EMail-Server </a></li>
</ul>
</li>
<li class=" has-sub-menu"><a href="http://172.16.3.33:1313/articles/">Articles<span class="mark closed">+</span></a>
<ul class="sub-menu">
<li class=""><a href="http://172.16.3.33:1313/articles/quotes/"> Quotes </a></li>
</ul>
</li>
<li class=" has-sub-menu"><a href="http://172.16.3.33:1313/howtos/">HowTos<span class="mark closed">+</span></a>
<ul class="sub-menu">
<li class=""><a href="http://172.16.3.33:1313/howtos/colors-in-minicom/"> Colors in Minicom </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/engel-des-herrn/"> Engel des Herrn </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/occ-in-nextcloud-pod/"> Execute occ in Nextcloud pod </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/gitlab-backup/"> Gitlab Backup and Restore </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/gitlab-change-baseurl/"> Gitlab Change BaseURL in Database </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/gitlab-upgrades/"> Gitlab Upgrades </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/ca-certificate-in-debian/"> How to add a CA certificate in Debian </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/iscsi-on-linux/"> iSCSI on Linux </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/magnifikat/"> Magnifikat </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/neovim/"> Neovim Setup </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/putty-and-hardware-keys/"> PuTTY and OPENGPG hardware keys </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/resize-hdd-on-running-system/"> Resize HDD on running system </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/snmpwalk-with-numeric-and-text-output/"> snmpwalk with numeric and text output of oid </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/prince-of-persia-1/"> Solution for Prince of Persia 1 </a></li>
</ul>
</li>
</ul>
</nav>
<div class="sidebar-footer"></div>
</div>
</div><a href="#" id="backtothetop-fixed" class="backtothetop"
data-backtothetop-duration="600"
data-backtothetop-easing="easeOutQuart"
data-backtothetop-fixed-fadeIn="1000"
data-backtothetop-fixed-fadeOut="1000"
data-backtothetop-fixed-bottom="10"
data-backtothetop-fixed-right="20">
<span class="fa-layers fa-fw">
<i class="fas fa-circle"></i>
<i class="fas fa-arrow-circle-up"></i>
</span></a>
</div>
</body>
</html>