Mark57 wrote:No, I do not get or keep a 3D lock. Just tested it again.
For anyone unable to get a 3D lock on their GPS unit that speaks only NMEA, try commenting out line 569 of libgpsd_core.c:
// gps_clear_fix(&session->gpsdata.fix);
It seems that session->gpsdata.fix.mode is getting cleared extremely frequently by this statement, while session->gpsdata.newdata.mode is getting set very seldom (by $GPGSA, all others are compares), so the gps_merge_fix() that newdata changes are supposed to cause aren't occurring. In other words, newdata is checked/set, but the changes aren't going into fix. I'd tried following the above statement with a "gps_clear_fix(&session->gpsdata.newdata);" but that didn't seem to help.
Before and after doing this, please try running cgps (Linux or Cygwin, whatever you have available) and report back. Don't use Kismet for testing GPS - that'd be like using MSIE for testing HTML validity, and I hope nobody here would do that!