• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Building a Stratum 1 NTP Server Using Raspberry Pi

Scheduled Pinned Locked Moved Off-Topic & Non-Support Discussion
57 Posts 9 Posters 27.9k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K
    kiokoman LAYER 8
    last edited by kiokoman Jul 3, 2019, 8:11 PM Jul 3, 2019, 8:11 PM

    ok this is working now, i found out that on my raspberry pi 4 the gps is not on ttyAMA0 as all the tutorial around is based on, but under ttyS0, took my awhile to find out what was wrong ...

    pi@raspberrypi:~ $ ntpq -crv -pn
    associd=0 status=0115 leap_none, sync_pps, 1 event, clock_sync,
    version="ntpd 4.2.8p12@1.3728-o (1)", processor="armv7l",
    system="Linux/4.19.50-v7l+", leap=00, stratum=1, precision=-20,
    rootdelay=0.000, rootdisp=7938.582, refid=PPS,
    reftime=e0c78921.5335fc30  Wed, Jul  3 2019 22:05:53.325,
    clock=e0c7892f.6faf75ea  Wed, Jul  3 2019 22:06:07.436, peer=4517, tc=4,
    mintc=3, offset=-0.858325, frequency=-16.929, sys_jitter=0.000954,
    clk_jitter=0.406, clk_wander=0.000, tai=37, leapsec=201701010000,
    expire=201912280000
    
         remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
    *172.16.0.100    134.64.19.180    2 u   23   32    1    0.474    0.189   0.167
     it.pool.ntp.org .POOL.          16 p    - 1024    0    0.000    0.000   0.001
    x127.127.20.0    .GPS.            0 l   31   64    1    0.000   -1.180   0.001
    o127.127.22.0    .PPS.            0 l   14   16    1    0.000   -0.858   0.001
    +37.247.53.178   193.204.114.232  2 u   20 1024    1   12.891   -0.781   0.375
    -213.251.52.250  193.0.0.229      2 u   14 1024    1   21.182    3.930   0.230
    +85.199.214.99   .GPS.            1 u   13 1024    1   36.061   -1.087   7.806
    -185.19.184.35   193.204.114.233  2 u   12 1024    1   22.180    3.048   0.105
    

    ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
    Please do not use chat/PM to ask for help
    we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
    Don't forget to Upvote with the 👍 button for any post you find to be helpful.

    1 Reply Last reply Reply Quote 0
    • S
      stephenw10 Netgate Administrator
      last edited by Jul 4, 2019, 6:05 PM

      Looks like it's marked the GPS as a false ticker. You probably need to adjust the fudge time.

      Steve

      1 Reply Last reply Reply Quote 0
      • K
        kiokoman LAYER 8
        last edited by Jul 4, 2019, 6:37 PM

        yes, indeed, it's still a work in progress

        as i say a have trouble because i was unable to find any recent howto, anyway now i have this

        pi@raspberrypi:~ $ ntpq -crv -pn
        associd=0 status=0115 leap_none, sync_pps, 1 event, clock_sync,
        version="ntpd 4.2.8p12@1.3728-o (1)", processor="armv7l",
        system="Linux/4.19.50-v7l+", leap=00, stratum=1, precision=-20,
        rootdelay=0.000, rootdisp=500.060, refid=PPS,
        reftime=e0c8c525.ed3084d9  Thu, Jul  4 2019 20:34:13.926,
        clock=e0c8c52a.0f3a2862  Thu, Jul  4 2019 20:34:18.059, peer=42571, tc=4,
        mintc=3, offset=0.000149, frequency=-19.939, sys_jitter=0.000954,
        clk_jitter=0.001, clk_wander=0.000, tai=37, leapsec=201701010000,
        expire=201912280000
        
             remote           refid      st t when poll reach   delay   offset  jitter
        ==============================================================================
        o127.127.22.0    .PPS.            0 l    5   16  377    0.000    0.000   0.001
        *127.127.28.0    .GPS.            1 l    4   16  377    0.000  -146.34  85.899
        +193.204.114.232 .CTD.            1 u   41   64  377   30.981    0.240   0.166
        +193.204.114.233 .CTD.            1 u   38   64  377   30.653    0.695   0.148
        +79.36.117.15    .GPS.            1 u   60   64  377   37.111   -1.756   0.177
        +2001:4b20::beef 85.158.25.74     2 u   65   64  377   17.923   -0.204   2.899
        +2001:67c:8:abcd .PPS.            1 u   33   64  377   31.323    0.117   6.783
        +81.94.123.17    85.158.25.74     2 u    3   64  377   21.208   -2.684   5.947
        

        ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
        Please do not use chat/PM to ask for help
        we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
        Don't forget to Upvote with the 👍 button for any post you find to be helpful.

        1 Reply Last reply Reply Quote 0
        • K
          kiokoman LAYER 8
          last edited by kiokoman Jul 7, 2019, 8:39 PM Jul 6, 2019, 12:33 PM

          ok i'm putting here what i have done so far, if someone can check and give feedback pls

          inside /boot/config.txt :

          dtoverlay=pi3-disable-bt
          force_turbo=1
          init_uart_baud=9600
          dtoverlay=pps-gpio,gpiopin=4
          

          inside /boot/cmdline.txt

          dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=b55c365b-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles nohz=off
          

          inside /etc/modules

          # /etc/modules: kernel modules to load at boot time.
          #
          # This file contains the names of kernel modules that should be loaded
          # at boot time, one per line. Lines beginning with "#" are ignored.
          
          i2c-dev
          pps-gpio
          

          i have created /etc/udev/rules.d/99-gps.rules :

          KERNEL=="pps0",SYMLINK+="gpspps0"
          KERNEL=="ttyAMA0",SUBSYSTEM=="tty",MODE=="0777", SYMLINK+="gps0"
          
          sudo apt update
          sudo apt dist-upgrade
          sudo systemctl disable hciuart
          sudo systemctl disable serial-getty@ttyAMA0.service
          sudo apt-get install pps-tools ntp dnsutils setserial
          

          inside /etc/rc.local

          systemctl stop ntp #otherwise the next command will not work
          stty -F /dev/ttyAMA0 raw 9600 cs8 clocal -cstopb #set to 9600bps as per adafruit spec
          setserial /dev/ttyAMA0 low_latency # improve latency.. maybe
          #we need only GPMRC out
          /bin/echo -e '$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29\r\n' > /dev/ttyAMA0 
          systemctl start ntp
          

          inside /etc/ntp.conf

          # /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
          
          driftfile /var/lib/ntp/ntp.drift
          
          # Leap seconds definition provided by tzdata
          leapfile /usr/share/zoneinfo/leap-seconds.list
          
          # Enable this if you want statistics to be logged.
          #statsdir /var/log/ntpstats/
          
          statistics loopstats peerstats clockstats
          filegen loopstats file loopstats type day enable
          filegen peerstats file peerstats type day enable
          filegen clockstats file clockstats type day enable
          
          # By default, exchange time with everybody, but don't allow configuration.
          restrict default kod notrap nomodify nopeer noquery limited
          restrict -6 default kod notrap nomodify nopeer noquery limited
          
          # Local users may interrogate the ntp server more closely.
          restrict 127.0.0.1
          restrict -6 ::1
          
          # Needed for adding pool entries
          restrict source notrap nomodify noquery
          
          # Clients from this (example!) subnet have unlimited access, but only if
          # cryptographically authenticated.
          restrict 192.168.1.0 mask 255.255.255.0
          
          # If you want to provide time to your local subnet, change the next line.
          # (Again, the address is an example only.)
          #broadcast 192.168.123.255
          
          # If you want to listen to time broadcasts on your local subnet, de-comment the
          # next lines.  Please do this only if you trust everybody on the network!
          #disable auth
          #broadcastclient
          logfile /var/log/ntp.log
          
          server 127.127.20.0 mode 17 minpoll 4 maxpoll 4 iburts prefer
          fudge 127.127.20.0 flag1 1 time2 0.350 refid GPS
          
          pool 0.it.pool.ntp.org
          pool 1.it.pool.ntp.org
          pool 2.it.pool.ntp.org
          pool 3.it.pool.ntp.org
          

          result is:

          pi@raspberrypi:~ $ ntpq -crv -pn
          associd=0 status=0418 leap_none, sync_uhf_radio, 1 event, no_sys_peer,
          version="ntpd 4.2.8p12@1.3728-o (1)", processor="armv7l",
          system="Linux/4.19.50-v7l+", leap=00, stratum=1, precision=-19,
          rootdelay=0.000, rootdisp=1.180, refid=GPS,
          reftime=e0cb6dbc.b9fa8540  Sat, Jul  6 2019 20:58:04.726,
          clock=e0cb6dc9.863ed46d  Sat, Jul  6 2019 20:58:17.524, peer=65419, tc=4,
          mintc=3, offset=-0.000335, frequency=-18.876, sys_jitter=0.001907,
          clk_jitter=0.002, clk_wander=0.000, tai=37, leapsec=201701010000,
          expire=201912280000
          
               remote           refid      st t when poll reach   delay   offset  jitter
          ==============================================================================
          o127.127.20.0    .GPS.            0 l   13   16  377    0.000    0.000   0.002
           0.it.pool.ntp.o .POOL.          16 p    -   64    0    0.000    0.000   0.002
           1.it.pool.ntp.o .POOL.          16 p    -   64    0    0.000    0.000   0.002
           2.it.pool.ntp.o .POOL.          16 p    -   64    0    0.000    0.000   0.002
           3.it.pool.ntp.o .POOL.          16 p    -   64    0    0.000    0.000   0.002
          -213.251.52.250  193.0.0.229      2 u   21   64  377   20.446    3.853   0.146
          -94.177.187.22   193.204.114.233  2 u   14   64  377   16.930   -0.241   0.118
          -147.135.207.213 85.199.214.99    2 u   17   64  337   28.742   -0.525   0.150
          -212.45.144.3    193.204.114.232  2 u   18   64  377   11.872    0.162   0.148
          -188.213.165.209 193.204.114.232  2 u   19   64  377   17.956    0.459   0.136
          -80.211.52.109   85.199.214.99    2 u   22   64  377   21.608   -1.141   0.134
          #5.158.71.217    94.177.187.22    3 u   17   64  377   30.960   -3.933   0.626
          +85.199.214.99   .GPS.            1 u   13   64  377   35.659   -0.337   0.172
          +37.247.53.178   193.204.114.233  2 u   16   64  377   12.341    0.191   0.159
          +185.19.184.35   193.204.114.233  2 u   21   64  377   22.090    3.996   0.139
          -80.211.178.99   194.146.251.100  2 u   10   64  377   18.669   -2.758   6.145
          
          pi@raspberrypi:~ $ sudo lsof /dev/pps0 /dev/gps0
          COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
          ntpd    11340  ntp    4u   CHR 204,64      0t0 1165 /dev/ttyAMA0
          ntpd    11340  ntp    5u   CHR  242,0      0t0 1495 /dev/pps0
          

          from what i understand there is no need for gpsd as it was causing alot of offset/jitter
          plus from what i have read around ntp now bind to /dev/pps0 and /dev/ttyAMA0 (GPS) automatically. mode 17 is 16+1 so 9600bps + GPMRC
          rif. https://www.eecis.udel.edu/~mills/ntp/html/drivers/driver20.html
          fudge 127.127.20.0 flag1 1 this flag tell ntp to use PPS, i can set flag1 0 and eventually add 127.127.0.22 back and adjust offset, but i don't see why if ntp do the work for me?
          my score on pool.ntp.org si now 20 and identified as stratum 1

          pi@raspberrypi:~ $ iperf -c 192.168.1.90
          ------------------------------------------------------------
          Client connecting to 192.168.1.90, TCP port 5001
          TCP window size:  232 KByte (default)
          ------------------------------------------------------------
          [  3] local 192.168.1.89 port 52616 connected with 192.168.1.90 port 5001
          [ ID] Interval       Transfer     Bandwidth
          [  3]  0.0-10.0 sec  1.08 GBytes   931 Mbits/sec
          

          ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
          Please do not use chat/PM to ask for help
          we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
          Don't forget to Upvote with the 👍 button for any post you find to be helpful.

          T 1 Reply Last reply Jul 4, 2020, 2:14 PM Reply Quote 0
          • T
            tman222 @kiokoman
            last edited by Jul 4, 2020, 2:14 PM

            Hi @kiokoman - thanks for posting your experience using a Raspberry Pi 4. I'm looking to give this project another go this summer and catching up again on the instructions/advice in this thread and the equipment I would need to purchase. Do you mind listing what exact equipment you ended up using and any steps you took that weren't detailed in your prior posts? At this point, I'm looking to generally follow this guide I found, however, using a Raspberry Pi 4 B instead of the Odroid C2 board.

            https://nguvu.org/pfsense/network%20time%20protocol%20(ntp)/ntp-server/

            At the time this was written the Pi 4 had not been released yet and the Odroid presented a better option over the Pi 3 given true gigabit network support. I also like the PoE hat integration which helps simplify cabling.

            Thanks in advance for any help and advice you can provide.

            1 Reply Last reply Reply Quote 0
            • K
              kiokoman LAYER 8
              last edited by Jul 4, 2020, 2:52 PM

              1. Raspberry PI 4
              2. Memory Card with raspian
              3. GPS Adafruit ultimate GPS hat
              4. battery cr1220
              5. external active antenna
              6. uFL to SMA converter

              https://www.kiokoman.eu.org/index.php/per-non-dimenticare/24-howto-raspberry-pi-4-headless-ntp-stratum-1-gps-pps

              https://www.ntppool.org/scores/ntp.kiokoman.eu.org

              ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
              Please do not use chat/PM to ask for help
              we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
              Don't forget to Upvote with the 👍 button for any post you find to be helpful.

              1 Reply Last reply Reply Quote 0
              • T
                tman222
                last edited by Nov 28, 2020, 10:09 PM

                Thanks @kiokoman for sharing your setup and instructions, I really appreciate it. I wanted to bring this thread back up because I'm looking into this again as a small tinkering project and was also curious to learn more about the alternative APU2 based Stratum 1 NTP server setup @q54e3w mentioned above. @q54e3w - could you share some more details on your setup? Thanks in advance.

                1 Reply Last reply Reply Quote 0
                • Q
                  q54e3w
                  last edited by Nov 28, 2020, 10:30 PM

                  I had a half finished build and setup guide I was in the process of putting finishing touches to but didn't get to. I'll push it to the top of the list.
                  The downside of the PTP protocol is that the accuracy isn't preserved across the LAN unless you have hardware that supports it and because of the clients who typically care about this level of accuracy, its seems to be only available in more expensive switches etc, take a look here for a starter and please follow up if you find any more home lab friendly pieces.
                  https://en.wikipedia.org/wiki/List_of_PTP_implementations
                  My hardware solution that data came from was a Intel i210 based SBC that supports IEEE1588 and a regular GPS received running stock debian with mild kernel optimization.

                  I've migrated from using NTP to Chrony which syncs up quicker especially from a cold start which was one of the drawbacks of the NTP implementation. I tried the Odroid C4 which is an updated C2 but the earlier kernels didn't have PPS deciding included and I didn't have the time to build a custom kernel. Im sure things have evolved since then.

                  All of this is perhaps irrelevant though as Ive had great success with a LeoNTP server, unbelievably accurate and consistent across the year through temperature fluctuations etc and outperforms a non temperature controlled Pi substantially.
                  http://leobodnar.com/shop/index.php?main_page=product_info&products_id=272
                  When I update that guide I'll include some performance graphs etc.

                  T 1 Reply Last reply Nov 28, 2020, 10:46 PM Reply Quote 0
                  • T
                    tman222 @q54e3w
                    last edited by Nov 28, 2020, 10:46 PM

                    @q54e3w said in Building a Stratum 1 NTP Server Using Raspberry Pi:

                    I had a half finished build and setup guide I was in the process of putting finishing touches to but didn't get to. I'll push it to the top of the list.
                    The downside of the PTP protocol is that the accuracy isn't preserved across the LAN unless you have hardware that supports it and because of the clients who typically care about this level of accuracy, its seems to be only available in more expensive switches etc, take a look here for a starter and please follow up if you find any more home lab friendly pieces.
                    https://en.wikipedia.org/wiki/List_of_PTP_implementations
                    My hardware solution that data came from was a Intel i210 based SBC that supports IEEE1588 and a regular GPS received running stock debian with mild kernel optimization.

                    I've migrated from using NTP to Chrony which syncs up quicker especially from a cold start which was one of the drawbacks of the NTP implementation. I tried the Odroid C4 which is an updated C2 but the earlier kernels didn't have PPS deciding included and I didn't have the time to build a custom kernel. Im sure things have evolved since then.

                    All of this is perhaps irrelevant though as Ive had great success with a LeoNTP server, unbelievably accurate and consistent across the year through temperature fluctuations etc and outperforms a non temperature controlled Pi substantially.
                    http://leobodnar.com/shop/index.php?main_page=product_info&products_id=272
                    When I update that guide I'll include some performance graphs etc.

                    Thanks @q54e3w, I really appreciate the response. If you don't mind me asking, where did you purchase the LeoNTP server? Is there a US distributor or did you purchase directly from the UK? Thanks again.

                    Q 1 Reply Last reply Nov 28, 2020, 10:56 PM Reply Quote 0
                    • Q
                      q54e3w @tman222
                      last edited by Nov 28, 2020, 10:56 PM

                      @tman222 https://v3.airspy.us/product/upu-leontp/

                      1 Reply Last reply Reply Quote 0
                      • K
                        kiokoman LAYER 8
                        last edited by kiokoman Dec 1, 2020, 8:38 PM Dec 1, 2020, 8:34 PM

                        yesterday I received the waveshare max-m8q GPS hat for raspberry, I have configured it with the shared memory with gpsd, I still need to understand how to remove unnecessary GPS sentences, this is based on ublox, the adafruit was easier to configure. it seems to me that with SHM the offset is more unstable

                        UBLOX
                        status=0115 leap_none, sync_pps, 1 event, clock_sync,
                        version="ntpd ntpsec-1.1.3 2019-11-18T06:04:00Z", processor="armv7l", system="Linux/5.4.72-v7l+", leap=00, stratum=1, precision=-20, rootdelay=0.0, rootdisp=1.135, refid=PPS, reftime=e37124c1.ed9d57a5 2020-12-01T20:23:29.928Z,
                        clock=e37124cb.3ec99709 2020-12-01T20:23:39.245Z, peer=13250, tc=4, mintc=0, offset=0.000691, frequency=-18.836975, sys_jitter=0.000413, clk_jitter=0.000419, clk_wander=0.000275, tai=37, leapsec="2017-01-01T00:00Z",
                        expire="2021-06-28T00:00Z"
                             remote                                 refid      st t when poll reach   delay   offset   jitter
                        =====================================================================================================
                        *SHM(0)                                .GPS.            0 l   10   16  377   0.0000   2.6169   1.5005
                        oPPS(0)                                .PPS.            0 l    9   16  377   0.0000   0.0007   0.0004
                        -192.168.10.200                        .GPS.            1 u   63   64  377   0.0923  -2.0291   0.0163
                        -151.3.106.211                         .GPS.            1 u   64   64  376  31.6928  -1.2702   1.2323
                        +193.204.114.232                       .CTD.            1 u   27   64  377  39.7531   0.6983   0.9118
                        +193.204.114.233                       .CTD.            1 u   20   64  375  30.1307   5.2933   0.7851
                         0.it.pool.ntp.org                     .POOL.          16 p    -  256    0   0.0000   0.0000   0.0010
                         1.it.pool.ntp.org                     .POOL.          16 p    -  256    0   0.0000   0.0000   0.0010
                        -194.0.5.123                           85.199.214.100   2 u   58   64  377  20.8733  -0.5592   1.2309
                        +37.247.53.178                         193.204.114.232  2 u    -   64  375  19.3794   0.6783   0.8454
                        
                        ADAFRUIT
                        status=0415 leap_none, sync_uhf_radio, 1 event, clock_sync,
                        version="ntpd ntpsec-1.1.3 2019-11-18T06:04:00Z", processor="armv7l", system="Linux/5.4.72-v7l+", leap=00, stratum=1, precision=-20, rootdelay=0.0, rootdisp=100.12, refid=GPS, reftime=e37127b4.87c1698d 2020-12-01T20:36:04.530Z,
                        clock=e37127bc.a80fc6d1 2020-12-01T20:36:12.656Z, peer=52517, tc=6, mintc=0, offset=-0.392457, frequency=-12.429184, sys_jitter=1.986283, clk_jitter=2.402087, clk_wander=0.192477, tai=37, leapsec="2017-01-01T00:00Z",
                        expire="2021-06-28T00:00Z"
                             remote                                   refid      st t when poll reach   delay   offset   jitter
                        =====================================================================================================
                        oNMEA(0)                               .GPS.            0 l    8   64  373   0.0000  -0.3925   1.9863
                        +192.168.10.203                        .PPS.            1 u   30   64  377   0.1134   2.0148   0.2716
                         193.204.114.232                       .CTD.            1 u    -   64  375  31.0446   6.9845   0.8522
                         193.204.114.233                       .CTD.            1 u   30   64  377  32.4280   6.2898   0.5521
                         0.it.pool.ntp.org                     .POOL.          16 p    -  256    0   0.0000   0.0000   0.0010
                         1.it.pool.ntp.org                     .POOL.          16 p    -  256    0   0.0000   0.0000   0.0010
                        +212.45.144.88                         193.204.114.233  2 u   60   64  377  18.1799   1.5251   1.2220
                        +95.110.248.206                        193.204.114.233  2 u   14   64  377  29.5371   3.1092   0.6852
                        -162.159.200.123                       10.48.8.4        3 u   83  128  257  45.1323  -3.8529  11.8599
                        -80.211.178.99                         216.239.35.0     2 u   33  128  337  29.3981   3.7633  20.6043
                        

                        ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
                        Please do not use chat/PM to ask for help
                        we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
                        Don't forget to Upvote with the 👍 button for any post you find to be helpful.

                        1 Reply Last reply Reply Quote 0
                        • Q
                          q54e3w
                          last edited by q54e3w Dec 2, 2020, 4:45 AM Dec 1, 2020, 8:44 PM

                          How long has it been running? Give it 24 hours to find its groove.

                          1 Reply Last reply Reply Quote 0
                          • K
                            kiokoman LAYER 8
                            last edited by kiokoman Dec 1, 2020, 9:15 PM Dec 1, 2020, 9:14 PM

                            yeah i'm still playing with both.. you know start / restart / reconfigure / compare :)

                            ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
                            Please do not use chat/PM to ask for help
                            we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
                            Don't forget to Upvote with the 👍 button for any post you find to be helpful.

                            1 Reply Last reply Reply Quote 0
                            • Q
                              q54e3w
                              last edited by Dec 1, 2020, 10:05 PM

                              You really need to compare over a long time window, add both NTP sources to pfSense's NTP server, enable monitoring and you can observe long term trends under diagnostics.

                              pfSense.local.lan - Status: Monitoring 2020-12-01 14-05-08.png

                              1 Reply Last reply Reply Quote 0
                              • K
                                kiokoman LAYER 8
                                last edited by kiokoman Dec 5, 2020, 12:44 PM Dec 5, 2020, 12:44 PM

                                @johnpoz do you still have that uptronic running? it's basically the same one I have but from another vendor
                                would you mind sharing your ntp.conf?
                                i actually have this on my ntp.conf but compared to the adafruit is not that good

                                ublox config ->

                                server 127.127.20.0 mode 89 iburst prefer
                                fudge 127.127.20.0 flag1 0 flag3 0 time1 0.0 time2 0.048 refid GPS
                                
                                server 127.127.22.0
                                fudge 127.127.22.0 flag3 1 time2 0.0 refid PPS
                                

                                gps output

                                pi@raspberrypi3:~ $ cat /dev/gps0
                                $GNRMC,124146.00,A,4520.67417,N,01147.19928,E,0.138,,051220,,,A*6C
                                $GNZDA,124146.00,05,12,2020,00,00*7A
                                

                                ublox ->

                                *127.127.20.0    .GPS.            0 l   46   64  377    0.000    9.572   0.800
                                o127.127.22.0    .PPS.            0 l   45   64  377    0.000    4.465   0.339
                                

                                adafruit part of it.pool.ntp.org ->

                                oNMEA(0)                                 .GPS.            0 l    1   64  377   0.0000   0.0042   0.0199
                                

                                ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
                                Please do not use chat/PM to ask for help
                                we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
                                Don't forget to Upvote with the 👍 button for any post you find to be helpful.

                                johnpozJ 1 Reply Last reply Dec 5, 2020, 1:06 PM Reply Quote 0
                                • johnpozJ
                                  johnpoz LAYER 8 Global Moderator @kiokoman
                                  last edited by johnpoz Dec 5, 2020, 2:03 PM Dec 5, 2020, 1:06 PM

                                  what are you looking for exactly? I am running ntpsec

                                  Keep in mind the sat signal just meant to get you close - the thing that keeps your time the pps

                                  The signal from gps will almost never be the selected source..

                                  And unless you don't have internet to get you close via another ntp source the gps signal doesn't mean all that much...

                                  Your looking for a ntp server that time is stable and doesn't drift, that comes from the pps signal.

                                  I don't bother playing with the fudge factors trying to get the gps to be inline with other time sources with very little offset, because in the big picture it doesn't matter.

                                  But this does remind me that should prob update my ntpsec version.. Its a bit dated.. 1.2 came out back in oct.

                                  Here is what I used to setup mine when I switched to ntpsec
                                  https://www.ntpsec.org/white-papers/stratum-1-microserver-howto/

                                  edit: Well this turned into a bit more than just clockmaker --update ;) updating my pi to buster from stretch.. Lets hope it works ;) I didn't bother to take a backup.. And just doing a dist-upgrade.. Either be real simple - or will force me to do a clean install.. Seems openssl doesn't have package for tls 1.3 support in stretch.. It's always something, and the new version of ntpsec seems to want that to compile.

                                  An intelligent man is sometimes forced to be drunk to spend time with his fools
                                  If you get confused: Listen to the Music Play
                                  Please don't Chat/PM me for help, unless mod related
                                  SG-4860 24.11 | Lab VMs 2.8, 24.11

                                  K 1 Reply Last reply Dec 5, 2020, 2:18 PM Reply Quote 0
                                  • K
                                    kiokoman LAYER 8 @johnpoz
                                    last edited by kiokoman Dec 9, 2020, 3:20 PM Dec 5, 2020, 2:18 PM

                                    @johnpoz
                                    i was referring to the offset and jitter , it's much loweron the adafruit,
                                    the difference between the adafruit and the ublox is that the adafruit have the pps signal inside /dev/gps0 so i only need
                                    server 127.127.20.0
                                    and with flag1 1 I have gps+pps
                                    you see it because NMEA have the 'o' instead of only the '*'

                                    with the ublox instead i have to use /dev/gps0 and /dev/pps0 but it end up with larger offset/jitter and it drift up and down very mutch during the day compare to the adafruit, i will wait another 24h and i'll show you how the graph from the adafruit is linear but the ublox is not

                                    I'm not using gpsd / shm but direct driver, thanks for the link i will try that if i'm unable to achieve better results with my config

                                    ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
                                    Please do not use chat/PM to ask for help
                                    we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
                                    Don't forget to Upvote with the 👍 button for any post you find to be helpful.

                                    johnpozJ Q 2 Replies Last reply Dec 5, 2020, 2:37 PM Reply Quote 0
                                    • johnpozJ
                                      johnpoz LAYER 8 Global Moderator @kiokoman
                                      last edited by johnpoz Dec 5, 2020, 2:57 PM Dec 5, 2020, 2:37 PM

                                      Ok... So I just rebooted and updated mine to ntpsec 1.2 so current values a bit off..

                                      ntpq> version
                                      ntpsec-1.2.0+ 2020-12-05T14:15:31Z (git rev 9842b560f)
                                      

                                      But looking over the data for last 2 days so can see 5 min entries.. This looks pretty stable to me

                                      finetome.png

                                      Those are micro seconds.. Not miliseconds.. Max offset of 0.42 ms, or 0.00042 seconds..

                                      That clock jitter is pretty flat..

                                      edit: Question for you, your running min pi install right? Or did you install the gui on your pi?

                                      edit2: If your looking for some tuning advice check out
                                      https://gpsd.gitlab.io/gpsd/gpsd-time-service-howto.html#_performance_tuning

                                      An intelligent man is sometimes forced to be drunk to spend time with his fools
                                      If you get confused: Listen to the Music Play
                                      Please don't Chat/PM me for help, unless mod related
                                      SG-4860 24.11 | Lab VMs 2.8, 24.11

                                      K 1 Reply Last reply Dec 5, 2020, 4:15 PM Reply Quote 1
                                      • K
                                        kiokoman LAYER 8 @johnpoz
                                        last edited by Dec 5, 2020, 4:15 PM

                                        @johnpoz
                                        yes, i'm running min install without any gui / stripped services

                                        ̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
                                        Please do not use chat/PM to ask for help
                                        we must focus on silencing this @guest character. we must make up lies and alter the copyrights !
                                        Don't forget to Upvote with the 👍 button for any post you find to be helpful.

                                        johnpozJ 1 Reply Last reply Dec 5, 2020, 4:19 PM Reply Quote 0
                                        • johnpozJ
                                          johnpoz LAYER 8 Global Moderator @kiokoman
                                          last edited by johnpoz Dec 5, 2020, 4:35 PM Dec 5, 2020, 4:19 PM

                                          Lets see what your graphs look like after some time.. Its going to take a bit to stabilize.. How often are you polling your shm entries?

                                          If you were using ntpsec vs ntp you could just use the refclock entry in the ntp.conf to set an offset for your gps after you have determined what that is via say syncing with some very stable stratum 1 servers..

                                          With ntp you have to use the fudge servers to do a specific offset.. But that is not what effects jitter..

                                          I understand there is something to do with the different hats and if they are using edge or falling of the pps signal which could introduce offset, etc. And yeah I think jitter because of some bug... There was something I was reading about that - I believe it was in the link I provided about ntpsec setup.

                                          edit: Yup here it was
                                          https://www.ntpsec.org/white-papers/stratum-1-microserver-howto/#_edge_detection_issues_and_new_hats

                                          edit2: I just finished up playing with mine.. Have to check it in a few days.. But yeah mine is going to take a bit to fall back into rhythm.. I updated the distro, I updated ntpsec and couple of reboots in there, etc..

                                          So you can see mine is a bit crazy right now as well

                                          jitter.png

                                          edit3: If your going to run ntp server - you might want to add it to the pool.. For one you get an email if it gets too wacky or is not working.. So its a way to monitor how your ntp is performing.. As you can see mine is going to take a bit to get back into good running.. Check out the last entries compared to how well grouped the previous checks were..

                                          pool.png

                                          An intelligent man is sometimes forced to be drunk to spend time with his fools
                                          If you get confused: Listen to the Music Play
                                          Please don't Chat/PM me for help, unless mod related
                                          SG-4860 24.11 | Lab VMs 2.8, 24.11

                                          K 1 Reply Last reply Dec 5, 2020, 5:56 PM Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received