SG-2340/MBT-4220 GPS-Lure Stratum-1 NTP clock under pfSense?



  • When I bought my SG-2340/MBT-4220 I ordered a GPS Lure ( https://store.netgate.com/Lures/GPS.aspx ) along with it.
    Hardware installation obviously is a breeze.

    What I didn't pay attention to, is the fact that the software installation instructions ( https://docs.netgate.com/platforms/minnowboard/lures/gps-lure/manual-install.html ) say:

    "...OS: If not already installed, install a linux distribution onto the MB..."

    Does this imply that under FreeBSD/pfSense that device can't be accessed? That would be a pity :(
    It would be particularly useful to have a decent time server on a pfSense system...


  • LAYER 8 Global Moderator

    Yeah that would be a pity... But it should work under freebsd just fine as long drivers and such are there.. Which maybe not?... Not sure why they wouldn't list instructions for installing under pfsense..

    I have to assume pretty much anyone buying the board from netgate site is going to be using pfsense on the thing ;)

    Was it presented as an option when buying, or did you find it on your own in the store? If pfsense can not directly run it - it could use it as source on your local network, when its running ubuntu... You would just need 2 of them...

    If can not run on pfsense/freebsd - they should prob put a *note to that effect..

    Lets see if we can get someone that for sure could find out for us @chrismacmahon


  • Netgate Administrator

    I seem to recall it would not work under FreeBSD/pfSense because there is no driver for the PPS input on the GPIO.

    I would expect the GPS to work as that is connected over serial but that's of limited value with no PPS signal, for NTP at least. Still better than no NTP if you lose WAN perhaps.

    Let me see if I can get more details....

    Steve



  • Thanks for looking into this, I really appreciate the effort!



  • I wonder how difficult it would be to adapt this:

    https://github.com/BobBallance/freebsd-gpio-pps from RasPi to Minnowboard.


  • Netgate Administrator

    Sorry, I meant to reply here. I did recall correctly, there is no driver so no PPS and hence we don't have any docs for it.

    It may not be hard to adapt at all, that driver looks fairly promising.

    Steve



  • @stephenw10
    I figured something like that. Unfortunately, I have close to zero experience writing device drivers (what what little I have was ages ago on a different platform).

    Is there anyone outside the pfSense community doing any FreeBSD on these boards?

    As far as using the GPS for getting time without PPS: is there anywhere any information on how to configure the serial GPS settings for that?

    ( https://..../services_ntpd_gps.php )

    It seems there are options for MediaTek (which is what I understand is used on the board), and flags that allow for disabling PPS processing. But as for the rest of what's there, I have no idea what the module would require.


  • Netgate Administrator

    Hmm, I used the generic type with a USB connected GPS previously.

    Do you see the com port? You can probably just try connecting to it using cu and some baud rates etc. You should see it spitting NMEA.

    Steve





  • Depending on what your time is worth (no pun intended), this $300 standalone unit with external antenna has worked well for me for years.

    GPS NTP Network Time Server (TM1000A)
    https://timemachinescorp.com/product/gps-time-server-tm1000a/


  • LAYER 8 Global Moderator

    Yup you could go that route for sure... Or for like less than a $100 total and a few minutes time you could setup a pi with a hat and run that as stratum 1.. I have one on my home network, that serves to the pool and my local network for like couple of years now.



  • Thanks for the various alternative proposals.

    Having a stratum-1 NTP clock isn't that important for my purposes, that I what the hassle of once more device that can break, requires an outlet, etc.

    It would just be "cute" to have one, given that the device I use as firewall/router/VPN box would be able to provide one, given proper drivers.

    So it's more about using a device to its fullest, than having a hardcore need for a stratum-1 clock.


  • LAYER 8 Global Moderator

    Hear yah - they really should put a disclaimer that currently does not work on pfsense/freebsd..Until such time that there is driver that allows it to, etc.


  • Netgate Administrator

    I agree, I'll try to get something added.

    Steve


  • LAYER 8 Global Moderator

    I would assume most people buying off the hardware off netgate store prob wanting to use it as their pfsense box ;) So yeah before some actually bitches should prob put disclaimers on any add on sort of hardware that isn't currently easy to get working, without like writing your own driver ;) hehehe



  • Well, on the freeBSD forum (see above links), someone said there's already a working GPIO driver for the board, so all that's missing is the PPS aspect.

    I'm trying to see if I can get more information on that. Maybe sending that person who wrote the GPIO driver for the board a GPS module might be an incentive for him to write the PPS driver.

    That would be a win-win for everyone...



  • Any chance someone knows how the config should look like to simply get the GPS to provide time, i.e. without the PPS?

    I always get that, when I look in the NTP status:

    May 18 23:18:46	ntpd	34463	kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
    May 18 23:18:46	ntpd	34463	kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
    May 18 23:18:46	ntpd	34463	GPS_NMEA(0) serial /dev/gps0 open at 9600 bps
    

    And that with an external GPS antenna, in a location where my phone has no trouble picking up a GPS signal.
    So I assume it's not actually the clock/GPS not being synced up, but the settings being wrong.

    Under NTP "Serial GPS", I have the following:

    GPS Type: MediaTek
    Serial Port: cuau0, 9600 baud
    NMEA Sentences: ZDA or ZDG
    Flags: Prefer this clock, Display extended GPS status
    GPS Initialization:

    $PMTK225,02B
    $PMTK314,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0
    28
    $PMTK301,22E
    $PMTK320,0
    2F
    $PMTK330,02E
    $PMTK386,0
    23
    $PMTK397,023
    $PMTK251,9600
    17

    So far no dice....


  • Netgate Administrator

    Are you seeing useful any useful output from the device at 9600? The one I had ran at a lower board rate, 2400 I think.

    ntpd won't sync to what it sees as a bad clock source but you should still see it showing a time value in the ntp status.

    Steve


  • Netgate Administrator

    Mmm, OK the docs indicate 9600 but also to use serial port 4... do you see more than one serial port?



  • @stephenw10

    I tried to use cu to check any device output, but I did't get any, but seeing that least I dealt with serial ports was back when kermit was still under active development, that doesn't mean much, I may just have invoked cu the wrong way.

    I picked 9600, because that's what the Linux setup showed. The standard MediaTek setup is 4800 (if selected on the pop-up), tried that, too, but no change. Also, I updated the init strings to 9600 baud, because they showed 4800, even after increasing the rate to 9600.

    I know about the port number, but cuau0 is the only device showing. Since pfSense supports the serial console, and since that supposedly uses the same pins as the ones to which the GPS lure is attached to (and not regular USB-to-serial), I figure that is the proper device.

    If there's a way to use different serial interfaces, I haven't found it.


Log in to reply