1%C%############################################################# 2%C%# # 3%C%# Configuration file for Dire Wolf # 4%C%# # 5%L%# Linux version # 6%W%# Windows version # 7%M%# Macintosh version # 8%C%# # 9%C%############################################################# 10%R% 11%R% 12%R% The sample config file was getting pretty messy 13%R% with the Windows and Linux differences. 14%R% It would be a maintenance burden to keep most of 15%R% two different versions in sync. 16%R% This common source is now used to generate the 17%R% two different variations while having only a single 18%R% copy of the common parts. 19%R% 20%R% The first column contains one of the following: 21%R% 22%R% R remark which is discarded. 23%R% C common to both versions. 24%R% W Windows version only. 25%R% L Linux version only. 26%R% M Macintosh version and possibly others (portaudio used). 27%R% 28%C%# 29%C%# Extensive documentation can be found here: 30%C%# Stable release - https://github.com/wb2osz/direwolf/tree/master/doc 31%C%# Latest development - https://github.com/wb2osz/direwolf/tree/dev/doc 32%C%# 33%W%# The complete documentation set can also be found in the doc folder. 34%L%# The complete documentation set can also be found in 35%L%# /usr/local/share/doc/direwolf/ or /usr/share/doc/direwolf/ 36%L%# Concise "man" pages are also available for Linux. 37%M%# /usr/local/share/doc/direwolf/ or /usr/share/doc/direwolf/ 38%M%# Concise "man" pages are also available for Mac OSX. 39%C%# 40%C%# This sample file does not have examples for all of the possibilities. 41%C%# Consult the User Guide for more details on configuration options.%C%# 42%C%# 43%C%# These are the most likely settings you might change: 44%C%# 45%C%# (1) MYCALL - call sign and SSID for your station. 46%C%# 47%C%# Look for lines starting with MYCALL and 48%C%# change NOCALL to your own. 49%C%# 50%C%# (2) PBEACON - enable position beaconing. 51%C%# 52%C%# Look for lines starting with PBEACON and 53%C%# modify for your call, location, etc. 54%C%# 55%C%# (3) DIGIPEATER - configure digipeating rules. 56%C%# 57%C%# Look for lines starting with DIGIPEATER. 58%C%# Most people will probably use the given example. 59%C%# Just remove the "#" from the start of the line 60%C%# to enable it. 61%C%# 62%C%# (4) IGSERVER, IGLOGIN - IGate server and login 63%C%# 64%C%# Configure an IGate client to relay messages between 65%C%# radio and internet servers. 66%C%# 67%C%# 68%C%# The default location is "direwolf.conf" in the current working directory. 69%L%# On Linux, the user's home directory will also be searched. 70%C%# An alternate configuration file location can be specified with the "-c" command line option. 71%C%# 72%C%# As you probably guessed by now, # indicates a comment line. 73%C%# 74%C%# Remove the # at the beginning of a line if you want to use a sample 75%C%# configuration that is currently commented out. 76%C%# 77%C%# Commands are a keyword followed by parameters. 78%C%# 79%C%# Command key words are case insensitive. i.e. upper and lower case are equivalent. 80%C%# 81%C%# Command parameters are generally case sensitive. i.e. upper and lower case are different. 82%C%# 83%C% 84%C% 85%C%############################################################# 86%C%# # 87%C%# FIRST AUDIO DEVICE PROPERTIES # 88%C%# (Channel 0 + 1 if in stereo) # 89%C%# # 90%C%############################################################# 91%C% 92%C%# 93%C%# Many people will simply use the default sound device. 94%C%# Some might want to use an alternative device by choosing it here. 95%C%# 96%R% ---------- Windows ---------- 97%R% 98%W%# When the Windows version starts up, it displays something like 99%W%# this with the available sound devices and capabilities: 100%W%# 101%W%# Available audio input devices for receive (*=selected): 102%W%# * 0: Microphone (C-Media USB Headpho (channel 2) 103%W%# 1: Microphone (Bluetooth SCO Audio 104%W%# 2: Microphone (Bluetooth AV Audio) 105%W%# * 3: Microphone (Realtek High Defini (channels 0 & 1) 106%W%# Available audio output devices for transmit (*=selected): 107%W%# * 0: Speakers (C-Media USB Headphone (channel 2) 108%W%# 1: Speakers (Bluetooth SCO Audio) 109%W%# 2: Realtek Digital Output(Optical) 110%W%# 3: Speakers (Bluetooth AV Audio) 111%W%# * 4: Speakers (Realtek High Definiti (channels 0 & 1) 112%W%# 5: Realtek Digital Output (Realtek 113%W%# 114%W%# Example: To use the microphone and speaker connections on the 115%W%# system board, either of these forms can be used: 116%W% 117%W%#ADEVICE High 118%W%#ADEVICE 3 4 119%W% 120%W% 121%W%# Example: To use the USB Audio, use a command like this with 122%W%# the input and output device numbers. (Remove the # comment character.) 123%W%#ADEVICE USB 124%W% 125%W%# You can also use "-" or "stdin" to pipe stdout from 126%W%# some other application such as a software defined radio. 127%W%# "stdin" is not an audio device. Don't use this unless you 128%W%# understand what this means. Read the User Guide. 129%W%# You can also specify "UDP:" and an optional port for input. 130%W%# Something different must be specified for output. 131%W% 132%W%# ADEVICE stdin 0 133%W%# ADEVICE UDP:7355 0 134%W% 135%W%# The position in the list can change when devices (e.g. USB) are added and removed. 136%W%# You can also specify devices by using part of the name. 137%W%# Here is an example of specifying the USB Audio device. 138%W%# This is case-sensitive. Upper and lower case are not treated the same. 139%W% 140%W%#ADEVICE USB 141%W% 142%W% 143%R% ---------- Linux ---------- 144%R% 145%L%# Linux ALSA is complicated. See User Guide for discussion. 146%L%# To use something other than the default, generally use plughw 147%L%# and a card number reported by "arecord -l" command. Example: 148%L% 149%L%# ADEVICE plughw:1,0 150%L% 151%L%# You can also use "-" or "stdin" to pipe stdout from 152%L%# some other application such as a software defined radio. 153%L%# "stdin" is not an audio device. Don't use this unless you 154%L%# understand what this means. Read the User Guide. 155%L%# You can also specify "UDP:" and an optional port for input. 156%L%# Something different must be specified for output. 157%L% 158%L%# ADEVICE stdin plughw:1,0 159%L%# ADEVICE UDP:7355 default 160%L% 161%R% ---------- Mac ---------- 162%R% 163%M%# Macintosh Operating System uses portaudio driver for audio 164%M%# input/output. Default device selection not available. User/OP 165%M%# must configure the sound input/output option. Note that 166%M%# the device names can contain spaces. In this case, the names 167%M%# must be enclosed by quotes. 168%M%# 169%M%# Examples: 170%M%# 171%M%ADEVICE "Built-in Input" "Built-in Output" 172%M% 173%M%# ADEVICE "USB Audio Codec:6" "USB Audio Codec:5" 174%M%# 175%M%# 176%M%# You can also use "-" or "stdin" to pipe stdout from 177%M%# some other application such as a software defined radio. 178%M%# "stdin" is not an audio device. Don't use this unless you 179%M%# understand what this means. Read the User Guide. 180%M%# You can also specify "UDP:" and an optional port for input. 181%M%# Something different must be specified for output. 182%M% 183%M%# ADEVICE UDP:7355 default 184%M%# 185%C% 186%C%# 187%C%# Number of audio channels for this souncard: 1 (mono) or 2 (stereo). 188%C%# 1 is the default so there is no need to specify it. 189%C%# 190%C% 191%C%#ACHANNELS 2 192%C% 193%C% 194%C%############################################################# 195%C%# # 196%C%# SECOND AUDIO DEVICE PROPERTIES # 197%C%# (Channel 2 + 3 if in stereo) # 198%C%# # 199%C%############################################################# 200%C% 201%C%#ADEVICE1 ... 202%C% 203%C% 204%C%############################################################# 205%C%# # 206%C%# THIRD AUDIO DEVICE PROPERTIES # 207%C%# (Channel 4 + 5 if in stereo) # 208%C%# # 209%C%############################################################# 210%C% 211%C%#ADEVICE2 ... 212%C% 213%C% 214%C%############################################################# 215%C%# # 216%C%# CHANNEL 0 PROPERTIES # 217%C%# # 218%C%############################################################# 219%C% 220%C%CHANNEL 0 221%C% 222%C%# 223%C%# The following MYCALL, MODEM, PTT, etc. configuration items 224%C%# apply to the most recent CHANNEL. 225%C%# 226%C% 227%C%# 228%C%# Station identifier for this channel. 229%C%# Multiple channels can have the same or different names. 230%C%# 231%C%# It can be up to 6 letters and digits with an optional ssid. 232%C%# The APRS specification requires that it be upper case. 233%C%# 234%C%# Example (don't use this unless you are me): MYCALL WB2OSZ-5 235%C%# 236%C% 237%C%MYCALL N0CALL 238%C% 239%C%# 240%C%# Pick a suitable modem speed based on your situation. 241%C%# 1200 Most common for VHF/UHF. Default if not specified. 242%C%# 2400 QPSK compatible with MFJ-2400, and probably PK232-2400 & KPC-2400. 243%C%# 300 Low speed for HF SSB. Default tones 1600 & 1800. 244%C%# EAS Emergency Alert System (EAS) Specific Area Message Encoding (SAME). 245%C%# 9600 G3RUH style - Can't use Microphone and Speaker connections. 246%C%# AIS International system for tracking ships on VHF. 247%C%# Also uses 9600 bps so Speaker connection won't work. 248%C%# 249%C%# In most cases you can just specify the speed. Examples: 250%C%# 251%C% 252%C%MODEM 1200 253%C%#MODEM 9600 254%C% 255%C%# 256%C%# Many options are available for great flexibility. 257%C%# See User Guide for details. 258%C%# 259%C% 260%C%# 261%C%# Uncomment line below to enable the DTMF decoder for this channel. 262%C%# 263%C% 264%C%#DTMF 265%C% 266%C%# 267%C%# If not using a VOX circuit, the transmitter Push to Talk (PTT) 268%C%# control is usually wired to a serial port with a suitable interface circuit. 269%C%# DON'T connect it directly! 270%C%# 271%C%# For the PTT command, specify the device and either RTS or DTR. 272%C%# RTS or DTR may be preceded by "-" to invert the signal. 273%C%# Both can be used for interfaces that want them driven with opposite polarity. 274%C%# 275%L%# COM1 can be used instead of /dev/ttyS0, COM2 for /dev/ttyS1, and so on. 276%L%# 277%C% 278%C%#PTT COM1 RTS 279%C%#PTT COM1 RTS -DTR 280%L%#PTT /dev/ttyUSB0 RTS 281%C% 282%L%# 283%L%# On Linux, you can also use general purpose I/O pins if 284%L%# your system is configured for user access to them. 285%L%# This would apply mostly to microprocessor boards, not a regular PC. 286%L%# See separate Raspberry Pi document for more details. 287%L%# The number may be preceded by "-" to invert the signal. 288%L%# 289%L% 290%L%#PTT GPIO 25 291%L% 292%C%# The Data Carrier Detect (DCD) signal can be sent to the same places 293%C%# as the PTT signal. This could be used to light up an LED like a normal TNC. 294%C% 295%C%#DCD COM1 -DTR 296%L%#DCD GPIO 24 297%C% 298%C% 299%C%############################################################# 300%C%# # 301%C%# CHANNEL 1 PROPERTIES # 302%C%# # 303%C%############################################################# 304%C% 305%C%#CHANNEL 1 306%C% 307%C%# 308%C%# Specify MYCALL, MODEM, PTT, etc. configuration items for 309%C%# CHANNEL 1. Repeat for any other channels. 310%C% 311%C% 312%C%############################################################# 313%C%# # 314%C%# TEXT TO SPEECH COMMAND FILE # 315%C%# # 316%C%############################################################# 317%C% 318%W%#SPEECH dwespeak.bat 319%L%#SPEECH dwespeak.sh 320%C% 321%C% 322%C%############################################################# 323%C%# # 324%C%# VIRTUAL TNC SERVER PROPERTIES # 325%C%# # 326%C%############################################################# 327%C% 328%C%# 329%C%# Dire Wolf acts as a virtual TNC and can communicate with 330%C%# client applications by different protocols: 331%C%# 332%C%# - the "AGW TCPIP Socket Interface" - default port 8000 333%C%# - KISS protocol over TCP socket - default port 8001 334%W%# - KISS TNC via serial port 335%L%# - KISS TNC via pseudo terminal (-p command line option) 336%C%# 337%C% 338%C%AGWPORT 8000 339%C%KISSPORT 8001 340%C% 341%W%# 342%W%# Some applications are designed to operate with only a physical 343%W%# TNC attached to a serial port. For these, we provide a virtual serial 344%W%# port that appears to be connected to a TNC. 345%W%# 346%W%# Take a look at the User Guide for instructions to set up 347%W%# two virtual serial ports named COM3 and COM4 connected by 348%W%# a null modem. 349%W%# 350%W%# Using the configuration described, Dire Wolf will connect to 351%W%# COM3 and the client application will use COM4. 352%W%# 353%W%# Uncomment following line to use this feature. 354%W% 355%W%#NULLMODEM COM3 356%W% 357%W% 358%C%# 359%C%# It is sometimes possible to recover frames with a bad FCS. 360%C%# This applies to all channels. 361%C%# 362%C%# 0 [NONE] - Don't try to repair. 363%C%# 1 [SINGLE] - Attempt to fix single bit error. (default) 364%C%# ... see User Guide for more values and in-depth discussion. 365%C%# 366%C% 367%C%#FIX_BITS 0 368%C% 369%C%# 370%C%############################################################# 371%C%# # 372%C%# FIXED POSIION BEACONING PROPERTIES # 373%C%# # 374%C%############################################################# 375%C% 376%C% 377%C%# 378%C%# Beaconing is configured with these two commands: 379%C%# 380%C%# PBEACON - for a position report (usually yourself) 381%C%# OBEACON - for an object report (usually some other entity) 382%C%# 383%C%# Each has a series of keywords and values for options. 384%C%# See User Guide for details. 385%C%# 386%C%# Example: 387%C%# 388%C%# This results in a broadcast once every 10 minutes. 389%C%# Every half hour, it can travel via two digipeater hops. 390%C%# The others are kept local. 391%C%# 392%C% 393%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 394%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" 395%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" 396%C% 397%C% 398%C%# With UTM coordinates instead of latitude and longitude. 399%C% 400%C%#PBEACON delay=1 every=10 overlay=S symbol="digi" zone=19T easting=307477 northing=4720178 401%C% 402%C% 403%C%# 404%C%# When the destination field is set to "SPEECH" the information part is 405%C%# converted to speech rather than transmitted as a data frame. 406%C%# 407%C% 408%C%#CBEACON dest="SPEECH" info="Club meeting tonight at 7 pm." 409%C% 410%C%# Similar for Morse code. If SSID is specified, it is multiplied 411%C%# by 2 to get speed in words per minute (WPM). 412%C% 413%C%#CBEACON dest="MORSE-6" info="de MYCALL" 414%C% 415%C% 416%C%# 417%C%# Modify for your particular situation before removing 418%C%# the # comment character from the beginning of appropriate lines above. 419%C%# 420%C% 421%C% 422%C%############################################################# 423%C%# # 424%C%# APRS DIGIPEATER PROPERTIES # 425%C%# # 426%C%############################################################# 427%C% 428%C%# 429%C%# For most common situations, use something like this by removing 430%C%# the "#" from the beginning of the line below. 431%C%# 432%C% 433%C%#DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$ TRACE 434%C% 435%C%# See User Guide for more explanation of what this means and how 436%C%# it can be customized for your particular needs. 437%C% 438%C%# Filtering can be used to limit was is digipeated. 439%C%# For example, only weather weather reports, received on channel 0, 440%C%# will be retransmitted on channel 1. 441%C%# 442%C% 443%C%#FILTER 0 1 t/wn 444%C% 445%C%# Traditional connected mode packet radio uses a different 446%C%# type of digipeating. See User Guide for details. 447%C% 448%C%############################################################# 449%C%# # 450%C%# INTERNET GATEWAY # 451%C%# # 452%C%############################################################# 453%C% 454%C%# First you need to specify the name of a Tier 2 server. 455%C%# The current preferred way is to use one of these regional rotate addresses: 456%C% 457%C%# noam.aprs2.net - for North America 458%C%# soam.aprs2.net - for South America 459%C%# euro.aprs2.net - for Europe and Africa 460%C%# asia.aprs2.net - for Asia 461%C%# aunz.aprs2.net - for Oceania 462%C% 463%C%#IGSERVER noam.aprs2.net 464%C% 465%C%# You also need to specify your login name and passcode. 466%C%# Contact the author if you can't figure out how to generate the passcode. 467%C% 468%C%#IGLOGIN WB2OSZ-5 123456 469%C% 470%C%# That's all you need for a receive only IGate which relays 471%C%# messages from the local radio channel to the global servers. 472%C% 473%C%# Some might want to send an IGate client position directly to a server 474%C%# without sending it over the air and relying on someone else to 475%C%# forward it to an IGate server. This is done by using sendto=IG rather 476%C%# than a radio channel number. Overlay R for receive only, T for two way. 477%C% 478%C%#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=R lat=42^37.14N long=071^20.83W 479%C%#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=T lat=42^37.14N long=071^20.83W 480%C% 481%C% 482%C%# To relay messages from the Internet to radio, you need to add 483%C%# one more option with the transmit channel number and a VIA path. 484%C% 485%C%#IGTXVIA 0 WIDE1-1 486%C% 487%C% 488%C%# Finally, we don't want to flood the radio channel. 489%C%# The IGate function will limit the number of packets transmitted 490%C%# during 1 minute and 5 minute intervals. If a limit would 491%C%# be exceeded, the packet is dropped and message is displayed in red. 492%C% 493%C%IGTXLIMIT 6 10 494%C% 495%C% 496%C%############################################################# 497%C%# # 498%C%# APRStt GATEWAY # 499%C%# # 500%C%############################################################# 501%C% 502%C%# 503%C%# Dire Wolf can receive DTMF (commonly known as Touch Tone) 504%C%# messages and convert them to packet objects. 505%C%# 506%C%# See separate "APRStt-Implementation-Notes" document for details. 507%C%# 508%C% 509%C%# 510%C%# Sample gateway configuration based on: 511%C%# 512%C%# http://www.aprs.org/aprstt/aprstt-coding24.txt 513%C%# http://www.aprs.org/aprs-jamboree-2013.html 514%C%# 515%C% 516%C%# Define specific points. 517%C% 518%C%TTPOINT B01 37^55.37N 81^7.86W 519%C%TTPOINT B7495088 42.605237 -71.34456 520%C%TTPOINT B934 42.605237 -71.34456 521%C% 522%C%TTPOINT B901 42.661279 -71.364452 523%C%TTPOINT B902 42.660411 -71.364419 524%C%TTPOINT B903 42.659046 -71.364452 525%C%TTPOINT B904 42.657578 -71.364602 526%C% 527%C% 528%C%# For location at given bearing and distance from starting point. 529%C% 530%C%TTVECTOR B5bbbddd 37^55.37N 81^7.86W 0.01 mi 531%C% 532%C%# For location specified by x, y coordinates. 533%C% 534%C%TTGRID Byyyxxx 37^50.00N 81^00.00W 37^59.99N 81^09.99W 535%C% 536%C%# UTM location for Lowell-Dracut-Tyngsborough State Forest. 537%C% 538%C%TTUTM B6xxxyyy 19T 10 300000 4720000 539%C% 540%C% 541%C% 542%C%# Location for the corral. 543%C% 544%C%TTCORRAL 37^55.50N 81^7.00W 0^0.02N 545%C% 546%C%# Compact messages - Fixed locations xx and object yyy where 547%C%# Object numbers 100 - 199 = bicycle 548%C%# Object numbers 200 - 299 = fire truck 549%C%# Others = dog 550%C% 551%C%TTMACRO xx1yy B9xx*AB166*AA2B4C5B3B0A1yy 552%C%TTMACRO xx2yy B9xx*AB170*AA3C4C7C3B0A2yy 553%C%TTMACRO xxyyy B9xx*AB180*AA3A6C4A0Ayyy 554%C% 555%C%TTMACRO z Cz 556%C% 557%C%# Receive on channel 0, Transmit object reports on channel 1 with optional via path. 558%C%# You probably want to put in a transmit delay on the APRStt channel so it 559%C%# it doesn't start sending a response before the user releases PTT. 560%C%# This is in 10 ms units so 100 means 1000 ms = 1 second. 561%C% 562%C%#TTOBJ 0 1 WIDE1-1 563%C%#CHANNEL 0 564%C%#DWAIT 100 565%C% 566%C%# Advertise gateway position with beacon. 567%C% 568%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" 569%C% 570%C% 571%C%# Sample speech responses. 572%C%# Default is Morse code "R" for received OK and "?" for all errors. 573%C% 574%C%#TTERR OK SPEECH Message Received. 575%C%#TTERR D_MSG SPEECH D not implemented. 576%C%#TTERR INTERNAL SPEECH Internal error. 577%C%#TTERR MACRO_NOMATCH SPEECH No definition for digit sequence. 578%C%#TTERR BAD_CHECKSUM SPEECH Bad checksum on call. 579%C%#TTERR INVALID_CALL SPEECH Invalid callsign. 580%C%#TTERR INVALID_OBJNAME SPEECH Invalid object name. 581%C%#TTERR INVALID_SYMBOL SPEECH Invalid symbol. 582%C%#TTERR INVALID_LOC SPEECH Invalid location. 583%C%#TTERR NO_CALL SPEECH No call or object name. 584%C%#TTERR SATSQ SPEECH Satellite square must be 4 digits. 585%C%#TTERR SUFFIX_NO_CALL SPEECH Send full call before using suffix. 586%C%