---
name: "gpssnmp"
section: "1"
platform: "linux"
package: "gpsd"
version: "3.27.5-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gpssnmp"
---

# gpssnmp(1)

SNMP helper client for gpsd

## NAME

gpssnmp - SNMP helper client for gpsd

## SYNOPSIS

**gpssnmp** \[OPTIONS\] \[server\[:port\[:device\]\]\]

**gpssnmp** -h

**gpssnmp** -g OID

**gpssnmp** -n OID

**gpssnmp** -p

**gpssnmp** -V

## DESCRIPTION

**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.

**Note**\

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

## OPTIONS

- **-?**, **-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.

## EXAMPLES:

To get the number of saltellits seen with the OID

```
   $ gpssnmp -g .1.3.6.1.4.1.59054.11.2.1.3.1
   .1.3.6.1.4.1.59054.11.2.1.3.1
   INTEGER
   15
```

To get the number of saltellits seen with the MIB name

```
   $ gpssnmp -g skynSat.1
   .1.3.6.1.4.1.59054.11.2.1.3.1
   INTEGER
   15
```

### 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-through of GPSD-MIB to gpssnmp
pass .1.3.6.1.4.1.59054  /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 .1.3.6.1.4.1.59054  /usr/local/bin/gpssnmp --persist
```

## RETURN VALUES

**0**

on success.

**1**

on failure

## SEE ALSO

[**cgps**(1)](/cgps/1.md), [**gps**(1)](/gps/1.md), [**gpspipe**(1)](/gpspipe/1.md), [**snmpget**(1)](/snmpget/1.md), [**snmpwalk**(1)](/snmpwalk/1.md), [**xgps**(1)](/xgps/1.md)

[**snmpd.conf**(5)](/snmpd.conf/5.md)

[**gpsd**(8)](/gpsd/8.md), [**snmpd**(8)](/snmpd/8.md)

## RESOURCES

**Project web site:**  \<https://gpsd.io/\>

## COPYING

SPDX-FileCopyrightText: The GPSD project\
 SPDX-FileType: DOCUMENTATION\
 SPDX-License-Identifier: BSD-2-clause
