APRS

Overview
Parameters
Resolving QTH Location
QRZ Database
aprsqth (file)
node.deny (file)
Handling Channel Congestion
Extended Data


Overview

APRS1 is a connectionless protocol using the AX.25 digital protocol over amateur radio. It was developed by Bob Bruninga, WB4APR. It is used to show real-time position and data. It has been widely accepted in the amateur radio community world-wide and continues to grow. More information on APRS can be found by clicking here. APRS natively supports a limited weather data set. The WXN extended data expands on this allowing other weather information not supported by the original protocol to be broadcast.

This document covers the explanation and use of specific parameters for the wxnaprd daemon.

Section Contents

Parameters

The following parameters are found in wxncommon.conf:

AprsToCall - The default is 'APRS'.Changing this to a anything else may result on your station not showing up on other APRS systems. In other words, do not change unless there is a very good reason to do so.

AprsDigi - The default is 'WIDE3-3'. More than likely this will need to be changed to fit your local situation. If more than one digipeater is specified, separate with commas.

Latitude/Longitude - These two parameters must be set to the node's coordinates.

For example, if your GPS reports a position as degress and decimal minutes, 38 01.969' and 87 34.746', the values used would be 38 + 01.969/60 which equals 38.03 and 87 + 34.746/60 which equals 87.58 Example:

Latitude = 38.03
Longitude = 87.58

Note that in some cases, position accuracy may required three or more places to the right of the decimal point.

The following parameters are found in wxnaprd.conf:

AprsExtraText - This text is appended to a packet containing position information that is broadcasted periodically at an interval set by 'AprsTextInterval'. Typically this contains the Power-Height-Gain and email address. The text entry in the wxnaprd.conf file to produce this would be:

AprsText = PHG2130/wxn@myisp.com

The above entry would produce the following output:

!3801.80N/08734.80W_PHG2130/wxn@myisp.com

The table for the Power/Height/Gain/Directivity is repeated here from the APRS Specification 1.0:

Code: 0 1 2 3 4 5 6 7 8 9 Units
Power: 0 1 4 9 16 25 36 49 64 81 watts
Height: 10 20 40 80 160 320 640 1280 2560 5120 feet
Gain: 0 1 2 3 4 5 6 7 8 9 dB
Direct: Omni 45
NE
90
E
135
SE
180
S
225
SW
270
W
315
NW
360
N
  degrees

Therefore, 'PHG2130' means the station is running 4 watts into the antenna at 20 feet with a gain of 3dB and is omnidirectional. Any other text may follow after the '/'. An email address was used in this example.

AprsTextInterval - Interval in minutes between broadcasts of the 'AprsText'. Suggested range is 15 to 30 minutes. The default of 20 minutes should be adequate in most cases.

Section Contents

Resolving Station QTH

There are three methods used to resolve a station's location:

Position information received from the station takes precedence over the other two. Some information, such as timezone and AFOS ID are obtained from a matching entry found in the geographic database table. A matching entry is based on city, county (not used with QRZ), and state. When a node is heard for the first time, resolution takes place in the following order:

  1. Attempts to find <call-ssid> in aprsqth. If a matching entry is found, a lookup is made in the geographic database (USGS/USDOT sources) table. This will produce the most accurate results.
  2. Attempts to find <call> in the QRZ Database, if present. If a match is found, lookup is made in the geographic database (USGS/USDOT sources) table. Since the city location is based on the USPS post office location, it may be in error. In some cases, two or more cities of the same name may exist within a state's boundaries. The first entry in the geographic database will be used. This is seldom a real problem, but you do need to be aware of it.
  3. Posts data with position as provided in the packet. If the data received was positionless, marks the entry as "unknown QTH".

When a position packet is received, a match for <call-ssid> is attempted. If a match occurs, the position is upgraded. This will only correct the latitude/longitude. If the recorded city, county and state is in error, it can only be corrected by editing the table with one of tools described elsewhere.

Section Contents

QRZ Database

If you really want to get the most out of the system, QRZ is a must. Assuming that a position report has been heard, the system can give direction and distance for any node. However having the city and state available is useful.

The default location for the cdrom is /mnt/cdrom/callbk. However, most CDROMs are very slow to spin up. This can cause enough delay on most systems to cause the receiving daemon to drop packets. To improve response time, it is suggested that you do the following:

  1. Create the directory /var/qrz/
  2. Copy the files callbkc.dat and callbkc.idx from the callbk directory on the CDROM to this location.
  3. In wxnaprd.conf change the QrzPath parameter to QrzPath = /var/qrz/
  4. If the daemon is running, restart for the change to take effect.

Response times will be very fast with little or no noticeable wait after this change is made.

Section Contents

aprsqth

The text file aprsqth, found in the /etc/wxn directory is the most accurate means of resolving QTH information. Each entry in the file is comma-delimited and has the following format:

<call-ssid>, <city>, <county>, <state>

Example:

wb9tlh-10, Kirksville, Monroe, IN

When this station is heard, a lookup will be made in the geographic database and the required information inserted into the record for the APRS station. Any number of entries are permitted.

Normal use of this feature is to resolve entries that are not in the geographic database table, not in the QRZ database, and for stations using the same callsign but with different SSIDs.

Example:

n4xi-9, Owensboro, Daviess, KY
n4xi-5, Newburgh, Warrick, IN

Note that this feature will only be useful if the information is in the file before the station is heard the first time.

Section Contents

node.deny

If you wish to completely prevent certain stations from being added to the database, an entry will have to be made in the file node.deny located in the /etc/wxn directory. An entry consists of a single line with the callsign and SSID:

<call-ssid>

For example:

n9lid-9

Note that if a station is added to this file after it has already been heard, it will be necessary to delete corresponding entires in the nodes and rcvtimes tables. Otherwise, data heard from that station will continue to be heard. To put it another way, for this feature to work, the station cannot already be in the database.

Section Contents

Handling Channel Congestion

An experimental feature has been added to permit some control over the strategy of handling channel congestion.  In the default mode, when the Extra Text (position broadcast) and extended data is broadcast, the period between the Extra Text and the first extended data packet is five seconds. After the first extended data packet is transmitted, a random wait period of anywhere from 5 to 15 seconds will be used for the remaining three packets.

If the AprsDelayThreshold parameter in wxnaprd.conf file is set to any other value than zero, the delay will shift change to a range of 10 to 30 seconds. The threshold value is based on the number of UI frames heard in the last five minutes on the channel. If the number of UI frames exceeds the parameter, the second set of timing values will be used.

The value of zero (default) disables the feature.

Section Contents

1APRS is a registered trademark of Bob Bruninga