Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jul 2018 17:20:13 +0200
From:      Per olof Ljungmark <peo@nethead.se>
To:        Ian Lepore <ian@freebsd.org>, David Cornejo <dave@dogwood.com>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: rpi3 and Adafruit GPS Hat
Message-ID:  <fa3a6cb6-d73e-1b7f-e470-e9c88e3ea6ee@nethead.se>
In-Reply-To: <1532357176.1344.130.camel@freebsd.org>
References:  <47f49a55-66b0-1c02-4530-4701a3bd0c43@nethead.se> <20180718170157.GA40221@night.db.net> <ba31ee27-1d17-8616-96b2-b982268f0dc2@nethead.se> <CAFnjQbt395y4xyHEp52GAHW9X9bHvdCAT9q-gKA2--RvQvqTtA@mail.gmail.com> <7a14173c-cc28-6dc7-3787-a5b77a396b30@nethead.se> <1532357176.1344.130.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 07/23/18 16:46, Ian Lepore wrote:
> On Mon, 2018-07-23 at 11:40 +0200, Per olof Ljungmark wrote:
>> On 07/23/18 10:46, David Cornejo wrote:
>>>
>>> this might be a little blasphemous, but for grins I tried an Oncore with
>>> PPS to a GPIO and running the serial through a TTL-USB serial cable and
>>> that seems to work ok.
>>>
>>> there's probably some good reason that this is a bad idea.
>> Depends on what precision you are after, but for lowest possible jitter
>> you need to use the uart, the difference is in magnitudes.
>>
> 
> Technically that may be correct, but it's meaningless. On a usb 1.x
> adapter there may be ~500us of jitter from one measurement to the next.
> On a usb 2.x adapter the jitter drops to typically ~60us. Those values
> are pretty much in the noise for ntpd, which uses a median filter to
> smooth any serious jitter out of the measurements.
> 
> Here are some real-world measurements. The pps source for all 3 inputs
> is the same gps-disciplined rubidium oscillator, so all the jitter is
> within the uart, usb hardware, and freebsd drivers. The usb adapters
> are both FTDI chips, which have a fixed latency on reporting a change
> on the DCD pin (pin-change status messages are only delivered once a
> millisecond on ftdi chips).
> 
>      remote      refid   st t when poll reach   delay   offset  jitter
> ======================================================================
> xPPS(0)          .uart.   0 l    6   16  377    0.000    1.097   0.001
> xPPS(1)          .usb1.   0 l    4   16  377    0.000   -0.051   0.773
> oPPS(2)          .usb2.   0 l    4   16  377    0.000   -0.001   0.035
> *dvb.hippie.lan  .GPS.    1 u   12   64  377    1.234    1.296   2.707
> +utcnist2.colora .NIST.   1 u    1   64  377   13.605    3.940   2.729
> 
> You can see in this case ntpd actually chose the usb2 pps input as the
> system peer. It did so because at startup the clock offset was closer
> than the uart, and the difference in jitter between the two wasn't
> significant, so the ntpd code that prevents clock-hopping chose to
> stick with the peer with the smaller offset.
> 

Yes, I was technically correct but of course you are right too -
however, the main problem is not the jitter but rather that I am unable
to switch off the serial console and stop the u-boot loader from
receiving NMEA data. The Adafruit GPS Hat is made to sit right on the Pi
40-pin header, as you probably know.

To quote one of the posters in the thread I linked to:
"... I am seriously baffled by how difficult (nearly impossible) it had
been to get rid of the serial console..."

Unfortunately I am not fluid enough to figure out where to make the
changes, the advices I've seen so far is not applicable to 12-CURRENT in
an easy way.

And that is also why I wrote bugreport 229976. It may be that all the
folks involved with FreeBSD/ARM are serious developers so they do not
see it as a problem but for me it is, being more on the
application/administration side of things.

Thanks,

//per

>>>
>>> On Sun, Jul 22, 2018 at 9:09 PM Per olof Ljungmark <peo@nethead.se
>>> <mailto:peo@nethead.se>> wrote:
>>>
>>>     On 07/18/18 19:01, Diane Bruce wrote:
>>>     > On Wed, Jul 18, 2018 at 05:10:16PM +0200, Per olof Ljungmark
>>> wrote:
>>>     >> Being a complete newbie to arm I thought a nice project
>>> would be to
>>>     >> build a NTP server with the parts in the subject line.
>>>     >>
>>>     >> Unfortunately I have almost no idea where to start, it seems
>>>     FreeBSD for
>>>     >> arm have shifted around quite a bit, almost none of the
>>> googled
>>>     pages I
>>>     >> find has relevance, and to add insult to injury, the Pi
>>> project
>>>     >> apparently shifted the serial ports around for the Pi3.
>>>     >>
>>>     >> What I need to achieve,
>>>     >>
>>>     >> - Stop the kernel to use the uart for console output (I have
>>> ethernet
>>>     >> and HDMI connected)
>>>     >
>>>     > No need.
>>>     >
>>>     > change your config.txt
>>>     >
>>>     > #dtoverlay=pi3-disable-bt
>>>     > device_tree_address=0x4000
>>>     > kernel=u-boot.bin
>>>     > enable_uart=1
>>>     >
>>>     > This moves the console port to the less capable micro uart
>>> port
>>>     > this will free up the good uart (the pl011 device) as
>>> /dev/ttyu0
>>>     >
>>>     > Remove the pi3-disable-dt in config.txt
>>>     > enable_uart=1 is needed.
>>>     >
>>>     >> VERY grateful if someone that knows better can give me a
>>> push in the
>>>     >> right direction for up to date information.
>>>     > ..
>>>     >
>>>     > This is assuming you use FreeBSD-12 (Head of tree)
>>>     >
>>>
>>>     Yes, 12.0-CURRENT #2 r336461.
>>>
>>>     Unfortunately your advice did not solve the problem, when the
>>> hat is
>>>     attached it sends NMEA sequences to the u-boot loader making it
>>>     impossible to boot further, just like it is described in this
>>> thread:
>>>
>>>     http://freebsd.1045724.x6.nabble.com/Adding-a-GPS-Module-hat-sh
>>> ield-on-a-Raspberry-Pi-td6236680.html
>>>
>>>
>>>     _______________________________________________
>>>     freebsd-arm@freebsd.org <mailto:freebsd-arm@freebsd.org>
>>> mailing list
>>>     https://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>>     To unsubscribe, send any mail to
>>>     "freebsd-arm-unsubscribe@freebsd.org
>>>     <mailto:freebsd-arm-unsubscribe@freebsd.org>"
>>>
>>>
>>>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?fa3a6cb6-d73e-1b7f-e470-e9c88e3ea6ee>