Table of Contents
Creating an APRS iGate with an RTL-SDR and Dire Wolf
This is not finished yet, don't use!
It's possible to create an APRS iGate using a relatively cheap RTL-SDR “dongle”. As is common with SDRs they don't perform quite as well as a real radio, but they're a versatile tool that's worth having in the shack.
You'll need one with a Temperature Controlled Oscillator (TCXO) as the cheaper ones without drift too much for reliably decoding APRS. If you don't already have one I recommend the Nooelec NESDR SMArt. I also recommend avoiding the SMArtee version with it's inbuilt bias-tee unless you need one for a specific application.
Note that Dire Wolf also include their own detailed documentation here but below is a quick summary to get you started.
Installation
Install the required packages:
sudo apt-get install direwolf rtl-sdr
Create a directory for the logs:
sudo mkdir /var/log/direwolf
Configuration
When using Dire Wolf with an rtl-sdr it's necessary to edit the systemd service to ensure rtl_fm runs and redirect Direwolfs output into journald.
Open /lib/systemd/system/direwolf.service in your favourite text editor and replace it with the following:
[Unit] Description=DireWolf is a software "soundcard" modem/TNC and APRS decoder Documentation=man:direwolf AssertPathExists=/etc/direwolf.conf Wants=network-online.target After=sound.target syslog.target network-online.target [Service] SupplementaryGroups=dialout audio ExecStart=/bin/sh -c '/usr/bin/rtl_fm -f 144.8M - | /usr/bin/direwolf -c direwolf.conf -t 0 -r 24000 -D 1 -' StandardOutput=journal StandardError=journal SyslogIdentifier=direwolf [Install] WantedBy=multi-user.target
Reload systemd, enable and start Dire Wolf
systemctl daemon-reload systemctl enable direwolf systemctl start direwolf
Usage
Starting manually:
rtl_fm -f 144.8M - | direwolf -c direwolf.conf -r 24000 -D 1 -
View Dire Wolfs stdout:
journalctl -f -u direwolf