gpssubframe — tool to dump subframe sentences from gpsd


gpssubframe [-?] [--count COUNT] [-D DEBUG-LEVEL] [--desc] [--device DEVICE] [-h] [--help] [--host HOST] [-n COUNT] [--port PORT] [--progress] [--satpos] [--seconds SECONDS] [--test] [-V] [-x SECONDS] [server [:port [:device]]]


gpssubframe is a tool to connect to gpsd and dump decoded subframe data to stdout. This is only useful if your GNSS receiver can output GPS subframe messages, and is configured to do so. A working knowledge of IS-GPS-200 is also required. Keep your copy close at hand.

gpssubframe does not require root privileges, and can be run concurrently with other tools connecting to the local gpsd without causing problems.

The program will accumulate subframe message and output them by GPS satellite number on exit. By default the program never exits unless the user selects the number of seconds to run or number of messages to capture.

By default gpssubframe connects to a gpsd running on the local host. Optionally a host, TCP/IP port number and remote device can be given.


-? print a usage message and exit.

--count [COUNT] Exit after [COUNT] subframe messages.

--device [DEVICE] connect to device [DEVICE].

-D [debug-level] set debug level..

-h print a usage message and exit.

--help print a usage message and exit.

-n [COUNT] Exit after [COUNT] subframe messages.

-p [PORT] connect on port [PORT].

--progress print progress reports as messages are received.

--satpos Compute GPS satellite positions before exit.

--seconds [seconds] Exit after delay of [seconds].

--test Run selftest code.

-V prints the program version, then exits.

-x [seconds] Exit after delay of [seconds].


First connfigure a u-blox 9-series to output subframe messages. Then have gpssubframe gather one complete set of subframes, then print the data organized by GPS satellite number. Then calculate and print the known satellite positions as well as the azimuth, elevation, and range from the current position:

ubxtool -P 22 -e SFRBX
gpssubframe -x 750 --satpos

If staring at a blank screen for 12.5 minutes is too stressful, then enable progress messages:

gpssubframe -x 750 --satpos --progress


gpsd(8), gps(1), gpsprof(1), gpsfake(1), gpsctl(1), gpscat(1).

IS-GPS-200 "NAVSTAR GPS Space Segment/Navigation User Segment Interfaces"


Gary E. Miller .