Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Jul 2018 11:37:56 -0400
From:      Ralph Smith <ralph@ralphsmith.org>
To:        Ian Lepore <ian@freebsd.org>
Cc:        Per olof Ljungmark <peo@nethead.se>, David Cornejo <dave@dogwood.com>, freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: rpi3 and Adafruit GPS Hat
Message-ID:  <002D469F-26E0-492A-BEB7-8A61A56ECABF@ralphsmith.org>
In-Reply-To: <1532359478.1344.142.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> <fa3a6cb6-d73e-1b7f-e470-e9c88e3ea6ee@nethead.se> <1532359478.1344.142.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help


Sent from my iPhone

> On Jul 23, 2018, at 11:24 AM, Ian Lepore <ian@freebsd.org> wrote:
>=20
>> On Mon, 2018-07-23 at 17:20 +0200, Per olof Ljungmark wrote:
>>> On 07/23/18 16:46, Ian Lepore wrote:
>>>=20
>>>> On Mon, 2018-07-23 at 11:40 +0200, Per olof Ljungmark wrote:
>>>>=20
>>>>> On 07/23/18 10:46, David Cornejo wrote:
>>>>>=20
>>>>>=20
>>>>> this might be a little blasphemous, but for grins I tried an Oncore wi=
th
>>>>> PPS to a GPIO and running the serial through a TTL-USB serial cable an=
d
>>>>> that seems to work ok.
>>>>>=20
>>>>> 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.
>>>>=20
>>> 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.
>>>=20
>>> 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).
>>>=20
>>>      remote      refid   st t when poll reach   delay   offset  jitter
>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>>> 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
>>>=20
>>> 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.
>>>=20
>> 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.
>>=20
>> 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..."
>>=20
>> 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.
>>=20
>> 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.
>>=20
>> Thanks,
>>=20
>> //per
>>=20
>=20
> Unfortunately, I can't help with the rpi part of this, since it's
> related to the firmware and uboot, and that part of the rpi world has
> changed drastically since I was involved with it years ago. I know you
> can build a custom uboot that disables serial console support
> completely, but I don't know if there's a way to achieve that with the
> stock uboot.

Not using the stock uboot, you will need to modify it. I have this working o=
n 12-CURRENT for the Pi 2, I haven=E2=80=99t tried it on the Pi 3. I documen=
ted how I modified u-boot for 11-STABLE in https://docs.freebsd.org/cgi/getm=
sg.cgi?fetch=3D188164+0+archive/2018/freebsd-arm/20180204.freebsd-arm, this s=
hould apply to the current u-boot port as well. You will also meet to modify=
 the DTB so the system doesn=E2=80=99t send console output to the uart as we=
ll.=20

Ralph=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?002D469F-26E0-492A-BEB7-8A61A56ECABF>