I difficulty with gpsd and pps and I found that I had to compile gpsd
without pps support. I also had to build chrony *with *pps support which
I'm assuming you already did. Below are my gpsd notes from when I did this
a couple years ago. Hopefully it's still relatively current. Apologies if
some steps are obvious to you. I wrote the instructions so they could be
followed by someone with limited knowledge of BBB, Linux, Chrony, etc (this
includes myself especially since my memory is not so good). The
instructions are also specific to the way I set my BBB up (Serial GPS data
on ttyS4) so please keep that in mind. Hope this helps. I'm now happier
that I took some decent notes on this so that I can help someone from this
group since all of the folks here were so incredibly helpful when I was
bumbling my way through.

*Build gpsd Instructions*

The built-in gpsd package (gotten using apt-get install) for BBB has PPS
support compiled in. This causes issues because gpsd creates a PPS device
for /dev/ttyS4 (serial port where GPS data is coming in). We don’t want
that PPS device. Before you build all this make sure to stop the gpsd
service using:

sudo systemctl stop gpsd

Get the latest source package from

sudo apt-get install scons

sudo apt-get install chrpath

Refer to the build.txt file in the source directory for details on build
options and whatnot. You can also look at SConstruct file to get more

scons prefix=/usr pps=no

scons testregress

sudo scons uninstall

sudo scons udev-install

sudo scons install (Not sure this is even necessary)

Then restart gpsd using sudo systemctl start gpsd

On Wed, Mar 25, 2020 at 5:53 PM Dave Hajoglou <dhajog...@gmail.com> wrote:

> My scenario: I have a beablebone black with a GPS module. I can get some
> stability but I need some guidance on cleaning up my config/design. One
> behavior that I'm seeing is that gpsd is creating /dev/pps0 though it
> appears unusable.  ppstest returns time_pps_fetch() error -1 (Connection
> timed out). I configured the device tree to pickup pps off of the GPIO
> and that does work though I get the clear 0, seq 0, which another post
> highlighted as a kernel bug (source 0 - assert 1585167111.891016501,
> sequence: 19101 - clear  0.000000000, sequence: 0).
> Never the less, this configuration does work though it's not as stable as
> I'd like as.  I get the "Can't synchronise: no majority" error from time
> to time. chrony indicates "time in error", then after a bit it
> reestablishes. It's worth noting that this solution is for off-grid use and
> will never be able to see network time as a source.
> My questions are:
> Can I improve my configuration settings?
> Since I'm technically offline is there any option for a third time source
> (an earlier thread noted this can resolve the no majority issue). Would an
> external RTC help?
> Config file:
> keyfile /etc/chrony/chrony.keys
> driftfile /var/lib/chrony/chrony.drift
> logdir /var/log/chrony
> log statistics tracking refclocks tempcomp
> maxupdateskew 100.0
> rtconutc
> makestep 1 -1
> refclock SHM 0 refid GPS precision 1e-1
> refclock PPS /dev/pps1 lock NEMA
> Thanks
> -hojo

Reply via email to