Your company here — click to reach over 10,000 unique daily visitors

gpssnmp - Man Page

SNMP helper client for gpsd


gpssnmp [Options] [server[:port[:device]]]

gpssnmp -h

gpssnmp -g OID

gpssnmp -n OID

gpssnmp -p

gpssnmp -V


gpssnmp is a gpsd client that works as an SNMP helper for MRTG.

gpssnmp does not require root privileges. It will also run fine as root.

gpssnmp can act as an agent to snmpd in pass mode or in pass_persist mode. So it can be used to extend snmpd with the GPSD-MIB.  Given the nature of the SNMP protocol, do not expect good latency.  Data from different epochs may be mixed up together.


this program is new in version 3.24.1 and will be subject to change for a few revisions.  Consider it a Work In Progress (WIP).


-?,  -h,  --help

Print a summary of options and then exit. Use with "-D 1" to see valid OID values. Use with "-D 2" to see valid OID values with scale values and descriptions.

-g OID

Get the specified OID.

-n OID

Get the next OID starting at OID.

-p,  --persist

Enter pass_persist mode.  This allows better performance when used as an agent for the snmpd daemon.  See the snmpd.conf man page for details.

-V,  --version

Print the package version and exit.


To get the number of saltellits seen with the OID

   $ gpssnmp -g .

To get the number of saltellits seen with the MIB name

   $ gpssnmp -g skynSat.1

Connecting to snmpd

gpssnmp can work as a "pass-through script" with snmpd.  To enable this functionality on an already working snmpd installation, add this to your snmpd.conf file, and then restart snmpd:

# be sure SNMPv2 community "public" can access all MIBs:
rocommunity public  localhost

# configure pass-thur of GPSD-MIB to gpssnmp
pass .  /usr/local/bin/gpssnmp

You can then query the number of satlettites in use this way:

$ snmpget -c public -v 2c localhost skynSat.1
GPSD-MIB::skynSat.1 = INTEGER: 16

Dump the entire "sky" OID this way:

$ snmpwalk -c public -v 2c localhost GPSD-MIB::sky
GPSD-MIB::skynSat.1 = INTEGER: 17
GPSD-MIB::skyuSat.1 = INTEGER: 8
GPSD-MIB::skySNRavg.1 = INTEGER: 2000

Dump the entire GPSD-MIB this way:

$ snmpwalk -c public -v 2c localhost gpsd
GPSD-MIB::tpvLeapSeconds = INTEGER: 18
GPSD-MIB::tpvNumber = INTEGER: 1
GPSD-MIB::tpvIndex.1 = INTEGER: 1

gpssnmp supports the pass_persist mode of snmpd.  To have snmpd use gpssnmp in this mode put this in your snmpd.conf file:

pass_persist .  /usr/local/bin/gpssnmp --persist

Return Values


on success.


on failure

See Also

cgps(1), gps(1), gpspipe(1), snmpget(1), snmpwalk(1), xgps(1)


gpsd(8), snmpd(8)


Project web site: https://gpsd.io/


This file is Copyright 2022 by the GPSD project
SPDX-License-Identifier: BSD-2-clause


2023-01-10 GPSD Version 3.25 GPSD Documentation