Towards a reliable APRS iGate – #2

Towards a reliable APRS iGate discussed efforts to implement a robust and reliable APRS iGate / digi. The article ended by mentioning further work on initialisation scripts.

Scripts were developed and test to initialise the server using RPi’s implementation of LSB enabled SysV init scripts, and expect scripts to configure TNCs.

The server used a KISS TNC, using javAPRSSrvr’s native KISS support (ie it did not use kernel AX.25 support).

SysV init

The SysV init script uses quite standard features, including LSB support.

The script will run javAPRSSrvr as a user for security reasons, communications software which provides an alternative network access port (the TNC) should not have root privilege, much less when the code is not open to review.

The script will optionally run TNC configuration scripts in the start and stop sections, if those scripts exist.

The javAPRSSrvr.sh script is available at https://github.com/owenduffy/jas/src.

TNC init

Expect scripts were developed to initialise the TNC, setting it in KISS mode and sending the KISS configuration parameters prior to starting the server itself.

Various scripts are at https://github.com/owenduffy/jas/src.

Dual mode use

In use, the TNC is switchable between Paccomm v5.0 and UIDIGI v1.9B3. The server startup scripts will be called automatically on power cycling and abort if the TNC is in UIDIGI mode as it will not respond in an acceptable way to the initialisation scripts.

Maintenance / changes

Scripts may be updated from time to time with enhancements. The current postings have been tested extensively on a single RPi Raspbian wheezy system and proven reliable.