direwolf/man/direwolf.1
Marc Thomson c88d451cba
Add TIMESTAMP config file directive (#668)
* 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>
2026-08-10 12:43:45 -04:00

224 lines
4.7 KiB
Groff

.TH DIREWOLF 1
.SH NAME
direwolf \- Soundcard TNC for packet radio.
.SH SYNOPSIS
.B direwolf
[ \fIoptions\fR ]
[ \- | \fBudp:\fR9999 ]
.P
The first audio channel can be streamed thru stdin or a UDP port. This is typically used with an SDR receiver.
.SH DESCRIPTION
\fBdirewolf\fR is a software "soundcard" modem/TNC and APRS encoder/decoder.
It can be used stand-alone to receive APRS messages, as a digipeater,
APRStt gateway, or Internet Gateway (IGate).
It can also be used as a virtual TNC for other applications such as
APRSIS32, UI-View32, Xastir, APRS-TW, YAAC, UISS, Linux AX25, SARTrack,
RMS Express, and many others.
.SH OPTIONS
.TP
.BI "-c " "file"
Read configuration file from specified location rather than the default locations.
.TP
.BI "-l " "logdir"
Generate daily log files in specified directory. Use "." for current directory.
.TP
.BI "-L " "logfile"
Generate single log file with fixed name.
.TP
.BI "-r " "n"
Audio sample rate per second for first channel. Default 44100.
.TP
.BI "-n " "n"
Number of audio channels for first device. 1 or 2. Default 1.
.TP
.BI "-b " "n"
Audio sample size for first channel. 8 or 16. Default 16.
.TP
.BI "-B " "n"
Data rate in bits/sec for first channel. Standard values are 300, 1200, 2400, 4800, 9600.
.PD 0
.RS
.RS
300 bps defaults to AFSK tones of 1600 & 1800.
.P
1200 bps uses AFSK tones of 1200 & 2200.
.P
2400 bps uses QPSK based on V.26 standard.
.P
4800 bps uses 8PSK based on V.27 standard.
.P
9600 bps and up uses K9NG/G3RUH standard.
.P
AIS for ship Automatic Identification System.
.P
EAS for Emergency Alert System (EAS) Specific Area Message Encoding (SAME).
.RE
.RE
.PD
.TP
.BI "-g "
Force G3RUH modem regardless of data rate.
.TP
.BI "-j "
2400 bps QPSK compatible with Dire Wolf <= 1.5.
.TP
.BI "-J "
2400 bps QPSK compatible with MFJ-2400.
.TP
.BI "-D " "n"
Divide audio sample by n for first channel.
.TP
.BI "-X " "n"
1 to enable FX.25 transmit. 16, 32, 64 for specific number of check bytes.
.TP
.BI "-I " "n"
Enable IL2P transmit. n=1 is recommended. 0 uses weaker FEC.
.TP
.BI "-i " "n"
Enable IL2P transmit, inverted polarity. n=1 is recommended. 0 uses weaker FEC.
.TP
.BI "-d " "x"
Debug options. Specify one or more of the following in place of x.
.PD 0
.RS
.RS
a = AGWPE network protocol client.
.P
k = KISS serial port client.
.P
n = Network KISS client.
.P
u = Display non-ASCII text in hexadecimal.
.P
p = Packet dump in hexadecimal.
.P
g = GPS interface.
.P
W = Waypoints for position or object reports.
.P
t = Tracker beacon.
.P
o = Output controls such as PTT and DCD.
.P
i = IGate
.P
h = Hamlib verbose level. Repeat for more.
.P
m = Monitor heard station list.
.P
f = Packet filtering.
.P
x = FX.25 increase verbose level.
.P
d = APRStt (DTMF to APRS object conversion).
.P
2 = IL2P.
.RE
.RE
.PD
.TP
.BI "-q " "x"
Quiet (suppress output). Specify one or more of the following in place of x.
.PD 0
.RS
.RS
h = Heard line with the audio level.
.P
d = Decoding of APRS packets.
.P
x = Silence FX.25 information.
.RE
.RE
.PD
.TP
.BI "-t " "n"
Text colors. 0=disabled. 1=default. 2,3,4=alternatives for misbehaving terminal emulators. 5=keep existing background color. 6=black background. Use 9 to test compatibility with your terminal.
.TP
.B "-p "
Enable pseudo terminal for KISS protocol.
.TP
.BI "-x "
Send Xmit level calibration tones.
.PD 0
.RS
.RS
a = Alternating mark/space tones.
.P
m = steady Mark tone (e.g. 1200 Hz)
.P
s = steady Space tone (e.g. 2200 Hz)
.P
p = selence (set Ptt only).
.P
Optionally add a number to specify radio channel.
.RE
.RE
.PD
.TP
.B "-u "
Print UTF-8 test string and exit.
.TP
.B "-S "
Print Symbol tables and exit.
.TP
.BI "-a " "n"
Report audio device statistics each n seconds.
.TP
.BI "-T " "fmt"
Time stamp format for sent and received frames.
Overrides the TIMESTAMP directive in the configuration file, if also present.
.TP
.BI "-e " "ber"
Receive Bit Error Rate (BER), e.g. 1e-5
.SH EXAMPLES
gqrx (2.3 and later) has the ability to send streaming audio through a UDP socket to another application for further processing.
direwolf can listen over a UDP port with options like this:
.RS
.P
direwolf \-n 1 \-r 48000 \-b 16 udp:7355
.RE
.P
Other SDR applications might produce audio on stdout so it is convenient to pipe into the next application. In this example, the final "-" means read from stdin.
.RS
.P
rtl_fm \-f 144.39M \-o 4 \- | direwolf \-n 1 \-r 24000 \-b 16 \-
.RE
.SH SEE ALSO
More detailed information is in the pdf files in /usr/local/share/doc/direwolf, or possibly /usr/share/doc/direwolf, depending on installation location.
Applications in this package: aclients, atest, cm108, decode_aprs, direwolf, gen_packets, kissutil, ll2utm, log2gpx, text2tt, tt2text, utm2ll