<p>Skytraq has a number of unique commands that identify the chipsets.  So do MTK and Garmin.</p>
<p>Right now the udev for gpsd gets it wrong by including the generic FTDI vendor id for one gps, so plugging in my ftdi arduino/breakout starts up gpsd and it probes (same error in upowerd - I filed a bug report with fedora).   It thought my SkyTraq was this unit.</p>

<p>I have the PPS hooked to the CTS pin, but gpsd has to be recompiled to enable pps or change pins.  This should be configurable at runtime.</p>
<p>You still have the same problem using any other gps for bufferbloat - gpsd will attempt to sync the time via ntpshm based on any NMEA stream at the last sentence in a group.  You will need some tweaking to make it not do this, or reject other gps units, or otherwise indicate that unless you are using one of our 'blessed' units the time won't be accurate.  'Blessed' might mean PPS, but how do we certify it?</p>

<p>How much of an issue will this be?  If we are going to require using one specific hardware combo, it will have the right set for gpsd-ntpd-kernel.  If we allow any configuration of any hardware or software, we have no way of verifying it has precise UTC time - when was the last PPS, has the correction in adjtime caught up, etc. though that applies to ours too.<br>

</p>