C############################################################# C# # C# Configuration file for Dire Wolf # C# # L# Linux version # W# Windows version # M# Macintosh version # C# # C############################################################# R R R The sample config file was getting pretty messy R with the Windows and Linux differences. R It would be a maintenance burden to keep most of R two different versions in sync. R This common source is now used to generate the R two different variations while having only a single R copy of the common parts. R R The first column contains one of the following: R R R remark which is discarded. R C common to both versions. R W Windows version only. R L Linux version only. R M Macintosh version and possibly others (portaudio used). R C# C# Consult the User Guide for more details on configuration options. C# C# C# These are the most likely settings you might change: C# C# (1) MYCALL - call sign and SSID for your station. C# C# Look for lines starting with MYCALL and C# change NOCALL to your own. C# C# (2) PBEACON - enable position beaconing. C# C# Look for lines starting with PBEACON and C# modify for your call, location, etc. C# C# (3) DIGIPEATER - configure digipeating rules. C# C# Look for lines starting with DIGIPEATER. C# Most people will probably use the given example. C# Just remove the "#" from the start of the line C# to enable it. C# C# (4) IGSERVER, IGLOGIN - IGate server and login C# C# Configure an IGate client to relay messages between C# radio and internet servers. C# C# C# The default location is "direwolf.conf" in the current working directory. L# On Linux, the user's home directory will also be searched. C# An alternate configuration file location can be specified with the "-c" command line option. C# C# As you probably guessed by now, # indicates a comment line. C# C# Remove the # at the beginning of a line if you want to use a sample C# configuration that is currently commented out. C# C# Commands are a keyword followed by parameters. C# C# Command key words are case insensitive. i.e. upper and lower case are equivalent. C# C# Command parameters are generally case sensitive. i.e. upper and lower case are different. C# C C C############################################################# C# # C# FIRST AUDIO DEVICE PROPERTIES # C# (Channel 0 + 1 if in stereo) # C# # C############################################################# C C# C# Many people will simply use the default sound device. C# Some might want to use an alternative device by chosing it here. C# W# When the Windows version starts up, it displays something like W# this with the available sound devices and capabilities: W# W# Available audio input devices for receive (*=selected): W# * 0: Microphone (C-Media USB Headpho (channel 2) W# 1: Microphone (Bluetooth SCO Audio W# 2: Microphone (Bluetooth AV Audio) W# * 3: Microphone (Realtek High Defini (channels 0 & 1) W# Available audio output devices for transmit (*=selected): W# * 0: Speakers (C-Media USB Headphone (channel 2) W# 1: Speakers (Bluetooth SCO Audio) W# 2: Realtek Digital Output(Optical) W# 3: Speakers (Bluetooth AV Audio) W# * 4: Speakers (Realtek High Definiti (channels 0 & 1) W# 5: Realtek Digital Output (Realtek W# W# Example: To use the microphone and speaker connections on the W# system board, either of these forms can be used: W W#ADEVICE High W#ADEVICE 3 4 W W W# Example: To use the USB Audio, use a command like this with W# the input and output device numbers. (Remove the # comment character.) W#ADEVICE USB W W# The position in the list can change when devices (e.g. USB) are added and removed. W# You can also specify devices by using part of the name. W# Here is an example of specifying the USB Audio device. W# This is case-sensitive. Upper and lower case are not treated the same. W W#ADEVICE USB W W L# Linux ALSA is complicated. See User Guide for discussion. L# To use something other than the default, generally use plughw L# and a card number reported by "arecord -l" command. Example: L L# ADEVICE plughw:1,0 L L# Starting with version 1.0, you can also use "-" or "stdin" to L# pipe stdout from some other application such as a software defined L# radio. You can also specify "UDP:" and an optional port for input. L# Something different must be specified for output. L M# Macintosh Operating System uses portaudio driver for audio M# input/output. Default device selection not available. User/OP M# must configure the sound input/output option. Note that M# the device names can contain spaces. In this case, the names M# must be enclosed by quotes. M# M# Examples: M# M# ADEVICE "USB Audio Codec:6" "USB Audio Codec:5" M# M# W# ADEVICE - 0 W# ADEVICE UDP:7355 0 L# ADEVICE - plughw:1,0 L# ADEVICE UDP:7355 default M# ADEVICE UDP:7355 default M# L L C C# C# Number of audio channels for this souncard: 1 or 2. C# C CACHANNELS 1 C#ACHANNELS 2 C C C############################################################# C# # C# SECOND AUDIO DEVICE PROPERTIES # C# (Channel 2 + 3 if in stereo) # C# # C############################################################# C C#ADEVICE1 ... C C C############################################################# C# # C# THIRD AUDIO DEVICE PROPERTIES # C# (Channel 4 + 5 if in stereo) # C# # C############################################################# C C#ADEVICE2 ... C C C############################################################# C# # C# CHANNEL 0 PROPERTIES # C# # C############################################################# C CCHANNEL 0 C C# C# The following MYCALL, MODEM, PTT, etc. configuration items C# apply to the most recent CHANNEL. C# C C# C# Station identifier for this channel. C# Multiple channels can have the same or different names. C# C# It can be up to 6 letters and digits with an optional ssid. C# The APRS specification requires that it be upper case. C# C# Example (don't use this unless you are me): MYCALL WB2OSZ-5 C# C CMYCALL N0CALL C C# C# Pick a suitable modem speed based on your situation. C# 1200 Most common for VHF/UHF. Default if not specified. C# 300 Low speed for HF SSB. C# 9600 High speed - Can't use Microphone and Speaker connections. C# C# In the simplest form, just specify the speed. C# C CMODEM 1200 C#MODEM 300 C#MODEM 9600 C C# C# These are the defaults should be fine for most cases. In special situations, C# you might want to specify different AFSK tones or the baseband mode which does C# not use AFSK. C# C#MODEM 1200 1200:2200 C#MODEM 300 1600:1800 C#MODEM 9600 0:0 C# C# C# On HF SSB, you might want to use multiple demodulators on slightly different C# frequencies to compensate for stations off frequency. Here we have 7 different C# demodulators at 30 Hz intervals. This takes a lot of CPU power so you will C# probably need to reduce the audio sampling rate with the /n option. C C#MODEM 300 1600:1800 7@30 /4 C C C# C# Uncomment line below to enable the DTMF decoder for this channel. C# C C#DTMF C C# C# If not using a VOX circuit, the transmitter Push to Talk (PTT) C# control is usually wired to a serial port with a suitable interface circuit. C# DON'T connect it directly! C# C# For the PTT command, specify the device and either RTS or DTR. C# RTS or DTR may be preceded by "-" to invert the signal. C# Both can be used for interfaces that want them driven with opposite polarity. C# L# COM1 can be used instead of /dev/ttyS0, COM2 for /dev/ttyS1, and so on. L# C C#PTT COM1 RTS C#PTT COM1 RTS -DTR L#PTT /dev/ttyUSB0 RTS C L# L# On Linux, you can also use general purpose I/O pins if L# your system is configured for user access to them. L# This would apply mostly to microprocessor boards, not a regular PC. L# See separate Raspberry Pi document for more details. L# The number may be preceded by "-" to invert the signal. L# L L#PTT GPIO 25 L C# The Data Carrier Detect (DCD) signal can be sent to the same places C# as the PTT signal. This could be used to light up an LED like a normal TNC. C C#DCD COM1 -DTR L#DCD GPIO 24 C C C############################################################# C# # C# CHANNEL 1 PROPERTIES # C# # C############################################################# C C#CHANNEL 1 C C# C# Specify MYCALL, MODEM, PTT, etc. configuration items for C# CHANNEL 1. Repeat for any other channels. C C C############################################################# C# # C# TEXT TO SPEECH COMMAND FILE # C# # C############################################################# C W#SPEECH dwespeak.bat L#SPEECH dwespeak.sh C C C############################################################# C# # C# VIRTUAL TNC SERVER PROPERTIES # C# # C############################################################# C C# C# Dire Wolf acts as a virtual TNC and can communicate with C# client applications by different protocols: C# C# - the "AGW TCPIP Socket Interface" - default port 8000 C# - KISS protocol over TCP socket - default port 8001 W# - KISS TNC via serial port L# - KISS TNC via pseudo terminal (-p command line option) C# C CAGWPORT 8000 CKISSPORT 8001 C W# W# Some applications are designed to operate with only a physical W# TNC attached to a serial port. For these, we provide a virtual serial W# port that appears to be connected to a TNC. W# W# Take a look at the User Guide for instructions to set up W# two virtual serial ports named COM3 and COM4 connected by W# a null modem. W# W# Using the configuration described, Dire Wolf will connect to W# COM3 and the client application will use COM4. W# W# Uncomment following line to use this feature. W W#NULLMODEM COM3 W W C# C# It is sometimes possible to recover frames with a bad FCS. C# This applies to all channels. C# C# 0 [NONE] - Don't try to repair. C# 1 [SINGLE] - Attempt to fix single bit error. (default) C# 2 [DOUBLE] - Also attempt to fix two adjacent bits. C# ... see User Guide for more values and in-depth discussion. C# C C#FIX_BITS 0 C C# C############################################################# C# # C# BEACONING PROPERTIES # C# # C############################################################# C C C# C# Beaconing is configured with these two commands: C# C# PBEACON - for a position report (usually yourself) C# OBEACON - for an object report (usually some other entity) C# C# Each has a series of keywords and values for options. C# See User Guide for details. C# C# Example: C# C# This results in a broadcast once every 10 minutes. C# Every half hour, it can travel via two digipeater hops. C# The others are kept local. C# C C#PBEACON delay=1 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W power=50 height=20 gain=4 comment="Chelmsford MA" via=WIDE1-1,WIDE2-1 C#PBEACON delay=11 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W power=50 height=20 gain=4 comment="Chelmsford MA" C#PBEACON delay=21 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W power=50 height=20 gain=4 comment="Chelmsford MA" C C C# With UTM coordinates instead of latitude and longitude. C C#PBEACON delay=1 every=10 overlay=S symbol="digi" zone=19T easting=307477 northing=4720178 C C C# C# When the destination field is set to "SPEECH" the information part is C# converted to speech rather than transmitted as a data frame. C# C C#CBEACON dest="SPEECH" info="Club meeting tonight at 7 pm." C C# Similar for Morse code. If SSID is specified, it is multiplied C# by 2 to get speed in words per minute (WPM). C C#CBEACON dest="MORSE-6" info="de MYCALL" C C C# C# Modify for your particular situation before removing C# the # comment character from the beginning of appropriate lines above. C# C C C############################################################# C# # C# DIGIPEATER PROPERTIES # C# # C############################################################# C C# C# For most common situations, use something like this by removing C# the "#" from the beginning of the line below. C# C C#DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$ TRACE C C# See User Guide for more explanation of what this means and how C# it can be customized for your particular needs. C C# Filtering can be used to limit was is digipeated. C# For example, only weather weather reports, received on channel 0, C# will be retransmitted on channel 1. C# C C#FILTER 0 1 t/wn C C C############################################################# C# # C# INTERNET GATEWAY # C# # C############################################################# C C# First you need to specify the name of a Tier 2 server. C# The current preferred way is to use one of these regional rotate addresses: C C# noam.aprs2.net - for North America C# soam.aprs2.net - for South America C# euro.aprs2.net - for Europe and Africa C# asia.aprs2.net - for Asia C# aunz.aprs2.net - for Oceania C C#IGSERVER noam.aprs2.net C C# You also need to specify your login name and passcode. C# Contact the author if you can't figure out how to generate the passcode. C C#IGLOGIN WB2OSZ-5 123456 C C# That's all you need for a receive only IGate which relays C# messages from the local radio channel to the global servers. C C# Some might want to send an IGate client position directly to a server C# without sending it over the air and relying on someone else to C# forward it to an IGate server. This is done by using sendto=IG rather C# than a radio channel number. Overlay R for receive only, T for two way. C C#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=R lat=42^37.14N long=071^20.83W C#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=T lat=42^37.14N long=071^20.83W C C C# To relay messages from the Internet to radio, you need to add C# one more option with the transmit channel number and a VIA path. C C#IGTXVIA 0 WIDE1-1 C C# You might want to apply a filter for what packets will be obtained from the server. C# Read about filters here: http://www.aprs-is.net/javaprsfilter.aspx C# Example, positions and objects within 50 km of my location: C C#IGFILTER m/50 C C# That is known as a server-side filter. It is processed by the IGate server. C# You can also apply local filtering to limit what will be transmitted on the C# RF side. For example, transmit only "messages" on channel 0 and weather C# reports on channel 1. C C#FILTER IG 0 t/m C#FILTER IG 1 t/wn C C# Finally, we don't want to flood the radio channel. C# The IGate function will limit the number of packets transmitted C# during 1 minute and 5 minute intervals. If a limit would C# be exceeded, the packet is dropped and message is displayed in red. C CIGTXLIMIT 6 10 C C C############################################################# C# # C# APRStt GATEWAY # C# # C############################################################# C C# C# Dire Wolf can receive DTMF (commonly known as Touch Tone) C# messages and convert them to packet objects. C# C# See separate "APRStt-Implementation-Notes" document for details. C# C C# C# Sample gateway configuration based on: C# C# http://www.aprs.org/aprstt/aprstt-coding24.txt C# http://www.aprs.org/aprs-jamboree-2013.html C# C C# Define specific points. C CTTPOINT B01 37^55.37N 81^7.86W CTTPOINT B7495088 42.605237 -71.34456 CTTPOINT B934 42.605237 -71.34456 C CTTPOINT B901 42.661279 -71.364452 CTTPOINT B902 42.660411 -71.364419 CTTPOINT B903 42.659046 -71.364452 CTTPOINT B904 42.657578 -71.364602 C C C# For location at given bearing and distance from starting point. C CTTVECTOR B5bbbddd 37^55.37N 81^7.86W 0.01 mi C C# For location specified by x, y coordinates. C CTTGRID Byyyxxx 37^50.00N 81^00.00W 37^59.99N 81^09.99W C C# UTM location for Lowell-Dracut-Tyngsborough State Forest. C CTTUTM B6xxxyyy 19T 10 300000 4720000 C C C C# Location for the corral. C CTTCORRAL 37^55.50N 81^7.00W 0^0.02N C C# Compact messages - Fixed locations xx and object yyy where C# Object numbers 100 - 199 = bicycle C# Object numbers 200 - 299 = fire truck C# Others = dog C CTTMACRO xx1yy B9xx*AB166*AA2B4C5B3B0A1yy CTTMACRO xx2yy B9xx*AB170*AA3C4C7C3B0A2yy CTTMACRO xxyyy B9xx*AB180*AA3A6C4A0Ayyy C CTTMACRO z Cz C C# Receive on channel 0, Transmit object reports on channel 1 with optional via path. C# You probably want to put in a transmit delay on the APRStt channel so it C# it doesn't start sending a response before the user releases PTT. C# This is in 10 ms units so 100 means 1000 ms = 1 second. C C#TTOBJ 0 1 WIDE1-1 C#CHANNEL 0 C#DWAIT 100 C C# Advertise gateway position with beacon. C C# OBEACON DELAY=0:15 EVERY=10:00 VIA=WIDE1-1 OBJNAME=WB2OSZ-tt SYMBOL=APRStt LAT=42^37.14N LONG=71^20.83W COMMENT="APRStt Gateway" C C C# Sample speech responses. C# Default is Morse code "R" for received OK and "?" for all errors. C C#TTERR OK SPEECH Message Received. C#TTERR D_MSG SPEECH D not implemented. C#TTERR INTERNAL SPEECH Internal error. C#TTERR MACRO_NOMATCH SPEECH No definition for digit sequence. C#TTERR BAD_CHECKSUM SPEECH Bad checksum on call. C#TTERR INVALID_CALL SPEECH Invalid callsign. C#TTERR INVALID_OBJNAME SPEECH Invalid object name. C#TTERR INVALID_SYMBOL SPEECH Invalid symbol. C#TTERR INVALID_LOC SPEECH Invalid location. C#TTERR NO_CALL SPEECH No call or object name. C#TTERR SATSQ SPEECH Satellite square must be 4 digits. C#TTERR SUFFIX_NO_CALL SPEECH Send full call before using suffix. C