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
Go to file
Davide Gerhard a1c16a67ef
cmake: new build tool
this step unify the builing system for all platforms (windows, linux,
osx and *BSD)

* Requirements:

  - gcc/clang (C/C++ compiler) (in debian build-essential)
  - cmake (in debian cmake)
  - git if you build from source (in debian git)
  - posix threads

** Requirements on *BSD/macOS:

  - portaudio

** Optional Requirements:

  - gpsd (in debian libgps-dev)
  - libhamlib (in debian libhamlib-dev)

** Optional Requirements in Linux

  - udev (in debian libudev-dev)
  - alsa (in debian libasound2-dev)

* Main changes:

  - version is now set only on CMakeLists.txt and automatically used
    on the code
  - cpu flags are auto-discovered in the default build and it works
    on gcc/clang/msvc on x86/x86_64/arm; you can force cpu flags with
    -DFORCE_SSE=1 for example (see CMakeLists.txt on root)
  - use a more "complex" tag on generic.conf to facilitate parsing
    by cmake (not more platform dependent). Now it is %C% or %R% for
    example
  - target `tocalls-symbols` is now called `data-update`
  - created debian/ directory to contains files to use debuild

* Example to build:

mkdir build && cd build
cmake ..
make
make install
make install-conf

then you have the binary files on src/ and in the system directory

* CMake options (see the head of CMakeLists.txt)

  - FORCE_SSE force sse instruction
  - FORCE_SSSE3 force ssse3 instruction
  - FORCE_SSE41 force ssse4.1 instruction
  - OPTIONAL_TEST compile optional test (might be broken)
  - BUILD_TESTING enable tests (ctest framework)
  - CMAKE_INSTALL_PREFIX if you want to change your install path
    prefix

for example:

  cmake .. -DOPTIONAL_TEST=ON
2019-11-09 08:26:33 +01:00
cmake cmake: new build tool 2019-11-09 08:26:33 +01:00
conf cmake: new build tool 2019-11-09 08:26:33 +01:00
data cmake: new build tool 2019-11-09 08:26:33 +01:00
debian cmake: new build tool 2019-11-09 08:26:33 +01:00
doc cmake: new build tool 2019-11-09 08:26:33 +01:00
external cmake: new build tool 2019-11-09 08:26:33 +01:00
man cmake: new build tool 2019-11-09 08:26:33 +01:00
scripts cmake: new build tool 2019-11-09 08:26:33 +01:00
src cmake: new build tool 2019-11-09 08:26:33 +01:00
.gitattributes Rewrite GPS handling. Lots of other clean up. 2015-11-07 20:57:02 -05:00
.gitignore cmake: new build tool 2019-11-09 08:26:33 +01:00
CHANGES.md Text color improvements. 2019-07-06 20:34:51 -04:00
CMakeLists.txt cmake: new build tool 2019-11-09 08:26:33 +01:00
LICENSE reshape the repository moving objects to folders based on subject 2019-11-09 08:26:01 +01:00
README.md Update discussion group location. 2019-10-16 21:49:40 -04:00
direwolf-block-diagram.png Add block diagram to README. 2017-10-14 11:39:58 -04:00
tnc-test-cd-results.png Minor documentation updates. 2018-02-06 22:33:17 -05:00

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 computers “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

Power Point presentation -- Why not give a talk at a local club meeting?

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.

You will probably need to install one of these packages first:

On Debian / Ubuntu / Raspbian:

sudo apt-get install libasound2-dev

Or on Red Hat / Fedora / Centos:

sudo yum install alsa-lib-devel

Then on any flavor of Linux:

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.