sirfmon 1 23 Mar 2005 sirfmon monitor a SiRF GPS sirfmon device DESCRIPTION sirfmon is a monitor that watches packets coming from a SiRF GPS (the SiRF chipset is the one by far the most commonly used in GPS mice and other consumer-grade GPSes, about 80% of them and rising in early 2005). This program is primarily useful as a diagnostic aid for troubleshooting gpsd problems; it deliberately uses decoder logic that different from the decoder in the gpsd SiRF driver, so behaviors that show up in both are unlikely to be due to logic bugs in either. The device argument should be the serial devicename associated with the GPS; sirfmon will search for a correct baud rate and lock on to it automatically. Note that sirfmon will fail if gpsd is running, and vice-versa. You will probably need to be root to run this program. After startup, the top part of the screen reports the contents of several especially interesting packet types. The bottom half of the screen is a scrolling hex dump of all packets the GPS is issuing. Dump lines beginning >>> represent control packets sent to the GPS. To interpret what you see, you will need a copy of the SiRF Binary Protocol Reference Manual. COMMANDS The following comands are available while sirfmon is running: n Switch device to NMEA mode at current speed and exit. b Change baud rate. c Set (c1) or clear (c0) static navigation. The SiRF documentation says Static navigation is a position filter designed to be used with motor vehicles. When the vehicle's velocity falls below a threshold, the position and heading are frozen, and velocity is set to zero. This condition will continue until the computed velocity rises above 1.2 times the threshold or until the computed position is at least a set distance from the frozen place. The threshold velocity and set distance may vary with software versions. l Start logging of packets to specified file. If logging is enabled, turn it off. s Send hex bytes to device. Following the 's' you may type hex digit pairs; end with a newline. These will become the payload of a SiRF control packet shipped to the device. t Toggle navigation-parameter display mode. Toggles between normal display and one that shows selected navigation parameters from MID 19, including the Static Navigation bit toggled by the 'c' command. Ctrl-S Freeze display, suspend scrolling in debug window. Ctrl-Q Unfreeze display, resume normal operation. BUGS AND LIMITATIONS The logic for hunting the GPS's baud rate is vulnerable to various sorts of RS232 flakiness. If it hangs for longer than a few seconds, kill the program and restart. SEE ALSO gpsd8, xgps1, libgps3, libgpsd3, gpsprof1, gpsfake1, gnuplot1. AUTHOR Eric S. Raymond esr@thyrsus.com, based on code originally by Rob Janssen, PE1CHL. This code is part of the gpsd toolset; there is a project page for gpsd here.