Table of Contents

Dire Wolf

Official website: https://github.com/wb2osz/direwolf

Debian, Raspberry Pi OS, Ubuntu

Dire Wolf packages for Debian and some Debian-derived Linux distributions are available from the OARC Package Repository.

Windows

Binaries built from dev branch, with IL2P:

1.7.0-11468f2 for Windows x64 (April 2023): https://drive.google.com/uc?id=1PpiR1e2i-IJGI5ubVICj9ylO9Gay5AxO&export=download

1.7.0-c5ad945 for Windows x64 (23 July 2023): https://drive.google.com/uc?export=download&id=1bgNcgtwSK_Ro0qq0BzN2yn_8aUaoPgpG

Standalone builds for Raspberry Pi OS

Note: the packaged versions above are likely to be more recent.

1.7.0-75ccf18 for Raspberry Pi OS 64 bit: https://drive.google.com/uc?id=1vW2CMlN9uaiJ48-ZfcVdtaDH3XaIHlek&export=download

1.7.0-75ccf18 for Raspberry Pi OS 32 bit: https://drive.google.com/uc?id=1nDW03W588TYzpgHhoV5u40feaQjAW-qQ&export=download

Building Dire Wolf from source on Windows (optional)

You might want to build Dire Wolf yourself to get binaries for the dev branch, which contains support for IL2P. Excerpt from user guide follows.

NB this does not include Hamlib support - someone needs to work out how to enable Hamlib support for Windows. If you manage it, please come and edit these instructions.

It is built using Cygwin, which provides a Unix-like development environment. The MinGW compiler is a special version of gcc which generates native code for the Windows operating system.

Install Cygwin 64 from https://cygwin.com/

During installation pick these additional packages:

If you want to generate code for a 32 bit target (i.e. Windows XP), also install these:

Open a Cygwin command window by double clicking this desktop shortcut.

Edit your ~/.bash_profile file and add the following:

export CC=/usr/bin/x86_64-w64-mingw32-gcc
export CXX=/usr/bin/x86_64-w64-mingw32-g++
export AR=/usr/bin/x86_64-w64-mingw32-ar
export WINDRES=/usr/bin/x86_64-w64-mingw32-windres

To build the 32 bit version, use these instead:

export CC=/usr/bin/i686-w64-mingw32-gcc
export CXX=/usr/bin/i686-w64-mingw32-g++
export AR=/usr/bin/i686-w64-mingw32-ar
export WINDRES=/usr/bin/i686-w64-mingw32-windres

These commands will be run automatically when a new command window is opened. To apply them to the current command window:

source ~/.bash_profile

Type this to obtain the source code:

git clone http://github.com/wb2osz/direwolf
cd direwolf

This is the most recent stable version. If you want the most recent development version, with all of the latest new features and bug fixes, type:

git checkout dev

Build it. Notice the double period at the end of the cmake command.

mkdir build
cd buile
cmake -DUNITTEST=1 ..
make -j4

It would be a good idea to run the self-tests.

make test

The result should be several new executable files, in the build/src directory including “direwolf.exe” and “decode_aprs.exe”.

If you want to bundle up the application, so it can be run on a different computer, create a zip file with:

make package

Skip sections 5 (Linux) and 6 (Mac OS X) and proceed to section 7 for Basic Operation.

Building Dire Wolf from source on Linux (optional)

See the user guide, but here are some distilled steps for Raspberry Pi OS (tested on 64 bit build)

NB don't do this on a Pi that's got hamlib or Dire Wolf already installed from distro repositories.

Get dependencies:

sudo apt update && sudo apt install git cmake libasound2-dev libudev-dev gpsd libgps-dev automake libtool texinfo

(Optional) Build and install hamlib:

cd ~
git clone https://github.com/Hamlib/Hamlib.git
cd Hamlib
./bootstrap
./configure
make
sudo make install

Build and install Dire Wolf (dev branch, 1.7, with IL2P support)

cd ~
git clone https://www.github.com/wb2osz/direwolf.git
cd direwolf
git checkout dev
mkdir build && cd build
cmake -DUNITTEST=1 ..
make -j4
make test
sudo make install
sudo ln -s /usr/local/lib/libhamlib.so.4 /usr/lib/libhamlib.so.4

It works!

$ direwolf -t 0
Dire Wolf DEVELOPMENT version 1.7 G (Jul 23 2023)
Includes optional support for:  gpsd hamlib cm108-ptt

NB the “ln -s” above fixes the following:

direwolf: error while loading shared libraries: libhamlib.so.4: cannot open shared object file: No such file or directory

The reason is that libhamlib.so is in /usr/local/lib rather than the usual /usr/lib and the particular operating system does not look in the former.

Decoding packet from audio

OS-dependent, but on Windows, install Voicemeeter, play back wav into Voicemeeter input, set Dire Wolf to use Voicemeeter output as its input. direwolf.conf:

ADEVICE VoiceMeeter
CHANNEL 0
MODEM 1200