Dire Wolf is a software "soundcard" modem/TNC and APRS encoder/decoder. It can be used stand-alone to observe APRS traffic, 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…
C Objective-C Roff Shell Perl C++
Permalink
Failed to load latest commit information.
doc Fix download links to be master rather than dev branch. Apr 27, 2017
geotranz Fix compile warnings found when adding -Wall and others. Dec 23, 2016
man1 Generate NMEA waypoint sentences ($PKWDWPL, etc.) for position and ob… Mar 20, 2016
misc Fix compile warnings found when adding -Wall and others. Dec 23, 2016
regex Fix compile warnings found when adding -Wall and others. Dec 23, 2016
telemetry-toolkit Add script to generate telemetry sequence numbers. Dec 31, 2015
.gitattributes Rewrite GPS handling. Lots of other clean up. Nov 8, 2015
.gitignore Misc fixes for upstream #20. Jan 31, 2016
CHANGES.md Documentation updates. Apr 26, 2017
LICENSE-dire-wolf.txt Version 1.0 - Initial commit Jul 27, 2015
LICENSE-other.txt Version 1.0 - Initial commit Jul 27, 2015
Makefile Development snapshot 1.3 dev F. Sep 7, 2015
Makefile.linux Add cp -n option to avoid clobbering existing, probably customized, c… Apr 26, 2017
Makefile.macosx New client side packet filter to select "messages" only to stations t… Jan 1, 2017
Makefile.win Merge remote-tracking branch 'origin/dev' Apr 27, 2017
README.md Documentation updates. Apr 26, 2017
aclients.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
aprs_tt.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
aprs_tt.h APRStt enhancements including new 5 digit suffix format. Dec 24, 2015
atest.c AX.25 v2.2 connected mode. Nov 20, 2016
audio.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
audio.h Allow more flexible naming of GPIO pins. e.g. CubieBoard. Apr 1, 2017
audio_portaudio.c 1.4 development snapshot C. Jul 3, 2016
audio_stats.c 1.4 development snapshot C. Jul 3, 2016
audio_stats.h Development snapshot 1.3 dev F. Sep 7, 2015
audio_win.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
ax25_link.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
ax25_link.h AX.25 v2.2 connected mode. Nov 20, 2016
ax25_pad.c Proper trimming at CR/LF for RF>IS IGate. Apr 1, 2017
ax25_pad.h Proper trimming at CR/LF for RF>IS IGate. Apr 1, 2017
ax25_pad2.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
ax25_pad2.h Add 2400 & 4800 PSK modems. New functions to handle frames besides UI. May 1, 2016
beacon.c New client side packet filter to select "messages" only to stations t… Jan 1, 2017
beacon.h 1.4 development snapshot C. Jul 3, 2016
cdigipeater.c New client side packet filter to select "messages" only to stations t… Jan 1, 2017
cdigipeater.h AX.25 v2.2 connected mode. Nov 20, 2016
config.c Allow more flexible naming of GPIO pins. e.g. CubieBoard. Apr 1, 2017
config.h AX.25 v2.2 connected mode. Nov 20, 2016
decode_aprs.c Issue 84. IGate was truncating packets that contained nul character Mar 5, 2017
decode_aprs.h Add 2400 & 4800 PSK modems. New functions to handle frames besides UI. May 1, 2016
dedupe.c 1.4 development snapshot C. Jul 3, 2016
dedupe.h Version 1.0 - Initial commit Jul 27, 2015
demod.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
demod.h Version 1.2 Jul 27, 2015
demod_9600.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
demod_9600.h Version 1.2 Jul 27, 2015
demod_afsk.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
demod_afsk.h Version 1.0 - Initial commit Jul 27, 2015
demod_psk.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
demod_psk.h Add 2400 & 4800 PSK modems. New functions to handle frames besides UI. May 1, 2016
digipeater.c Don't digipeat packets when the source is my call. Mar 5, 2017
digipeater.h 1.4 development snapshot C. Jul 3, 2016
direwolf.c Change version from 1.4 beta test to 1.4. Apr 26, 2017
direwolf.h AX.25 v2.2 connected mode. Nov 20, 2016
direwolf.spec Version 1.2 Jul 27, 2015
direwolf.txt Version 1.2 Jul 27, 2015
dlq.c AX.25 v2.2 connected mode. Nov 20, 2016
dlq.h AX.25 v2.2 connected mode. Nov 20, 2016
dsp.c 1.4 development snapshot C. Jul 3, 2016
dsp.h Version 1.0 - Initial commit Jul 27, 2015
dtime_now.c Rewrite GPS handling. Lots of other clean up. Nov 8, 2015
dtime_now.h Version 1.2 Jul 27, 2015
dtmf.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
dtmf.h PTT was being turned off too soon when sending Morse code. Dec 17, 2016
dw-icon.ico Version 1.0 - Initial commit Jul 27, 2015
dw-icon.png Version 1.0 - Initial commit Jul 27, 2015
dw-icon.rc Version 1.0 - Initial commit Jul 27, 2015
dw-start.sh Minor tweaks to dw-start.sh and documentation. Apr 22, 2017
dwespeak.bat Version 1.2 Jul 27, 2015
dwespeak.sh Version 1.2 Jul 27, 2015
dwgps.c 1.4 development snapshot C. Jul 3, 2016
dwgps.h Rewrite GPS handling. Lots of other clean up. Nov 8, 2015
dwgpsd.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
dwgpsd.h Rewrite GPS handling. Lots of other clean up. Nov 8, 2015
dwgpsnmea.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
dwgpsnmea.h Generate NMEA waypoint sentences ($PKWDWPL, etc.) for position and ob… Mar 20, 2016
encode_aprs.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
encode_aprs.h Fix bug: "INTERNAL ERROR: dlq_append NULL packet pointer." when using… Dec 6, 2015
fcs_calc.c 1.4 development snapshot C. Jul 3, 2016
fcs_calc.h Version 1.0 - Initial commit Jul 27, 2015
fsk_demod_agc.h Version 1.0 - Initial commit Jul 27, 2015
fsk_demod_state.h 1.4 development snapshot C. Jul 3, 2016
fsk_filters.h Version 1.0 - Initial commit Jul 27, 2015
fsk_gen_filter.h Version 1.0 - Initial commit Jul 27, 2015
gen_packets.c PTT was being turned off too soon when sending Morse code. Dec 17, 2016
gen_tone.c 1.4 development snapshot C. Jul 3, 2016
gen_tone.h 1.4 development snapshot C. Jul 3, 2016
generic.conf APRStt enhancements including new 5 digit suffix format. Dec 24, 2015
grm_sym.h Development snapshot 1.3 dev F. Sep 7, 2015
hdlc_rec.c AX.25 v2.2 connected mode. Nov 20, 2016
hdlc_rec.h Clean up fix-bits feature. New experimental demodulator. Nov 29, 2015
hdlc_rec2.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
hdlc_rec2.h Clean up fix-bits feature. New experimental demodulator. Nov 29, 2015
hdlc_send.c AX.25 v2.2 connected mode. Nov 20, 2016
hdlc_send.h AX.25 v2.2 connected mode. Nov 20, 2016
igate.c Proper trimming at CR/LF for RF>IS IGate. Apr 1, 2017
igate.h New client side packet filter to select "messages" only to stations t… Jan 1, 2017
kiss.c New client side packet filter to select "messages" only to stations t… Jan 1, 2017
kiss.h Version 1.0 - Initial commit Jul 27, 2015
kiss_frame.c 1.4 development snapshot C. Jul 3, 2016
kiss_frame.h Version 1.2 Jul 27, 2015
kissnet.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
kissnet.h Version 1.0 - Initial commit Jul 27, 2015
latlong.c 1.4 development snapshot C. Jul 3, 2016
latlong.h Version 1.2 Jul 27, 2015
ll2utm.c 1.4 development snapshot C. Jul 3, 2016
log.c AX.25 v2.2 connected mode. Nov 20, 2016
log.h AX.25 v2.2 connected mode. Nov 20, 2016
log2gpx.c 1.4 development snapshot C. Jul 3, 2016
mgn_icon.h Generate NMEA waypoint sentences ($PKWDWPL, etc.) for position and ob… Mar 20, 2016
mheard.c New client side packet filter to select "messages" only to stations t… Jan 1, 2017
mheard.h New client side packet filter to select "messages" only to stations t… Jan 1, 2017
morse.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
morse.h Development snapshot 1.3 dev F. Sep 7, 2015
multi_modem.c AX.25 v2.2 connected mode. Nov 20, 2016
multi_modem.h Clean up fix-bits feature. New experimental demodulator. Nov 29, 2015
pfilter.c New client side packet filter to select "messages" only to stations t… Jan 1, 2017
pfilter.h New client side packet filter to select "messages" only to stations t… Jan 1, 2017
ptt.c Allow more flexible naming of GPIO pins. e.g. CubieBoard. Apr 1, 2017
ptt.h Implement TXINH Nov 17, 2015
rdq.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
rdq.h Version 1.0 - Initial commit Jul 27, 2015
recv.c AX.25 v2.2 connected mode. Nov 20, 2016
recv.h Version 1.2 Jul 27, 2015
redecode.h Version 1.2 Jul 27, 2015
rpack.h Version 1.1 Jul 27, 2015
rrbb.c 1.4 development snapshot C. Jul 3, 2016
rrbb.h APRStt enhancements including new 5 digit suffix format. Dec 24, 2015
sdr.conf Example of how to start up SDR IGate automatically. Nov 10, 2015
search_sdks.sh Mac OSX build procedure is now better about locating the SDK. Jan 24, 2016
serial_port.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
serial_port.h 1.4 development snapshot C. Jul 3, 2016
server.c Minor documentation updates. Mar 5, 2017
server.h AX.25 v2.2 connected mode. Nov 20, 2016
symbols-new.txt Latest versions of symbols-new.txt and tocalls.txt. Apr 26, 2017
symbols.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
symbols.h Rewrite GPS handling. Lots of other clean up. Nov 8, 2015
symbolsX.txt Update the symbols & tocalls file. Feb 27, 2016
telemetry.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
telemetry.h Rewrite GPS handling. Lots of other clean up. Nov 8, 2015
textcolor.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
textcolor.h Version 1.2 Jul 27, 2015
tocalls.txt Latest versions of symbols-new.txt and tocalls.txt. Apr 26, 2017
tq.c AX.25 v2.2 connected mode. Nov 20, 2016
tq.h AX.25 v2.2 connected mode. Nov 20, 2016
tt_text.c 1.4 development snapshot C. Jul 3, 2016
tt_text.h APRStt enhancements including new 5 digit suffix format. Dec 24, 2015
tt_user.c 1.4 development snapshot C. Jul 3, 2016
tt_user.h APRStt enhancements including new 5 digit suffix format. Dec 24, 2015
ttcalc.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
tune.h Version 1.0 - Initial commit Jul 27, 2015
utm2ll.c 1.4 development snapshot C. Jul 3, 2016
version.h Generate NMEA waypoint sentences ($PKWDWPL, etc.) for position and ob… Mar 20, 2016
walk96.c 1.4 development snapshot C. Jul 3, 2016
waypoint.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
waypoint.h Generate NMEA waypoint sentences ($PKWDWPL, etc.) for position and ob… Mar 20, 2016
xid.c Fix compile warnings found when adding -Wall and others. Dec 23, 2016
xid.h Fix compile warnings found when adding -Wall and others. Dec 23, 2016
xmit.c New client side packet filter to select "messages" only to stations t… Jan 1, 2017
xmit.h Version 1.2 Jul 27, 2015

README.md

Dire Wolf

Decoded Information from Radio Emissions for Windows Or Linux Fans

In the early days of Amateur Packet Radio, it was necessary to use an expensive “Terminal Node Controller” (TNC) with specialized hardware. Those days are gone. You can now get better results at lower cost by connecting your radio to the “soundcard” interface of a computer and using software to decode the signals.

Dire Wolf is a software "soundcard" modem/TNC and APRS encoder/decoder. It can be used stand-alone to observe APRS traffic, 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, BPQ32, Outpost PM and many others.

Features & Benefits

  • Lower cost, higher performance alternative to hardware TNC. Decodes more than 1000 error-free frames from WA8LMF TNC Test CD.

  • Ideal for building a Raspberry Pi digipeater & IGate.

  • Data rates: 300 AFSK, 1200 AFSK, 2400 QPSK, 4800 8PSK, and 9600/19200/38400 bps K9NG/G3RUH.

  • Interface with applications by - AGW network protocol - KISS serial port - KISS TCP network protocol

  • Decoding of received information for troubleshooting.

  • Conversion from APRS to waypoint sentences in popular formats: $GPWPL, $PGRMW, $PMGNWPL, $PKWDWPL.

  • Logging and conversion to GPX file format.

  • Beaconing for yourself or other nearby entities.

  • Very flexible Digipeating with routing and filtering between up to 6 ports.

  • APRStt gateway - converts touch tone sequences to APRS objects and voice responses.

  • APRS Internet Gateway (IGate) with IPv6 support and special SATGate mode.

  • APRS Telemetry Toolkit.

  • Compatible with software defined radios (SDR) such as gqrx, rtl_fm, and SDR#.

  • Includes separate raw packet decoder, decode_aprs.

  • AX.25 v2.2 connected mode. (New in version 1.4.)

  • Open source so you can see how it works and make your own modifications.

  • Runs in 3 different environments: - Microsoft Windows XP or later - Linux, regular PC/laptop or single board computer such as Raspberry Pi, BeagleBone Black, cubieboard 2, or C.H.I.P. - Mac OS X

Documentation

Stable Version

Latest Development Version

Installation

Windows

Go to the releases page. Download a zip file with "win" in its name, unzip it, and run direwolf.exe from a command window.

For more details see the User Guide in the doc directory.

Linux - Using git clone (recommended)

cd ~
git clone https://www.github.com/wb2osz/direwolf
cd direwolf
make
sudo make install
make install-conf

This should give you the most recent stable release. If you want the latest (possibly unstable) development version, use "git checkout dev" before the first "make" command.

For more details see the User Guide in the doc directory. Special considerations for the Raspberry Pi are found in Raspberry-Pi-APRS.pdf

Linux - Using apt-get (Debian flavor operating systems)

Results will vary depending on your hardware platform and operating system version because it depends on various volunteers who perform the packaging.

sudo apt-get update
apt-cache showpkg direwolf
sudo apt-get install direwolf

Linux - Using yum (Red Hat flavor operating systems)

Results will vary depending on your hardware platform and operating system version because it depends on various volunteers who perform the packaging.

sudo yum check-update
sudo yum list direwolf
sudo yum install direwolf

Linux - Download source in tar or zip file

Go to the releases page. Chose desired release and download the source as zip or compressed tar file. Unpack the files, with "unzip" or "tar xfz," and then:

cd direwolf-*
make
sudo make install
make install-conf

For more details see the User Guide in the doc directory. Special considerations for the Raspberry Pi are found in Raspberry-Pi-APRS.pdf

Join the conversation

Here are some good places to ask questions and share your experience:

The github "issues" section is for reporting software defects and enhancement requests. It is NOT a place to ask questions or have general discussions. Please use one of the locations above.