Aprx.en

Radioamatööriwikistä
Versio hetkellä 22. lokakuuta 2009 kello 12.18 – tehnyt >Oh2mqk (→‎APRS Digipeater properties)
Siirry navigaatioon Siirry hakuun

Tästä sivusta on suomenkielinen versio Aprx — this page is English translation of Finnish page...

APRX is a receive-only APRS IGate (see APRS iGate properties) software. It works on any UNIX-like systems with minimal requirements of system services, nor system libraries beyond basic POSIX libc.

There are readily usable binary packages for some Fedora and Debian environments. Other platforms should be easily compilable for.

The software is to be installed on suitable UNIX-like system, and its configuration file is to be adjusted. Then it can relay APRS packets from radio receivers to APRS-IS (http://www.aprs-is.net) network.

This software is intended for very limited resources environment, like small embedded-like machines barely able to run the operating system with TCP/IP networking.

A receive-only Rx-iGate does not need any sort of licenses in most parts of the world where radio amateur hobby is permitted to begin with.

On version 2, the Aprx has gotten ability to do APRS Digipeater function, as well as a variation of that called Viscous APRS Digipeater, which is excellent choice for a Fill-In digipeater like on a mobile station. Viscousness means that it will listen for other copies of same packet for a small configurable number of seconds, and if it hears same packet only once, it will do normal digipeating for it.

Distribution

The software is downloadable at:

http://ham.zmailer.org/oh2mqk/aprx/

Features

Originally this software was written for the need of densifying receiver network feeding things to APRS-IS network, and the software did only things necessary for a receive-only APRS IGate. New version can also do stand-alone Digipeat of APRS packets as well as Digipeat and Rx-iGate. Experiments on Tx-iGate are under way.

The basic design criterias have also included something called minimum technology, whereby the software does not need any external software or libraries in order to function. This also minimized system resource requirements, which in case of APRS iGates do include networking, but can be done with very small machines, like Linux with 8 MB RAM. Also the software should be able to function on any minimally compliant POSIX system.

For Rx-iGate use the minimum configuration with tunable parts highlighted:

 mycall  OH2XYZ
 <aprsis>
    server   rotate.aprs.net  14580
 <aprsis>
 <interface>
    serial-device /dev/ttyS0  19200  8n1    KISS
 </interface>

For a stand-alone APRS Digipeater the configuration would be:

 mycall  OH2XYZ
 <interface>
    serial-device /dev/ttyS0  19200  8n1    KISS
 </interface>
 <digipeater>
    transmitter  $mycall
    <source>
       source     $mycall
    </source>
 </digipeater>

A stand-alone Digipeater can be made into Digi + Rx-iGate by adding the <aprsis> block on its configuration.

As this software must operate in extremely memory limited systems, its writers have seen no need to make any memory hungry configuration tools, and instead the installer must be able to edit the text format configuration file by means of some simple editor existing in the system.

aprx(8) manual page

Operating systems

Observed to work:

  • Linuxes (Fedora, RedHat, SuSE, Debian)
  • Embedded Linux (NSLU2, with compilation time configure option: --with-embedded, OpenWrt --with-embedded)
  • Apple OSX

"Should work":

  • FreeBSD/NetBSD/OpenBSD
  • Solaris / OpenSolaris
  • HP-UX
  • Windows+CygWin

(in other words: any POSIX compliant system should work)

There is no integrated installation package for all the systems in the world, but things should not be too difficult to cook up your own.

Radio modem connections

It listens on radio modems speaking so called KISS protocol on any system attached serial ports. The modems can also speak of so called TNC2 monitor format:

  • Has support for principally unlimited number of serialports on single machine
  • Works also with USB serial ports
  • Works also with serial ports on remote servers, as long as they are connectable with "TCP STREAM" service initiated from server running the Aprx program (like Cisco router AUX ports.)

Supports also AX.25 protocol in a machine, where such exist (mainly Linuxes) and radio modems attached on it.

APRS Rx-iGate properties

  • Connects with single callsignSSID to APRS-IS core network for all radio receiver ports attached on it, optionally can also identify all receiver ports with separate callsigns
  • Knows that following tokens in AX.25 address VIA fields are a reason for not relaying message to APRS-IS network:
    • RFONLY, NOGATE, TCPIP, TCPXX
  • Knows that following AX.25 source addresses are bogus, and packets with them are not to be relayed to APRS-IS network:
    • WIDE*, RELAY*, TRACE*, TCPIP, TCPXX, NOCALL, N0CALL
  • Does not relay any query messages ("?")
  • Opens all "3rd-party" messages to determine if any intermediate or the innermost addresses (and possibly data) are a reason for not relaying to APRS-IS.
  • Relays received APRS messages to APRS-IS network in network standard form

Digipeater properties

The digipeater functionality handles standard APRS 1.x/2.0 digipeating with additional specialties for APRS. This permits the digipeater to pass along other traffic in addition to APRS, like TCPIP, AX.25 CONS, etc.

For APRS messages

  • Does standard duplicate detection on APRS messages.
  • Does standard "New-N-paradigm" processing of "WIDEn-N" and "TRACEn-N" tokens.
  • Accounts the number of all digipeat requests over all fields, when doing analysis of "are there too many hops requested or done?"
  • Does not accept requests like: "WIDE3-6", where SSID field stored value is larger than the one immediately following the keyword.

By default the system treats WIDE as TRACE, and inserts digipeater's transmitter identity on each packet it sends out. It can be configured to "classical WIDE", as well as adding other keywords that are treated as WIDE or TRACE.

Complex properties

This software has some unique complex capabilities:

Serial ports

  • The serial ports can be physical D9/D25 ports on machine, or perhaps USB ports, as long as they offer standard POSIX semantics
  • The serial ports can be elsewere on the internet, as long as they are reacable with TCP STREAM without any sort of encapsulation protocols (like TELNET escapes)
  • There can in principle be unlimited number of serial ports
  • The serial ports can speak a few variations of the KISS protocol
  • The serial ports can also receive TNC2 monitor format

On Linux systems the system does also understand machine internal AX.25 network, and radios attached on it.

Optionally multiple callsignSSIDs

APRS traffic received from all ports can be offered to APRS-IS network with single callsign (MYCALL), or if so wanted, any of the serial ports can be offered with their own callsigns. With multiple radio interfaces, use of individual interface callsigns helps to make sense out of channel occupancy telemetry data.

The individual callsigns for each port system is a feature for intermediate APRS-IS -like server that really collects all packets received from radios, and correlates them in order to determine where everywhere each packet was heard. Normal APRS-IS does duplicate removal making such "radio coverage analysis" somewhat difficult...

Measuring radio channel occupancy

There are lots of rumors about APRS radio channel occupancy, but very little measured hard facts. To help on this issue, the Aprx-program has a radio channel occupancy measurement estimator calculating the number of received bytes from radio and making some fuzzy guesses on how much more time transmitters did spend on channel before and after each packet.

The Aprx-program will also send telemetry packets about each receiver which can then be graphed at APRS-IS, like happens with http://aprs.fi/telemetry/OH2RDK-5?range=week