summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2014-08-29 07:47:01 -0400
committerEric S. Raymond <esr@thyrsus.com>2014-08-29 07:47:01 -0400
commitac0412ff0b99d76db40f8072810f52f9ccd2e17b (patch)
treeba0ca5833ad506450995335446c993097488cdb9
parentb411c2a6faea5932b593c7fde586c28918bea7ec (diff)
downloadgpsd-ac0412ff0b99d76db40f8072810f52f9ccd2e17b.tar.gz
Add some warnings about SiRF-IV flakiness, and remove a related TO-DO item.
-rw-r--r--NEWS2
-rw-r--r--TODO9
-rw-r--r--driver_sirf.c7
-rw-r--r--gpscap.ini7
-rw-r--r--www/hall-of-shame.html5
5 files changed, 18 insertions, 12 deletions
diff --git a/NEWS b/NEWS
index 9c2b52e0..f1782788 100644
--- a/NEWS
+++ b/NEWS
@@ -4,7 +4,7 @@ Repository head:
Better protection against false matches of Inland AIS messages; this
required a libgps version bump to 22. PPS feature is no longer
marked experimental/unstable and the separate "pps" policy flag is
- gone; PPS is now always emitten when watching JSON. Sentence tag
+ gone; PPS is now always emitted when watching JSON. Sentence tag
fields have been dropped from the JSON reports. GNSS and GLONASS SKY
reports are now merged. Qt support default changed to False pending a
build patch. Addressed versions of AIS Type 25 and 26 are now handled.
diff --git a/TODO b/TODO
index 96e4bd0a..45ac0d39 100644
--- a/TODO
+++ b/TODO
@@ -156,15 +156,6 @@ packet aggregation issue as it doesn't happen with test logs.
*** Driver issues
-*** SiRF IV flakiness ***
-
-Symptom: device hangs when switching from SiRF to NMEA in gpsmon
-(power cycle fixes this).
-
-Underlying problem: SiRF IV has some constraints previous versions
-didn't. You have to wait on ACK of the previous config commands
-before sending another. The SiRF driver doesn't do this oroperly.
-
**** RTCM3 analysis is incomplete
We can presently decode RTCM3 messages of type 1001-1014, 1029, and
diff --git a/driver_sirf.c b/driver_sirf.c
index a0899e31..b1eda6fc 100644
--- a/driver_sirf.c
+++ b/driver_sirf.c
@@ -24,6 +24,13 @@
* If it's no longer implemented on your receiver, messages
* 7, 28, 29 and 30 will give you the same information."
*
+ * There is a known problem with the SiRF IV: it is prone to freeze
+ * when being switched back to NMEA mode from SiRF binary. The
+ * failure is randomly flaky, you may get away with several mode
+ * flips before triggering it. Powering off the device resets and
+ * unfreezes it. We have tries waiting on command acknowledges as
+ * the manual advises; this does not fix the problem.
+ *
* This file is Copyright (c) 2010 by the GPSD project
* BSD terms apply: see the file COPYING in the distribution root for details.
*/
diff --git a/gpscap.ini b/gpscap.ini
index ab2b69ca..11658808 100644
--- a/gpscap.ini
+++ b/gpscap.ini
@@ -135,7 +135,8 @@ nmea = 3.01
uses = GenericSiRF
rating = poor
notes = Low power usage, but poor sensitivity and very long startup.
- Resets to 4800N1 every time it is unplugged.
+ Resets to 4800N1 every time it is unplugged. Has a tendency to freeze
+ when switched from binary to NMEA mode (unplugging it fixes this).
[MSB2122]
type = engine
@@ -1177,7 +1178,9 @@ notes = This receiver does not support PPS timing output. Much like the
claim 45 of 45 seconds. Gary Miller rates this device "DO NOT
EVER BUY ONE!", observing "The big selling point of the SiRF IV
is the lower power needs. Looks like they made that happen at
- the expense of sensitivity and timeliness of fixes."
+ the expense of sensitivity and timeliness of fixes." Also,
+ has the SiRF-IV tendency to freeze when switched from binary
+ to NMEA mode (powe-cycling it unjams it).
[BT-359]
vendor = GlobalSat
diff --git a/www/hall-of-shame.html b/www/hall-of-shame.html
index 15cd0891..f8e97727 100644
--- a/www/hall-of-shame.html
+++ b/www/hall-of-shame.html
@@ -105,6 +105,11 @@ is the only way to get the receiver to communicate again.</li>
<li>Some Garmin chips issue a bogus length field, too. This from the
outfit that likes to tout itself as the industry leader!</li>
+
+<li>The SiRF-IV chipset has a tendency to freeze when switched from
+binary to NMEA mode (powering it off unjams it). This is some kind of
+race condition in the firmware that cannot be fixed by waiting on
+command ACKs; we've truid that.</p>
</ul>
<h2>Documentation blunders</h2>