Dire Wolf is a software "soundcard" AX.25 packet modem/TNC and APRS encoder/decoder. It can be used stand-alone to observe APRS traffic, as a tracker, digipeater, APRStt gateway, or Internet Gateway (IGate). For more information, look at the bottom 1/4 of this page and in https://github.com/wb2osz/direwolf/blob/dev/doc/README.md
Clone or download
Latest commit c0abb4b Oct 8, 2018
Permalink
Failed to load latest commit information.
doc Release 1.5. Oct 8, 2018
geotranz Uninitialized variables found by static analysis. Nov 27, 2017
man1 Time stamps and documentation for kissutil. Sep 30, 2017
misc Compatibility with minGW gcc 5.3.0 Jul 20, 2017
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 ignore file tweaks Apr 4, 2018
99-direwolf-cmedia.rules PTT using GPIO of CM108/CM119. Oct 9, 2017
CHANGES.md Version 1.5 Oct 8, 2018
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 Use standard DESTDIR, rather than INSTALLDIR, and allow it to be set … Jan 4, 2018
Makefile.macosx Makefile tweaks Apr 4, 2018
Makefile.win 1.5 beta test version. Jan 7, 2018
README.md Release 1.5. Oct 8, 2018
aclients.c KISS over TCP behaved strangely with multiple client apps attached. Feb 12, 2018
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 Add 100 baud AFSK default tones. Jul 2, 2018
audio.c Better error messages. Feb 7, 2018
audio.h New -T command line option for timestamps. Jan 4, 2018
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 Improve error message for audio output failure. Sep 12, 2018
ax25_link.c Issue 132 continued. If a client app tried to send connected data when Aug 5, 2018
ax25_link.h Issue 132 continued. If a client app tried to send connected data when Aug 5, 2018
ax25_pad.c KISS Set Hardware commands TNC, TXBUF. Oct 6, 2017
ax25_pad.h KISS Set Hardware commands TNC, TXBUF. Oct 6, 2017
ax25_pad2.c More efficient and reliable connected mode lost frame recovery. Jan 1, 2018
ax25_pad2.h More efficient and reliable connected mode lost frame recovery. Jan 1, 2018
beacon.c Add beacon position ambiguity option. Jun 15, 2017
beacon.h 1.4 development snapshot C. Jul 3, 2016
cdigipeater.c Possible crash when CDIGIPEAT did not have optional alias. Sep 29, 2017
cdigipeater.h Possible crash when CDIGIPEAT did not have optional alias. Sep 29, 2017
cm108.c Version 1.5 Oct 8, 2018
cm108.h PTT using GPIO of CM108/CM119. Oct 9, 2017
config.c Version 1.5 Oct 8, 2018
config.h New NOXID option to avoid wasting time to listed station(s) Jul 2, 2018
decode_aprs.c Potential issues found by static analysis. Jan 2, 2018
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 Remove special case for ARM. Default is better 9600 performance. Dec 16, 2017
demod.h Version 1.2 Jul 27, 2015
demod_9600.c Issue 107 - Avoid Signed integer overflows. Jul 31, 2017
demod_9600.h Version 1.2 Jul 27, 2015
demod_afsk.c Issue 107 - Avoid Signed integer overflows. Jul 31, 2017
demod_afsk.h Version 1.0 - Initial commit Jul 27, 2015
demod_psk.c Issue 107 - Avoid Signed integer overflows. Jul 31, 2017
demod_psk.h Add 2400 & 4800 PSK modems. New functions to handle frames besides UI. May 1, 2016
digipeater.c Comment for future possibility. Dec 16, 2017
digipeater.h Comment for future possibility. Dec 16, 2017
direwolf-block-diagram.png Add block diagram to README. May 23, 2018
direwolf.c Version 1.5 Oct 8, 2018
direwolf.h MSG_NOSIGNAL is not available on macOS Apr 4, 2018
direwolf.spec Clean up Linux install locations. Jan 3, 2018
direwolf.txt Use new "i" filter for messages. Dec 16, 2017
dlq.c Issue 132 continued. If a client app tried to send connected data when Aug 5, 2018
dlq.h Issue 132 continued. If a client app tried to send connected data when Aug 5, 2018
dsp.c 1.4 development snapshot C. Jul 3, 2016
dsp.h Version 1.0 - Initial commit Jul 27, 2015
dtime_now.c Mac OS X patches. Dec 16, 2017
dtime_now.h Time stamps and documentation for kissutil. Sep 30, 2017
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 KISS TNC enhancements: Multiple TCP clients, serial port for Linux, p… May 3, 2017
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 Add 100 baud AFSK default tones. Jul 2, 2018
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 KISS over TCP behaved strangely with multiple client apps attached. Feb 12, 2018
igate.h Issue 85 - Don't remove duplicates for IGate RX>IS direction. Oct 29, 2017
kiss.c KISS over TCP behaved strangely with multiple client apps attached. Feb 12, 2018
kiss.h New "kissutil" application. Sep 12, 2017
kiss_frame.c Better error messages. Feb 7, 2018
kiss_frame.h New kissutil application. Sep 12, 2017
kissnet.c KISS over TCP behaved strangely with multiple client apps attached. Feb 12, 2018
kissnet.h New "kissutil" application. Sep 12, 2017
kissserial.c Mac OS X patches. Dec 16, 2017
kissserial.h New "kissutil" application. Sep 12, 2017
kissutil.c KISS over TCP behaved strangely with multiple client apps attached. Feb 12, 2018
latlong.c More Great Circle calculations for future use. Jul 20, 2017
latlong.h Version 1.2 Jul 27, 2015
ll2utm.c 1.4 development snapshot C. Jul 3, 2016
log.c Allow single log file with fixed name rather than starting a new one … Jun 17, 2017
log.h Allow single log file with fixed name rather than starting a new one … Jun 17, 2017
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 Better error messages. Feb 7, 2018
multi_modem.h Accumulate DC average for audio signal. Dec 16, 2017
pfilter.c New station Capabilities and third party Header types for packet filt… Jul 1, 2017
pfilter.h New client side packet filter to select "messages" only to stations t… Jan 1, 2017
ptt.c PTT using GPIO of CM108/CM119. Oct 9, 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 Issue 132 continued. If a client app tried to send connected data when Aug 5, 2018
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 Fixes path used to find SDK Apr 3, 2018
serial_port.c Mac OSX compile fixes. Aug 27, 2017
serial_port.h 1.4 development snapshot C. Jul 3, 2016
server.c KISS over TCP behaved strangely with multiple client apps attached. Feb 12, 2018
server.h AX.25 v2.2 connected mode. Nov 20, 2016
sock.c New kissutil application. Sep 12, 2017
sock.h New kissutil application. Sep 12, 2017
symbols-new.txt Latest versions of symbols-new.txt and tocalls.txt. Apr 26, 2017
symbols.c Mac OS X patches. Dec 16, 2017
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 Replace asserts with internal error messages. Jul 20, 2017
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
tnc-test-cd-results.png Minor documentation updates. May 23, 2018
tocalls.txt Latest tocalls.txt Jan 3, 2018
tq.c KISS Set Hardware commands TNC, TXBUF. Oct 6, 2017
tq.h KISS Set Hardware commands TNC, TXBUF. Oct 6, 2017
tt_text.c Update tt_text.c May 16, 2017
tt_text.h APRStt enhancements including new 5 digit suffix format. Dec 24, 2015
tt_user.c New "kissutil" application. Sep 12, 2017
tt_user.h APRStt enhancements including new 5 digit suffix format. Dec 24, 2015
ttcalc.c KISS over TCP behaved strangely with multiple client apps attached. Feb 12, 2018
tune.h Version 1.0 - Initial commit Jul 27, 2015
utm2ll.c 1.4 development snapshot C. Jul 3, 2016
version.h KISS TNC enhancements: Multiple TCP clients, serial port for Linux, p… May 3, 2017
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 More efficient and reliable connected mode lost frame recovery. Jan 1, 2018
xid.h More efficient and reliable connected mode lost frame recovery. Jan 1, 2018
xmit.c Issue 132 continued. If a client app tried to send connected data when Aug 5, 2018
xmit.h Full Duplex. Oct 19, 2017

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.

Why settle for mediocre receive performance from a 1980's technology TNC using an old modem chip? Dire Wolf decodes over 1000 error-free frames from Track 2 of the WA8LMF TNC Test CD, leaving all the hardware TNCs, and first generation "soundcard" modems, behind in the dust.

Dire Wolf is a modern software replacement for the old 1980's style TNC built with special hardware.

Without any additional software, it can perform as:

  • APRS GPS Tracker
  • Digipeater
  • Internet Gateway (IGate)
  • APRStt gateway

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, Winlink Express (formerly known as RMS Express, formerly known as Winlink 2000 or WL2K), BPQ32, Outpost PM, and many others.

Features & Benefits

Dire Wolf includes:

  • Beaconing, Tracker, Telemetry Toolkit.

    Send periodic beacons to provide information to others. For tracking the location is provided by a GPS receiver. Build your own telemetry applications with the toolkit.

  • APRStt Gateway.

    Very few hams have portable equipment for APRS but nearly everyone has a handheld radio that can send DTMF tones. APRStt allows a user, equipped with only DTMF (commonly known as Touch Tone) generation capability, to enter information into the global APRS data network. Responses can be sent by Morse Code or synthesized speech.

  • Digipeaters for APRS and traditional Packet Radio.

    Extend the range of other stations by re-transmitting their signals. Unmatched flexibility for cross band repeating and filtering to limit what is retransmitted.

  • Internet Gateway (IGate).

    IGate stations allow communication between disjoint radio networks by allowing some content to flow between them over the Internet.

  • AX.25 v2.2 Link Layer.

    Traditional connected mode packet radio where the TNC automatically retries transmissions and delivers data in the right order.

  • KISS Interface (TCP/IP, serial port, Bluetooth) & AGW network Interface (TCP/IP).

    Dire Wolf can be used as a virtual TNC for applications such as APRSIS32, UI-View32, Xastir, APRS-TW,YAAC, UISS, Linux AX25, SARTrack, Winlink / RMS Express, Outpost PM, and many others.

Radio Interfaces:

  • Uses computer’s “soundcard” and digital signal processing.

    Lower cost and better performance than specialized hardware.

    Compatible interfaces include UDRC, SignaLink USB, DMK URI, RB-USB RIM, RA-35, and many others.

  • Standard 300, 1200 & 9600 bps modems and more.

  • DTMF (“Touch Tone”) Decoding and Encoding.

  • Speech Synthesizer & Morse code generator.

    Transmit human understandable messages.

  • Compatible with Software Defined Radios such as gqrx, rtl_fm, and SDR#.

  • Concurrent operation with up to 3 soundcards and 6 radios.

Portable & Open Source:

  • Runs on Windows, Linux (PC/laptop, Raspberry Pi, etc.), Mac OSX.

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

Macintosh OS X

Read the User Guide in the doc directory. It is a lot more complicated than Linux.

If you have problems, post them to the Dire Wolf packet TNC discussion group. I don't have a Mac and probably won't be able to help you. I rely on others, in the user community, for the Mac version.

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.