mirror of
https://github.com/wb2osz/direwolf
synced 2026-08-13 17:44:58 -04:00
* Fix -T precedence so it does not clobber a future config-file timestamp setting Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Add TIMESTAMP config file directive Adds a config-file equivalent for the -T command-line option, so timestamps can be enabled when launching Direwolf from a supervisor that cannot pass CLI arguments (e.g. Winlink Express). Closes #625. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Document TIMESTAMP config directive in sample config and changelog Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Address final-review minor findings for TIMESTAMP directive - man/direwolf.1: mention the TIMESTAMP config directive alongside -T, matching the -h help text. - config.c: warn (rather than silently truncate) when a TIMESTAMP format string exceeds the 40-byte field. - dtime_now.c: harden timestamp_user_format() against strftime() returning 0 on overflow, whose buffer contents are unspecified per the C standard. Pre-existing gap also reachable via -T; fixed here since this change adds a second entry point to the same code path. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
370 lines
16 KiB
Text
370 lines
16 KiB
Text
%C%#############################################################
|
|
%C%# #
|
|
%C%# Sample 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% three different versions in sync.
|
|
%R% This common source is now used to generate the
|
|
%R% three 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%#########################################################################
|
|
%C%# #
|
|
%C%# Recommended Reading for everyone: #
|
|
%C%# "Understanding APRS Packets" in https://github.com/wb2osz/aprsspec #
|
|
%C%# #
|
|
%C%#########################################################################
|
|
%C%#
|
|
%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 callsign and optional SSID.
|
|
%C%#
|
|
%C%# (2) PBEACON - enable position beaconing.
|
|
%C%#
|
|
%C%# Look for lines starting with PBEACON and
|
|
%C%# modify for your location, symbol, comment, etc.
|
|
%C%#
|
|
%C%# (3) DIGIPEATER - configure digipeating rules.
|
|
%C%#
|
|
%C%# Look for lines starting with DIGIPEATER.
|
|
%C%# Most people will probably use of of the two examples.
|
|
%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 or 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%#
|
|
%C%#
|
|
%C%# Many examples of radio interfaces and PTT options can be found in:
|
|
%C%# https://raw.githubusercontent.com/wb2osz/direwolf-doc/main/Radio-Interface-Guide.pdf
|
|
%C%#
|
|
%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%# It is recommended that you use a unique substring of the device description.
|
|
%W%# For example, use "High" or "Realtek High Def" for the built in sound system.
|
|
%W%# Use "USB", or a longer string to distinguish amount multiple devices for a USB audio.
|
|
%W%# You can also use numbers but you are asking for trouble. Device numbers can change.
|
|
%W%
|
|
%W%#ADEVICE USB
|
|
%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%# Something different must be specified for output.
|
|
%W%
|
|
%W%# ADEVICE stdin 0
|
|
%W%# ADEVICE UDP:7355 0
|
|
%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%
|
|
%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%
|
|
%C%# Many more details and examples can be found in:
|
|
%C%# https://raw.githubusercontent.com/wb2osz/direwolf-doc/main/Radio-Interface-Guide.pdf
|
|
%C%
|
|
%C%#############################################################
|
|
%C%# #
|
|
%C%# CHANNEL 0 PROPERTIES #
|
|
%C%# #
|
|
%C%#############################################################
|
|
%C%
|
|
%C%CHANNEL 0
|
|
%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 in range of 1 to 15.
|
|
%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 300
|
|
%C%#MODEM 9600
|
|
%C%
|
|
%C%#
|
|
%C%# Many options are available for great flexibility.
|
|
%C%# See User Guide for details.
|
|
%C%#
|
|
%C%
|
|
%C%# Push to Talk (PTT) can be confusing because there are so many different cases.
|
|
%C%# https://raw.githubusercontent.com/wb2osz/direwolf-doc/main/Radio-Interface-Guide.pdf
|
|
%C%# goes into detail about the various options.
|
|
%C%
|
|
%C%# If using a C-Media CM108/CM119 or similar USB Audio Adapter,
|
|
%C%# you can use a GPIO pin for PTT control. This is very convenient
|
|
%C%# because a single USB connection is used for both audio and PTT.
|
|
%C%# Example:
|
|
%C%
|
|
%C%#PTT CM108
|
|
%C%
|
|
%C%
|
|
%C%# There are other possibilities such as serial port RTS, Raspberry Pi GPIO pins,
|
|
%C%# and hamlib for CAT control. For more details see:
|
|
%C%# https://raw.githubusercontent.com/wb2osz/direwolf-doc/main/Radio-Interface-Guide.pdf
|
|
%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%#############################################################
|
|
%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: Change the latitude and longitude or your location
|
|
%C%# will show you about to go over Niagara Falls.
|
|
%C%
|
|
%C%#PBEACON lat=43.077104 long=-79.075674 symbol="canoe" comment="Niagara Falls"
|
|
%C%
|
|
%C%# Run "direwolf -S" (upper case S) to get a list of symbols that can
|
|
%C%# be used rather than "canoe." Specify a unique substring of description.
|
|
%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=43.077104 long=-79.075674 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=43.077104 long=-79.075674 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=43.077104 long=-79.075674 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%
|
|
%C%#############################################################
|
|
%C%# #
|
|
%C%# APRS DIGIPEATER PROPERTIES #
|
|
%C%# #
|
|
%C%#############################################################
|
|
%C%
|
|
%C%#
|
|
%C%# Remove the "#" from the beginning of the first digipeat below for short range fill-in digi
|
|
%C%# or remove the "#" from the beginning of the second digipeat below for wide area digi.
|
|
%C%
|
|
%C%#DIGIPEAT 0 0 ^TEST$ ^WIDE1-1$
|
|
%C%#DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$
|
|
%C%
|
|
%C%# See https://raw.githubusercontent.com/wb2osz/direwolf-doc/main/APRS-Digipeaters.pdf
|
|
%C%# and User Guide for more explanation of what this means and
|
|
%C%# how 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 N0CALL-10 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%# To relay APRS "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,WIDE2-1
|
|
%C%
|
|
%C%# For more information see
|
|
%C%# https://raw.githubusercontent.com/wb2osz/direwolf-doc/main/Successful-APRS-IGate-Operation.pdf
|
|
%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. Details in:
|
|
%C%#
|
|
%C%# https://raw.githubusercontent.com/wb2osz/direwolf/master/doc/APRStt-Implementation-Notes.pdf
|
|
%C%#
|
|
|
|
%C%
|
|
%C%#############################################################
|
|
%C%# #
|
|
%C%# TIME STAMPS #
|
|
%C%# #
|
|
%C%#############################################################
|
|
%C%
|
|
%C%# Precede received & transmitted frames with a time stamp, using
|
|
%C%# a "strftime" format string. Same effect as the -T command line
|
|
%C%# option, which takes precedence over this if both are used.
|
|
%C%#
|
|
%C%#TIMESTAMP %H:%M:%S
|