Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login
    Introducing Netgate Nexus: Multi-Instance Management at Your Fingertips.

    StarLink as source for NTP

    Scheduled Pinned Locked Moved General pfSense Questions
    175 Posts 15 Posters 37.4k Views 16 Watching
    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.
    • D Offline
      davehart @davehart
      last edited by

      @davehart said in StarLink as source for NTP:

      I can crank out a fixed x64 binary with that info and post it.

      https://www.davehart.net/ntp/test/ntp-stable-dlh-260328.tar.gz is a private test release of mine which includes the bug 3877 fix for rejecting responses with a zero ppoll in the packet.

      The issue with the empty refid is a display issue in ntpq. That has not yet been fixed. So this will allow the Starlink to be used as a NTP source, but the column-shifting may still appear.

      1 Reply Last reply Reply Quote 0
      • D Offline
        davehart @davehart
        last edited by

        @davehart said in StarLink as source for NTP:

        @cmcdonald said in StarLink as source for NTP:

        pfSense expects refid to not be empty, so it ends up shifting all other columns over.

        Is there ever a legit condition where refid is indeed empty?

        ntpd displays text refids bracketed by periods. It seems reasonable to do that for refids with only unprintable/invisible characters. Stratum 1 sources have text refids like .GPS.

        Feel free to file a bug report at https://bugs.ntp.org/

        It's actually ntpq which brackets text refids with periods. Refids are always 32 bits, either up to 4 characters or a dotted-quad a la IPv4. However, an empty refid is displayed as an empty string. To give screen-scrapers a better chance, ".." would be preferable.

        I've filed https://bugs.ntp.org/4019 to track that change. For those interested, there are two lines in doprintpeers under the line:

        	} else if (!strcmp("refid", name)) {
        

        to update from:

        				dstadr_refid = "";
        

        to:

        				dstadr_refid = "..";
        
        R 1 Reply Last reply Reply Quote 2
        • R Offline
          Ramosel @davehart
          last edited by

          @davehart Thanks for keep us current on this.

          Rick

          1 Reply Last reply Reply Quote 0
          • dennypageD Offline
            dennypage
            last edited by

            For those of you interested, I've created a Chrony package for pfSense.

            1 Reply Last reply Reply Quote 2
            • M Offline
              me21
              last edited by me21

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • M Offline
                me21
                last edited by me21

                The NTPd behaviour seems to be caused by this bug and seems to be included in a future version:
                https://bugs.ntp.org/show_bug.cgi?id=3870

                1 Reply Last reply Reply Quote 2
                • GertjanG Offline
                  Gertjan
                  last edited by Gertjan

                  I'm looking at this thread for a couple of months now.
                  I'm not a Starlink user myself, so I don't know much about them.

                  Not this morning.

                  StarLink as source for NTP

                  By definition, a starlink 'disk' points to the open sky.
                  So, it should be able / must 'see' many satellites ... 😊
                  For me, that means is also sees GPS satellites.

                  Knowing that every two digit dollar hand hold device has a GPS receiver built in today, I asked myself : why doesn't the starlink disk include a sub one dollar GPS receiver chip ??
                  It would make the starlink disk a stratum 2 (1 ?) GSP device right out of the box - no more NTP traffic needed.
                  Afaik, these starlink satellites all have an atomic clock(or comparable) build in, needed for their exact positing and all that, so that would be a second totally free source of time.

                  Anyway, that's how I see the title "StarLink as source for NTP".
                  It could be "Starlink == real time" thus a very accurate time source.

                  edit : this thread is pretty long. Maybe this was already suggested.

                  No "help me" PM's please. Use the forum, the community will thank you.

                  M dennypageD R 3 Replies Last reply Reply Quote 0
                  • M Offline
                    Mission-Ghost @Gertjan
                    last edited by

                    @Gertjan Starlink dishes do have gps receivers in them, and they do serve GPS time to the network.

                    The issue is the NTP client in pfsense doesn’t work properly to read that time. Chronyd does work but it’s an unsupported add-on at this point. I’m getting my network time from my Starlink dish gps receiver right now and it’s very accurate as expected.

                    1 Reply Last reply Reply Quote 1
                    • dennypageD Offline
                      dennypage @Gertjan
                      last edited by

                      @Gertjan The StarLink receiver being a stratum 1 NTP time server is in the first post of the thread.

                      1 Reply Last reply Reply Quote 1
                      • R Offline
                        Ramosel @Gertjan
                        last edited by

                        @Gertjan

                        The Starlink dish itself a Stratum 1 time source. But it's operating in "the new world of GPS time" and pfSense is yet to catch up. I'm sure they will. The gent from NTP posted the issue if you read enough of this thread.

                        Here is the output when using the local dish through the Galleon utility.

                        84169ab8-1feb-4b52-a4fc-f051ee34c9f4-Galleon10-03-2026.jpg

                        dennypageD 1 Reply Last reply Reply Quote 0
                        • dennypageD Offline
                          dennypage @Ramosel
                          last edited by

                          @Ramosel said in StarLink as source for NTP:

                          operating in "the new world of GPS time"

                          I believe the ntpd issue has to do with nuances of newer versions of the NTP protocol rather than GPS.

                          FWIW, the Galleon test app looks to be pretty broken. A precision of 2.26156424291633E+74 is clearly wrong.

                          If you are running chrony, you can ask it directly what the advertised precision of a source is. Try chronyc ntpdata 192.168.100.1 and look for Precision. I would expect to see something in the range of -14 (61us) to -24 (61ns).

                          johnpozJ M R 3 Replies Last reply Reply Quote 1
                          • johnpozJ Online
                            johnpoz LAYER 8 Global Moderator @dennypage
                            last edited by

                            @dennypage mine is

                            Precision : -25 (0.000000030 seconds)

                            Well shoot clearly my clocks are going to be way out ;)

                            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 26.07 | Lab VMs 2.9.0, 26.07

                            dennypageD 1 Reply Last reply Reply Quote 2
                            • M Offline
                              Mission-Ghost @dennypage
                              last edited by

                              @dennypage

                              Not that amazing here; from my Starlink I get, via chronyc ntpdata using the command page on pfSense:

                              Precision       : -9 (0.001953125 seconds)
                              

                              Interesting. I wonder why it's so different that what you expect or what Johnpoz reported.

                              dennypageD 1 Reply Last reply Reply Quote 0
                              • dennypageD Offline
                                dennypage @johnpoz
                                last edited by

                                @johnpoz said in StarLink as source for NTP:

                                Precision : -25 (0.000000030 seconds)

                                Interesting -- what is the source?

                                Some people (companies) use -25 and justify it because the GNSS chip they are using says <= 30ns. However, the precision statement should be about the entire system rather than just the GNSS. To really be -25, you really need to have <= 20ns on the GNSS chip itself, and a very deterministic microcode implementation or high resolution hardware timestamping on each step of the process.

                                I have a few real -24s and -25s, and one -26. I'd really like to have a -27, but am not sure I'll get there. I have a reference timing chip that is reliable <= 5ns, but don't have the hardware to put with it. Sad, sad, sad. 🙄

                                johnpozJ 1 Reply Last reply Reply Quote 0
                                • dennypageD Offline
                                  dennypage @Mission-Ghost
                                  last edited by

                                  @Mission-Ghost said in StarLink as source for NTP:

                                  @dennypage
                                  Not that amazing here; from my Starlink I get, via chronyc ntpdata using the command page on pfSense:

                                  Precision       : -9 (0.001953125 seconds)
                                  

                                  Interesting. I wonder why it's so different that what you expect or what Johnpoz reported.

                                  To me that indicates unexpected honesty on the part of StarLink. Based on the number I'm guessing that they are using their carrier signal to communicate time rather than some form of embedded GNSS.

                                  And to be honest, I expect 2ms is sufficient for 99% of home users.

                                  chpalmerC M 2 Replies Last reply Reply Quote 0
                                  • chpalmerC Offline
                                    chpalmer @dennypage
                                    last edited by chpalmer

                                    @dennypage said in StarLink as source for NTP:

                                    And to be honest, I expect 2ms is sufficient for 99% of home users.

                                    LOL.. most home user oven clocks are >5 minutes off.. 😝

                                    Triggering snowflakes one by one..
                                    Primary- Intel(R) Pentium(R) CPU G4400 @ 3.30GHz on an M470 WG box. pfSense CE 2.8.1
                                    Lab Unit- Intel(R) Core(TM) i5-4590T CPU @ 2.00GHz on an M400 WG box. pfSense+

                                    1 Reply Last reply Reply Quote 0
                                    • stephenw10S Offline
                                      stephenw10 Netgate Administrator
                                      last edited by

                                      If they included ntp in the oven you wouldn't have these issues. Accuracy baked in. 😉

                                      dennypageD 1 Reply Last reply Reply Quote 3
                                      • M Offline
                                        Mission-Ghost @dennypage
                                        last edited by Mission-Ghost

                                        @dennypage the Starlink device knows where it is using GPS as the default locating technology, but there is a configuration item to use its own positioning system instead. I've always used the default GPS. It's NTP server reports it as stratum 1. Here's the rest of my pfSense's chronyc ntpdata from Starlink's (Gen 3 dish):

                                        Remote address  : 192.168.100.1 (C0A86401)
                                        Remote port     : 123
                                        Local address   : 100.[redacted]
                                        Leap status     : Normal
                                        Version         : 4
                                        Mode            : Server
                                        Stratum         : 1
                                        Poll interval   : 0 (1 seconds)
                                        Precision       : -9 (0.001953125 seconds)
                                        Root delay      : 0.000000 seconds
                                        Root dispersion : 0.000000 seconds
                                        Reference ID    : 00000000 ()
                                        Reference time  : Sat Oct 03 22:35:19 2026
                                        Offset          : -0.000059627 seconds
                                        Peer delay      : 0.001953174 seconds
                                        Peer dispersion : 0.001953174 seconds
                                        Response time   : 0.000061035 seconds
                                        Jitter asymmetry: -0.50
                                        NTP tests       : 111 111 1111
                                        Interleaved     : No
                                        Authenticated   : No
                                        TX timestamping : Daemon
                                        RX timestamping : Kernel
                                        Total TX        : 1735
                                        Total RX        : 1735
                                        Total valid RX  : 1735
                                        Total good RX   : 1546
                                        Total kernel TX : 0
                                        Total kernel RX : 1735
                                        Total HW TX     : 0
                                        Total HW RX     : 0
                                        

                                        Starlink used to furnish access to the GPS location data, but they shut that feature down for reasons.

                                        I'm not a time wonk like johnpoz or Jeff Geerling, but accurate time is fascinating and the Starlink GPS clock is good enough for my network.

                                        dennypageD 1 Reply Last reply Reply Quote 0
                                        • johnpozJ Online
                                          johnpoz LAYER 8 Global Moderator @dennypage
                                          last edited by

                                          @dennypage said in StarLink as source for NTP:

                                          Interesting -- what is the source?

                                          oh my bad that was my ntp server reporting on one of the ntp servers I use as alternate source to pps

                                          When I look on one of my clients I get what my ntp server 192.168.3.32 reports

                                          Remote address  : 192.168.3.32 (C0A80320)
                                          Remote port     : 123
                                          Local address   : 192.168.3.10 (C0A8030A)
                                          Leap status     : Normal
                                          Version         : 4
                                          Mode            : Server
                                          Stratum         : 1
                                          Poll interval   : 8 (256 seconds)
                                          Precision       : -24 (0.000000060 seconds)
                                          Root delay      : 0.000015 seconds
                                          Root dispersion : 0.000015 seconds
                                          Reference ID    : 50505300 (PPS)
                                          Reference time  : Sat Oct 03 22:56:58 2026
                                          Offset          : +0.000042164 seconds
                                          Peer delay      : 0.000732688 seconds
                                          Peer dispersion : 0.000000112 seconds
                                          Response time   : 0.000168404 seconds
                                          Jitter asymmetry: +0.00
                                          NTP tests       : 111 111 1111
                                          Interleaved     : No
                                          Authenticated   : No
                                          TX timestamping : Kernel
                                          RX timestamping : Kernel
                                          Total TX        : 2121
                                          Total RX        : 2121
                                          Total valid RX  : 2121
                                          Total good RX   : 2121
                                          root@pihole:/home/pi# 
                                          

                                          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 26.07 | Lab VMs 2.9.0, 26.07

                                          1 Reply Last reply Reply Quote 1
                                          • R Offline
                                            Ramosel @dennypage
                                            last edited by

                                            @dennypage said in StarLink as source for NTP:

                                            I believe the ntpd issue has to do with nuances of newer versions of the NTP protocol rather than GPS.

                                            FWIW, the Galleon test app looks to be pretty broken. A precision of 2.26156424291633E+74 is clearly wrong.

                                            Absolutely. Galleon is just an easy utility to check GPS function... it's old and there is probably an update I just haven't gone looking for. It was posted for function and NOT usability.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2026 Rubicon Communications LLC (Netgate). All rights reserved.
                                            Privacy Policy · Cookie Policy