On 2/18/07, Phusion <[EMAIL PROTECTED]> wrote:
What are the best supported GPS receivers under 4.0 release and stable code-base? I would like to find a GPS receiver (serial or USB) that is supported under OpenBSD that will work for OpenNTPD or NTP.
As a time source, any receiver that outputs NMEA should work. If you're planning on using your gps for timing and positioning (ie. for kismet) then you probably want to consider using one of the many receiver types supported by gpsd. Personally, I use a uBlox ANTARIS TIM-LP (sold as the San Jose FV-25). There are many other sexy GPS receivers out there that would also work. USB-serial chips - either as a dongle with a DB9 on it, or embedded into GPS receivers - tend to not have control lines connected, so you can't get accurate pulse-per-second timing. For that you need a real serial port. If you don't have control lines then you need to wait for the navigation solution to come out, and that can take 250 - 300mS. From there, the nmea(4) line discipline waits for the GPRMC sentence, but often GPGGA comes out first. More delay, but it's not predictable, because the delay depends on the transmission time of variable length sentences. The soft timestamping uses the first '$' it sees. Finally, some receivers output GPGGA, GPGLL, GPGSA, GPGSV, GPRMC - in that order. GPGSV is extremely variable, both in length and number of sentences transmitted. During seconds which GPGSV is supposed to output, GPRMC can be delayed up to 750mS after the start of the second, which is why the soft timestamp just goes with the first '$' each second. I added support for the nmea(4) line discipline and line timestamping to gpsd-2.34; this version is in the current ports tree. On my white-box pentium 4, once the kernel has calibrated the local oscillator, openntpd using my gps as the time source claims that it needs to do about 2uS of adjtime every 90 minutes or so. CK -- GDB has a 'break' feature; why doesn't it have 'fix' too?