Mon 14 Jan 2013 07:30:02 AM UTC, original submission:
While working with a shiny new raspberry pi trying to make NTP work and be happy, I've had an issue where gpsd would periodically stop reporting back data from my GPS chip.
Turning on debugging shows that it is periodically going into baud rate search for no apparent reason. It eventually either re-acquires the GPS, or gives up (because for some reason it likes to hunt at 7N2 sometimes, instead of 8N1 or 8O1, not sure if that's a bug, resets, and reacquires.
Turning on deeper debugging, it turns out the following line always appears immediately before gpsd starts the baud rate search:
17:40:32 E: gpsd:IO: Packet ID 0x38 out of range for TSIP
According to the documentation, this is a "request SV system data" packet, which seems like it would be for loading AGPS data -- so I have no clue why it keeps popping up in the datastream. But regardless, it does appear to be a valid output packet and seems to be breaking things when received. It should be possible to just ignore this packet (the documentation does note that it's never a requirement to actually send AGPS to the chip).
Version numbers and such:
- gpsd 3.6, as shipped with the current raspian linux distribution, which is debian-wheezy based. (I confirmed in git that support for the 0x38 TSIP message isn't in the latest code, too)
- Chip: Trimble ICM-SMT timekeeping chip
- Chip firmware: 1.10.2
- Chip docs: http://trl.trimble.com/docushare/dsweb/Get/Document-577771/ICM_SMT_UG2B_76858-00-ENG.pdf (see pages 46, 96, 100, 110)
I can provide any further info / logs / testing needed, just say what!
|