%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%# Extensive documentation can be found here: %C%# Stable release - https://github.com/wb2osz/direwolf/tree/master/doc %C%# Latest development - https://github.com/wb2osz/direwolf/tree/dev/doc %C%# Additional topics - https://github.com/wb2osz/direwolf-doc %C%# %W%# The basic documentation set can also be found in the doc folder. %L%# The basic documentation set can also be found in %L%# /usr/local/share/doc/direwolf/ or /usr/share/doc/direwolf/ %L%# Concise "man" pages are also available for Linux. %M%# /usr/local/share/doc/direwolf/ or /usr/share/doc/direwolf/ %M%# Concise "man" pages are also available for Mac OSX. %C%# %C%# Questions??? Join the discussion forum: https://groups.io/g/direwolf %C%# %C%# %C%# This sample file does not have examples for all of the possibilities. %C%# Consult the User Guide for more details on configuration options %C%# and other documents for more details for different uses. %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 choosing it here. %C%# %R% ---------- Windows ---------- %R% %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%# You can also use "-" or "stdin" to pipe stdout from %W%# some other application such as a software defined radio. %W%# "stdin" is not an audio device. Don't use this unless you %W%# understand what this means. Read the User Guide. %W%# You can also specify "UDP:" and an optional port for input. %W%# "-" or "stdout" can be used to pipe audio out to another application. %W%# The -O option must be specified on the command line to support this. %W%# For UDP output, specify the destination IP address/hostname and port number %W%# using "UDP:destination:port" syntax %W% %W%# ADEVICE stdin 0 %W%# ADEVICE UDP:7355 0 %W%# ADEVICE UDP:7355 UDP:localhost:7356 %W%# ADEVICE stdin stdout %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% %R% ---------- Linux ---------- %R% %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%# You can also use "-" or "stdin" to pipe stdout from %L%# some other application such as a software defined radio. %L%# "stdin" is not an audio device. Don't use this unless you %L%# understand what this means. Read the User Guide. %L%# You can also specify "UDP:" and an optional port for input. %L%# "-" or "stdout" can be used to pipe audio out to another application. %L%# The -O option must be specified on the command line to support this. %L%# For UDP output, specify the destination IP address/hostname and port number %L%# using "UDP:destination:port" syntax %L% %L%# ADEVICE stdin plughw:1,0 %L%# ADEVICE UDP:7355 default %L%# ADEVICE UDP:7355 UDP:localhost:7356 %L%# ADEVICE stdin stdout %L% %R% ---------- Mac ---------- %R% %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 "Built-in Input" "Built-in Output" %M% %M%# ADEVICE "USB Audio Codec:6" "USB Audio Codec:5" %M%# %M%# %M%# You can also use "-" or "stdin" to pipe stdout from %M%# some other application such as a software defined radio. %M%# "stdin" is not an audio device. Don't use this unless you %M%# understand what this means. Read the User Guide. %M%# You can also specify "UDP:" and an optional port for input. %M%# "-" or "stdout" can be used to pipe audio out to another application. %M%# The -O option must be specified on the command line to support this. %M%# For UDP output, specify the destination IP address/hostname and port number %M%# using "UDP:destination:port" syntax %M% %M%# ADEVICE UDP:7355 default %M%# ADEVICE UDP:7355 UDP:localhost:7356 %M%# ADEVICE stdin stdout %M%# %C% %C%# %C%# Number of audio channels for this souncard: 1 (mono) or 2 (stereo). %C%# 1 is the default so there is no need to specify it. %C%# %C% %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% %C%CHANNEL 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% %C%MYCALL N0CALL %C% %C%# %C%# Pick a suitable modem speed based on your situation. %C%# 1200 Most common for VHF/UHF. This is the default if not specified. %C%# 2400 QPSK compatible with MFJ-2400, and probably PK232-2400 & KPC-2400. %C%# 300 Low speed for HF SSB. Default tones 1600 & 1800. %C%# EAS Emergency Alert System (EAS) Specific Area Message Encoding (SAME). %C%# 9600 G3RUH style - Can't use Microphone and Speaker connections. %C%# AIS International system for tracking ships on VHF. %C%# Also uses 9600 bps so Speaker connection won't work. %C%# %C%# In most cases you can just specify the speed. Examples: %C%# %C% %C%MODEM 1200 %C%#MODEM 9600 %C% %C%# %C%# Many options are available for great flexibility. %C%# See User Guide for details. %C%# %C% %C%# %C%# Uncomment line below to enable the DTMF decoder for this channel. %C%# %C% %C%#DTMF %C% %C%# Push to Talk (PTT) can be confusing because there are so many different cases. %C%# Radio-Interface-Guide.pdf in https://github.com/wb2osz/direwolf-doc %C%# goes into detail about the various options. %C% %L%# If using a C-Media CM108/CM119 or similar USB Audio Adapter, %L%# you can use a GPIO pin for PTT control. This is very convenient %L%# because a single USB connection is used for both audio and PTT. %L%# Example: %L% %L%#PTT CM108 %L% %W%# If using a C-Media CM108/CM119 or similar USB Audio Adapter, %W%# you can use a GPIO pin for PTT control. This is very convenient %W%# because a single USB connection is used for both audio and PTT. %W%# Example: %W% %W%#PTT CM108 %W%%C%# %C%# The transmitter Push to Talk (PTT) control can be wired to a serial port %C%# with a suitable interface circuit. 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 %L%#PTT /dev/ttyUSB0 RTS -DTR %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 most of 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% %C%AGWPORT 8000 %C%KISSPORT 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 is not a global setting. %C%# It applies only the the most recent CHANNEL specified. %C%# %C%# 0 - Don't try to repair. %C%# 1 - Attempt to fix single bit error. (default) %C%# %C% %C%#FIX_BITS 0 %C% %C%# %C%############################################################# %C%# # %C%# FIXED POSIION 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 one digipeater hop. %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 %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%# Did you know that APRS comments and messages can contain UTF-8 characters, not only plain ASCII? %C%# %C%#PBEACON delay=1 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W comment=" Did you know that APRS comments and messages can contain UTF-8 characters? \xe0\xb8\xa7\xe0\xb8\xb4\xe0\xb8\x97\xe0\xb8\xa2\xe0\xb8\xb8\xe0\xb8\xaa\xe0\xb8\xa1\xe0\xb8\xb1\xe0\xb8\x84\xe0\xb8\xa3\xe0\xb9\x80\xe0\xb8\xa5\xe0\xb9\x88\xe0\xb8\x99" %C%#PBEACON delay=11 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W comment=" Did you know that APRS comments and messages can contain UTF-8 characters? \xce\xa1\xce\xb1\xce\xb4\xce\xb9\xce\xbf\xce\xb5\xcf\x81\xce\xb1\xcf\x83\xce\xb9\xcf\x84\xce\xb5\xcf\x87\xce\xbd\xce\xb9\xcf\x83\xce\xbc\xcf\x8c\xcf\x82" %C%#PBEACON delay=21 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W comment=" Did you know that APRS comments and messages can contain UTF-8 characters? \xe3\x82\xa2\xe3\x83\x9e\xe3\x83\x81\xe3\x83\xa5\xe3\x82\xa2\xe7\x84\xa1\xe7\xb7\x9a" %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%# APRS 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% %C%# Traditional connected mode packet radio uses a different %C%# type of digipeating. See User Guide for details. %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%# There is no need to send it as often as you would over the radio. %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% %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%# This might be low for APRS Thursday when there is abnormally high activity. %C% %C%IGTXLIMIT 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% %C%TTPOINT B01 37^55.37N 81^7.86W %C%TTPOINT B7495088 42.605237 -71.34456 %C%TTPOINT B934 42.605237 -71.34456 %C% %C%TTPOINT B901 42.661279 -71.364452 %C%TTPOINT B902 42.660411 -71.364419 %C%TTPOINT B903 42.659046 -71.364452 %C%TTPOINT B904 42.657578 -71.364602 %C% %C% %C%# For location at given bearing and distance from starting point. %C% %C%TTVECTOR B5bbbddd 37^55.37N 81^7.86W 0.01 mi %C% %C%# For location specified by x, y coordinates. %C% %C%TTGRID Byyyxxx 37^50.00N 81^00.00W 37^59.99N 81^09.99W %C% %C%# UTM location for Lowell-Dracut-Tyngsborough State Forest. %C% %C%TTUTM B6xxxyyy 19T 10 300000 4720000 %C% %C% %C% %C%# Location for the corral. %C% %C%TTCORRAL 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% %C%TTMACRO xx1yy B9xx*AB166*AA2B4C5B3B0A1yy %C%TTMACRO xx2yy B9xx*AB170*AA3C4C7C3B0A2yy %C%TTMACRO xxyyy B9xx*AB180*AA3A6C4A0Ayyy %C% %C%TTMACRO 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%