gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gpsd-dev] Now that the smoke is clearing


From: Eric S. Raymond
Subject: [gpsd-dev] Now that the smoke is clearing
Date: Thu, 31 Oct 2013 15:01:16 -0400 (EDT)

This is a summary of where we are on the pre-3.10 issues.

It's also a request for help. I have a tendency to do most things on
this project myself because that's usually the fastest way to get
things done, but I have too much on my plate now.  Some more willing
hands would be useful.

1. The carnivorous config bug I described in previous mail needs to be
   attacked.  A good project for somebody who knows Python but not
   GPSD internals.

2. Gary reports that there's still a race between KPPS initialization
   of PPS watcher threads for command-line devices and privilege
   dropping in the main program.

3. The end-of-hunt guard at lingpsd_core.c:1234 needs to be fixed so it
   both doesn't choke on a SiRF-III and works on TCP/IP messages with 
   write boundaries in the middle of packets.  Ouch...and just today
   Gary says SiRF-III is failing completely.

4. Michael Tatarinov says shmexport is broken. Quoting from IRC:

        first, gpxlogger used method "socket" always because
        gpsd_source_spec() resets  source.server/source.port. it's easy to
        fix.

        second, after gpxlogger fixed. gpxlogger eats 100% cpu and doesn't get
        any data

   This might have been broken for quite a while. Nobody seems to use 
   shmexport for production.

5. The endianness check in SConstruct (which only affects the RTCM2
   driver) might break cross-compilation, because it checks the host
   system rather than the cross-compilation target.  This needs to be
   fixed.  The code before 'Replace a non-portable endianness check."
   on 26 Oct checked vis the target compiler, but it had portability
   problems because it included the non-POSIX header <endian.h>; this
   broke on *BSD systems where it's <sys/endian.h>.

6. (Feature, optional) A gpsprof mode that collects PPS messages and
   plots NTP drift against PPS top of second.  Easy project, pure
   Python and JSON.  Nice to have for when we ship the Time Service HOWTO.

7. The GR601-W causes nasty flicker in gpsmon.  I think the underlying
   problem here might be that gpsd is flapping wildly between driver
   types because it's seeing interspersed u-blox binary and NMEA
   packets.  That in turn is happening because the GR601-W has a
   strange quirk; you can turn on UBX binary reporting *but you can't
   turn off NMEA*. We can't fix this, so we need to recover from it.

3. PPS events should be visible in gpsmon.  I want this so the Time
   Service HOWTO can say "Point gpsmon at your new GPS as a sanity 
   check.  If you don't see PPS events, you don't have the right GPS."
   The hard work, prying the PPS watcher loop loose from the
   ntpd/chrony hinting, has been done.  Now gpsmon needs to be taught
   to use the new generic watcher loop for its own purposes.

6. Somebody other than me or Gary needs to run through the Time
   Service HOWTO's instructions and report on anything that seems
   bogus or missing.

That is all.
-- 
                <a href="http://www.catb.org/~esr/";>Eric S. Raymond</a>

"If I must write the truth, I am disposed to avoid every assembly of
bishops; for of no synod have I seen a profitable end, but rather an
addition to than a diminution of evils; for the love of strife and the
thirst for superiority are beyond the power of words to express."
        -- Father Gregory Nazianzen, 381 AD



reply via email to

[Prev in Thread] Current Thread [Next in Thread]