Configuration

Overview
wxncommon.conf - common to the server suite
wxnhostd.conf - wx station host
wxnaprd.conf - general APRS interface
wxnqueryd.conf - APRS query server
wxnsamed.conf - NWR SAME server
aprsqth - custom QTH resolver
nodes.deny - refuse data from these stations

postgreSQL
AX.25


Overview

Each server has it's own configuration file and also share a common configuration file. This provides for easier maintenance and is not dependent on the others except for the data used by the system.

All files are text based and only require using a simple text editor to make entries and changes. Note that parameter keywords are NOT case sensitive. Title case is used to make them easier to read.

Important! - Entries have a keyword followed by a space, an equal sign, a trailing space and then the value. Keywords do not contain spaces. Format:

<keyword> = <value>

If a default value for a parameter is '?' it means that a value must be supplied.

Also covered in this document is the postgreSQL server and AX.25 information.

Back To Top


wxncommon.conf

Entries in this file are common to all four daemons: wxnhostd, wxnaprd, wxnqueryd, and wxnsamed.

Keyword
Default
Type
Description
ServerCall ? Text The call-ssid of this server.
Alias ? Text Alias to be used by this node. This parameter will written to the nodes table for this station as the first entry in the table. Also can be used by the query server as alternative to the call-ssid for the 'To' in the APRS message format.
AprsToCall APRS Text APRS destination call-ssid. Don't change the default unless you really know what you are doing.
AprsDigi WIDE3-3 Text Although the default will work, this probably needs to be changed to fit the dynamics in your area.
Ax25Port ? Text AX.25 port to be used (ax0, ax1, etc.) as setup in AX.25.
Latitude ? Numeric Latitude of the server in decimal degrees. That means 38 degrees 30 minutes is entered as '38.5' (without the quotes).
Longitude ? Numeric Same as above except is longitude.

Back To Top


wxnhostd.conf

Contains configuration information about the host weather station, it's location, external sensors and the Peet Brothers 'Weather Picture'.

General Setup
Keyword
Default
Type
Description
City ? Text City or place the node resides in (or is closest to).
County ? Text County the node resides in.
State ? Text Standard two letter state abbreviation. Must be upper-case.
StationType ? Text Defines the type of weather station used by the system. Types are as follows:
Heath ID-5001ID5
Peet Ultimeter IIUM2
Peet, all othersU2K
TAPR T-238 (Peet mode)T238
Davis Monitor II and WizardDAV2
Davis Vantage ProDAVP
AnemometerHeight ? Number Height of the anemometer assembly above ground (not the top of the structure!)
RainGaugeType H Text Rain gauge type. Available options:
    T - tenths
    H - hundredths
    M - millimeters
WxPort ? Text Serial port weather station is attached to. Do not prefix '/dev' in front of the device. e.g., use 'ttyS0' not '/dev/ttyS0'. Again, don't use the quotes.
WxBaud see right Number Baud rate for the weather station. Only needs to be set if different than the defaults listed below.
Peet (all)2400
ID-50019600
T-2382400
Davis MonII/Wizard2400
Davis Vantage Pro19200
WxStnTimeout see right Number Timeout for weather station in seconds. Under normal conditions, this should not be changed. Only if you keep getting log errors that the station is timing out and you have determined the weather station is working normally should the default be increased. If you do increase the default, only do so in five second increments.
Peet (all)15
ID-50015
Davis (all)5
T-23815
NullNoSensors y Boolean Sets fields to NULL in nodes table if fields were previously present and sensor is not detected at startup.
OneWirePort ? Text Serial port 1-Wire adaptor is attached to. Leave commented out if you are not using any of the 1-Wire add-ons. Do not prefix '/dev' in front of the device. e.g., use 'ttyS0' not '/dev/ttyS0'. Again, don't use the quotes.
WxPicPort ? Text Serial port Peet Weather Picture is attached to. Leave commented out if you are not using the Weather Picture. Do not prefix '/dev' in front of the device. e.g., use 'ttyS0' not '/dev/ttyS0'. Again, don't use the quotes.
Data Alarm/Email Settings
Keyword
Default
Type
Description
EmailAlertEnable n Boolean Enable email alerts if alarm trip points are exceeded. See the section on the alarm table for information about how to set the trip point values and the default settings.
EmailHost ? Text Enable email alerts if alarm trip points are exceeded. See the section on the alarm table for information about how to set the trip point values and the default settings.
EmailFromAcct ? Text ISP mail account. Required.
EmailFromName ? Text Name of email 'sender' (not the actual account). AKA alias. Optional.
EmailReplyTo ? Text Full email address of the person to whom replies will be sent. Required.
Radiation Monitor - see add-on sensors for additional information
Keyword
Default
Type
Description
Rad n Boolean Enables background radiation monitor. Also see section on RM60/RM70/RM80 sensors.
Cesium137 1050 Number Cesium 137 correction factor. Values for Aware Electronics models are given below.
 Model Value
 RM-60 1050
 RM-70 1490
 RM-80 3545
Example: Cesium137 = 1490
EMP (lightning) Sensor - see add-on sensors for additional information
Keyword
Default
Type
Description
Emp n Boolean Enables EMP (lightning) detector. Also see section on EMP sensors.
Rain Gauge Heater Control - see add-on sensors for additional information
Keyword
Default
Type
Description
OwHeaterCtrl n Boolean Enables the rain gauge heater control interface.
OwHeaterCtrlSN ? Text If another sensor is used that also employs the DS2405 PIO, this field must be specified. The serial number can be determined using the 'tstfind' 1-Wire utility. If this is the only sensor using the DS2405, then it is recommended that this parameter be left commented out and allow the startup code identify the device.
1-Wire Barometer - see add-on sensors for additional information
Keyword
Default
Type
Description
OwBarometer n Boolean Enables 1-Wire Barometer.
OwBarometerOffset 0 Numeric Integer offset in millibars for barometer. Used to make minor corrections without having to recalibrate. The offset is added to the reading. Can be positive or negative.
OwBarometerSN ? Text If another sensor is used that also employs the DS2438 A/D converter, this field must be specified. The serial number can be determined using the 'tstfind' 1-Wire utility. If this is the only sensor using the DS2438, then it is recommended that this parameter be left commented out and allow the startup code identify the device.
1-Wire Humidity Sensors - see add-on sensors for additional information
Keyword
Default
Type
Description
OwOutsideHumidity n Boolean Enables 1-Wire outside humidity sensor.
OwOutsideHumiditySN ? Text If another sensor is used that also employs the DS2438 A/D converter, this field must be specified. The serial number can be determined using the 'tstfind' 1-Wire utility. If this is the only sensor using the DS2438, then it is recommended that this parameter be left commented out and allow the startup code identify the device.
OwAspiratorCtrl n Boolean Enables 1-Wire aspirator control interface for outside humidity sensor.
OwAspiratorCtrlSN ? Text If another sensor is used that also employs the DS2405 PIO, this field must be specified. The serial number can be determined using the 'tstfind' 1-Wire utility. If this is the only sensor using the DS2405, then it is recommended that this parameter be left commented out and allow the startup code identify the device.
AspCtrlTrip 80 Numeric When detected relative humidity exceeds the given value, the aspirator is turned on. When the RH falls below this trip point, the unit is shut off.
OwInsideHumidity n Boolean Enables 1-Wire inside humidity sensor.
OwInsideHumiditySN ? Text If another sensor is used that also employs the DS2438 A/D converter, this field must be specified. The serial number can be determined using the 'tstfind' 1-Wire utility. If this is the only sensor using the DS2438, then it is recommended that this parameter be left commented out and allow the startup code identify the device.
1-Wire Temperature Sensors - see add-on sensors for additional information
Keyword
Default
Type
Description
OwInsideTemp n Boolean Enables 1-Wire inside temperature sensor.
OwInsideTempSN ? Text If another sensor is used that also employs the DS18S20 temperature sensor, this field must be specified. The serial number can be determined using the 'tstfind' 1-Wire utility. If this is the only sensor using the DS18S20, then it is recommended that this parameter be left commented out and allow the startup code identify the device.
OwSoilTemp n Boolean Enables first 1-Wire soil temperature sensor.
OwSoilTempSN ? Text If another sensor is used that also employs the DS18S20 temperature sensor, this field must be specified. The serial number can be determined using the 'tstfind' 1-Wire utility. If this is the only sensor using the DS18S20, then it is recommended that this parameter be left commented out and allow the startup code identify the device.
OwSoil2Temp n Boolean Enables second 1-Wire soil temperature sensor.
OwSoil2TempSN ? Text Since this is the second soil temperature sensor, the serial number will be required. Use the Dallas temp utility to determine which is the first and second sensors. Use your fingers to warm the second sensor. When the temperature changes while running the utility, note the serial number. The remaining device serial number will be the first sensor. Of course this assumes you only have the soil temperature sensors plugged in.
OwOutsideTemp n Boolean Enables 1-Wire outside temperature sensor. When enabled, the outside temperature reading returned by the weather station is replaced with the value returned by this sensor.
OwOutsideTempSN ? Text If another sensor is used that also employs the DS18S20 temperature sensor, this field must be specified. The serial number can be determined using the 'tstfind' 1-Wire utility. If this is the only sensor using the DS18S20, then it is recommended that this parameter be left commented out and allow the startup code identify the device.

Back To Top


wxnaprd.conf

Configuration information about the APRS interface. That is, how the node processes and handles outgoing and incoming APRS packets.

General Setup
Keyword
Default
Type
Description
AprsExtraText ? Text Used typically to send PHG and some other message (typically your email address) along with the position of the node. Example:
AprsExtraText = PHG2130/n4xi@arrl.net
AprsExtraTextInterval 20 Numeric Interval in minutes between extra text and extended data transmissions. Value of 20 seems to be about right. You could go as short as 15 minutes or as much as 30. If you make it too short, your node will have a tendency to hog the channel. If too long, the extended data will not be timely at any other WXN nodes in the network.
AprsDelayThreshold 0 Numeric Experimental. See 'Handling Channel Congestion elsewhere for more information.
AprsReceive y Boolean Enables reception of other APRS weather nodes. An example of when the receive interface would be disabled would be for a remote installation where there are no local users at the console or over a TCP/IP network.
ReceiveLocal n Boolean Enables/disables monitoring of outgoing as well incoming packets. Used to monitor packets gated to RF by an IGATE. Don't enable unless you are running an IGATE and need to capture outgoing packets.
Callsign Lookup: Note that the internal callbook and QRZ interface are mutually exclusive. That is, one or the other can be used but not both.
QRZ Interface - see discussion elsewhere for additional information
UseQrz n Boolean Enables QRZ interface to resolve station location by city, county, state.
QrzPath /mnt/cdrom/callbk Text You can use the cdrom directly. However, most cdroms are very slow to spin up. As a result, the system will constantly be dropping packets for having to wait for the cdrom. The parameter allows copying the required files to the hard drive and then setting the path accordingly. Performance will dramatically improve. See discussion elsewhere on what files to copy, how to copy them and where to put them.
Callbook Interface - the built-in callbook
UseCallbook n Boolean Enables internal callbook to resolve station location by city, county, state.

Back To Top


wxnqueryd.conf

Configuration information about the APRS query server.

Keyword
Default
Type
Description
UseAlias n Boolean Query server responds to either the call-ssid or Alias parameters in wxnhostd.conf. Setting this paramter to 'y' (don't use quotes) will cause the server to respond only to the Alias. Otherwise the call-ssid will be used.
Retries 5 Numeric The number of times the server will attempt to send a reply to the query before giving up.
FrAckTimer 30 Numeric Time in seconds to wait for an acknowledgement to a transmitted packet. If you are in a congested environment, this value may need to be increased.
DelayTime 30 Numeric The maximum delay time after the FrAckTimer expires before a packet is re-transmitted. The delay is random in nature, but will exceed this parameter. If you have congested conditions, this may have to be increased.

Back To Top


wxnsamed.conf

This server is still under development.

Back To Top


aprsqth

The file aprsqth is the most accurate means of resolving and retrieving the QTH information for an APRS station. Each entry in the text file is comma-delimited and has the following format:

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

Example:

wb9tlh-10, Kirksville, Monroe, IN

This file can be used 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

Back To Top


nodes.deny

Entries in this file are used to keep those call-ssid's out of the database. Each entry is simply 'callsign-ssid' (without the quotes). Examples:

n0call
nocall
n9lid-9

Back To Top


PostgreSQL

There are two files involved with getting PostgreSQL properly configured so that it will accept ethernet and local connections. This will be necessary in order to access data either using ODBC or for web access. In Red Hat 9 and Fedora Core, these files are found in /var/lib/pgsql/data. Although modifications for each is described below, the reader is advised to read and understand all related documentation on PostgreSQL. A good place to start is at http://www.postgresql.org.

pg_hba.conf - This file controls what network connections are allowed to connect to the database and associated permissions. Examples are given in the file fragment below.

#TYPEDATABASEUSERIP-ADDRESSIP-MASKMETHOD
localallall trust
hostwxnall127.0.0.1255.255.255.255trust
hostwxnall192.168.1.0255.255.255.0trust
 
# Using sockets credentials for improved security. Not available everywhere,
# but works on Linux, *BSD (and probably some others)
localallallidentsameuser

In the example, the local loopback has been enabled as well as local access over an Ethernet connection. Note that this only an example. If you intend to allow access from the Internet, you will need at the very least firewall protection. You will also need to read about security configuration for the PostgreSQL server.

postgresql.conf - Only one entry needs to be changed in this file. By default TCP/IP connections are disabled. You will need to enable connections if you want to access the data on a network. How you do this depends on which version of PostgreSQL you are running.

If running versions 7.3.x or 7.4.x,, uncomment the line labeled tcpip_socket and change false to true. The example shows the lines in the file after it has been modified.

#
# Connection Parameters
#
tcpip_socket = true
#

If using version 8.x.x,, uncomment the line labeled listen_addresses and change the entry to something like the following:

#
listen_addresses = 'localhost, 192.168.1.10'
#

In the above you will need to replace the 192.168.1.10 with the IP address of the ethernet port on your machine that is connected to your network. This was about as clear as mud in the PostgreSQL documentation. Don't forget the single quotes either. That will make your life miserable too.

In either case, after making the changes, save and exit. You will now have to restart PostgreSQL for the changes to take effect. To do this, type the following at the command prompt:

[root@mynode data]# /etc/init.d/postgresql restart

The above assumes startup scripts are in the usual place. If the above does not work, you will need to locate the startup script for PostgreSQL and make adjustments accordingly.

The last step in configuration is to configure the OS so that PostgreSQL is started automatically when the system boots. If your particular flavor of OS supports chkconfig, then the following should work:

Check the current run-levels by entering:

[root@mynode data]chkconfig --list postgresql
postgresql 0:off 1:off 2:off 3:on 4:off 5:on 6:off

If you do not see 3:on and 5:on as you see it above, change by entering:

[root@mynode data]chkconfig --level 35 postgresql on

Verify that the setting took by repeating the first step. If it shows as it is above, PostgreSQL will automatically start the next time you boot.

If your system does not support chkconfig, then you will most likely need to link the startup script into the appropriate rc startup directories by hand or use the appropriate utility.

Back To Top


AX.25

The AX.25 protocol is built into the kernel. Therefore, you must be certain that your kernel build contains the required support. If it doesn't, then you will need to do a custom build. There are plenty of sources on the web that explain how to do this.

In addition to kernel support, you will also need to build libax25, ax25-tools and ax25-apps from the sources. These packages provide the necessary tools and apps to properly configure and test AX.25 on a Linux box. Follow the instructions given with those packages. They can be downloaded from Sourceforge. There is also plenty of information and help on the Internet for AX.25.

Very Important! Be sure to get AX.25 up and running correctly before trying to run the server.

Back To Top