Time server goofing
It’s been some time since I built a stratum-1 NTP server, and it’s mostly been chugging away. Not included in that entry is that I went back to Linux + Chrony due to NanoBSD support going away. I replaced the SD card with a mini-PCIe SSD, but never got around to putting FreeBSD back on it.
Yesterday, I elected to build another serial cable (as I’m unable to find mine) and have another go at it. But try as I might, I simply could not get FreeBSD’s install media (14.3 or 15) to show anything other than the bootloader and kernel log on the serial port, leaving me unable to proceed. I’m not sure what I’m doing wrong there, but anyway.
I figured as I had it all apart any way, I might as well try fix the location stuff (it was set to position hold mode on the other side of the garage, so my error rates would in theory be higher than they should be), and that made me realize that I hadn’t written down how to connect u-blox’s u-center to the card without removing it from the APU.
It’s actually really easy, all you need is socat on the machine with the GPS card in it. Stop gpsd or ntpd or whatever might be hogging the serial port, and then redirect it to a TCP port using socat:
socat FILE:/dev/ttyACM0,b115200,raw TCP-LISTEN:9600,fork,reuseaddr
On u-center, create a new connection using TCP to the IP of your timeserver and your chosen port (not sure why I’m using 9600 here). You may also need to pay attention to the baud rate, mine is set to 115200 but yours may be 9600 instead.
It should light right up and let you alter all the configuration and whatnot, so while I’m in there what the fuck else can I break?
A while back a friend mentioned that Australia’s (well, and New Zealand) SouthPAN came online a few years back and that it’s possible to tell some older u-blox stuff to use it. Apparently (I do not know near enough about any of this) the process is:
- You need to enable SBAS if it’s not already (there’s a section in the configuration view).
- You need to tell SBAS module that it can use message 0 (test mode), because SouthPAN is not properly online yet so they send test mode messages instead so that nothing important actually uses it without opting in.
- The PRN for SouthPAN is 122. You may have other PRNs set (I sure did, mine defaulted to
120, 122, 124, 126-127, 129, 131, 134-135, 137-138), but apparently this might cause the receiver to lock onto the wrong PRN so I just removed all those and left 122 and 124 in (124 is apparently reserved for future use). - Apparently the spheroid datum is wrong, the default is WGS84 which will be slightly incorrect and Australia has their own standard, GDA2020 which has slightly different measurements. My receiver does not include GDA2020, so I set it to
USERand plugged the numbers I could find in myself, but I’m not entirely convinced I’ve done it correctly because again I have to stress I have no fucken clue what I’m doing here.
Anyway, I did all this and… nothing. It doesn’t appear to have done anything. Looking at the constellation view, I see SB122 listed but 0 signal. I then looked up where it is in the sky, and apparently from my point of view it’s to the east and rather low in the sky - that would make sense as my antenna basically only has a view of the western sky.
Also in talking to Avi, my receiver probably wouldn’t know what to do with an SBAS that was made in 2020 when it was EOL in about 2013 anyway…
While in the process of trying to get the antenna to see it, I managed to break the SMA connector. A bit of solder and some heat shrink appears to have gotten me out of the woods, but it’s become clear I really need an external antenna at some point (which means an active antenna - not cheap - and a lightning arrester with someone competent to install it, which is probably also not cheap).
But it’s working, and even after I set much more pessimistic survey-in parameters (1 hour at 25M, instead of 30 minutes at 50M) this morning it was happily back in position hold mode and the error margin is comfortably in the nanoseconds range, more than precise enough for my needs.
I’m fairly sure that basically all my error margin comes from a combination of the chipset of the aging APU1D4, and the fact that I only have a view of the western sky, but the satellites in the east are probably still being seen, weakly, by reflections off the colourbond fence on the western side of our yard.
That’s my guess anyway.
Update: 2026-01-01: Unable to leave well enough alone, I moved the APU as close to the window as I could, which let me put the antenna puck almost at the top of the ladder, stuck to a piece of metal on an alloy ladder. The result? It picked up the SouthPAN satellite, and claimed a DGNSS fix. Accuracy doesn’t appear to be any better, but apparently that’s because I did not wait long enough. I am thinking that I’ll buy an exterior antenna at some point in the near future though.
