1SIRFMON(1)                                                          SIRFMON(1)
2
3
4

NAME

6       sirfmon - monitor and control a SiRF GPS in binary mode
7

SYNOPSIS

9       sirfmon [-h] [-v] [-F control-socket] [[server\ [:port\
10               [:device]] | device]]
11
12

DESCRIPTION

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

COMMANDS

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

FILES

120       /var/run/gpsd.sock
121              The default location of the control socket.
122
123

BUGS AND LIMITATIONS

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

SEE ALSO

131        gpsd(8),  gps(1),  libgps(3),  libgpsd(3), gpsprof(1), gpsfake(1), gp‐
132       sctl(1), gpscat(1).
133
134

AUTHOR

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)
Impressum