1SIRFMON(1) SIRFMON(1)
2
3
4
6 sirfmon - monitor and control a SiRF GPS in binary mode
7
9 sirfmon [-h] [-v] [-F control-socket] [[server\ [:port\
10 [:device]] | device]]
11
12
14 sirfmon is a monitor that watches packets coming from a SiRF GPS (the
15 SiRF chipset is the one by far the most commonly used in GPS mice and
16 other consumer-grade GPSes, about 80% of them and rising in early
17 2005). This program is primarily useful as a diagnostic aid for trou‐
18 bleshooting gpsd problems; it deliberately uses decoder logic that dif‐
19 ferent from the decoder in the gpsd SiRF driver, so behaviors that show
20 up in both are unlikely to be due to logic bugs in either.
21
22
23 sirfmon accepts an -h option that displays a usage message, or a -v op‐
24 tion to dump the package version and exit.
25
26
27 This program may be run in either of two modes, as a client for the
28 gpsd daemon (and its associated control socket) or directly connected
29 to a specified serial device. When run with no argument, it attempts to
30 connect to the daemon. If the argument looks like a server:port speci‐
31 fication it will also attempt to connect to the daemon. If the argument
32 looks like a bare server name it will attempt to connect to a daemon
33 running on the default gpsd port on that server. Only if the device ar‐
34 gument contains slashes but no colons will it be treated as a serial
35 device for direct connection. In direct-connect mode sirfmon will hunt
36 for a correct baud rate and lock on to it automatically.
37
38
39 The -F option is only valid in client mode; it specifies a control
40 socket to which the program should send device control strings. You
41 must specify a valid pathname of a Unix-domain socket on your local
42 filesystem.
43
44
45 You will probably need to be root to run this program, as the serial
46 devices and control socket it uses are normally privileged.
47
48
49 After startup, the top part of the screen reports the contents of sev‐
50 eral especially interesting packet types. The bottom half of the screen
51 is a scrolling hex dump of all packets the GPS is issuing. Dump lines
52 beginning >>> represent control packets sent to the GPS.
53
54
55 At SiRF firmware level 231, the "UTC" time displayed is not real UTC,
56 as it is not leap-second-corrected. This is due to an inadequacy in the
57 SiRF firmware.
58
59
60 To interpret what you see, you will need a copy of the SiRF Binary Pro‐
61 tocol Reference Manual.
62
63
65 The following comands are available while sirfmon is running:
66
67
68 n Switch device to NMEA mode at current speed and exit.
69
70
71
72
73 b Change baud rate.
74
75
76 c Set (c1) or clear (c0) static navigation. The SiRF documentation
77 says ``Static navigation is a position filter designed to be
78 used with motor vehicles. When the vehicle's velocity falls be‐
79 low a threshold, the position and heading are frozen, and veloc‐
80 ity is set to zero. This condition will continue until the com‐
81 puted velocity rises above 1.2 times the threshold or until the
82 computed position is at least a set distance from the frozen
83 place. The threshold velocity and set distance may vary with
84 software versions.''
85
86 Non-static mode is designed for use with road navigation soft‐
87 ware, which often snaps the reported position to the nearest
88 road within some uncertainty radius. You probably want to turn
89 static navigation off for pedestrian use, as it is likely to re‐
90 port speed zero and position changing in large jumps.
91
92
93 l Toggle packet logging. If packet logging is on, it will be
94 turned off and the log closed. If it is off, logging to the
95 filename following the l will be enabled. Differs from simply
96 capturing the data from the GPS device in that only whole pack‐
97 ets are logged. The logfile is opened for append, so you can log
98 more than one portion of the packet stream and they will be
99 stitched together correctly.
100
101
102 s Send hex bytes to device. Following the 's' you may type hex
103 digit pairs; end with a newline. These will become the payload
104 of a SiRF control packet shipped to the device.
105
106
107 t Toggle navigation-parameter display mode. Toggles between normal
108 display and one that shows selected navigation parameters from
109 MID 19, including the Static Navigation bit toggled by the 'c'
110 command.
111
112
113 Ctrl-S Freeze display, suspend scrolling in debug window.
114
115
116 Ctrl-Q Unfreeze display, resume normal operation.
117
118
120 /var/run/gpsd.sock
121 The default location of the control socket.
122
123
125 The logic for hunting the GPS's baud rate is vulnerable to various
126 sorts of RS232 flakiness. If it hangs for longer than a few seconds,
127 kill the program and restart.
128
129
131 gpsd(8), gps(1), libgps(3), libgpsd(3), gpsprof(1), gpsfake(1), gp‐
132 sctl(1), gpscat(1).
133
134
136 Eric S. Raymond <esr@thyrsus.com>, based on code originally by Rob
137 Janssen, PE1CHL. This code is part of the gpsd toolset; there is a
138 project page for gpsd here: http://gpsd.berlios.de/.
139
140
141
142
143 SIRFMON(1)