Updated guide to setting up an APRS RX only iGate using a Raspberry Pi, RTL-SDR dongle and a pre-built image

** image has been updated as of 21/04/2018 to resolve the problems some people had booting their Pi **

This post is an updated version of the original article I wrote in February 2017.  It’s using Raspbian Stretch rather than Raspbian Jessie, has Direwolf 1.4 instead of Direwolf 1.3 and the method used to start the gateway has changed.  Direwolf is now running as a service and can be easily started, stopped, restarted, enabled or disabled through simple commands.  It has been tested on a Raspberry Pi Zero, a Pi Zero W, a Pi 2B, a Pi 3B and the latest Raspberry Pi 3B+.  You now only need to edit one file to get a working gateway unless you want to select a different frequency from 144.800MHz, then you’ll need make an additional edit.

The instructions are very similar to my previous post except the process of automatically starting Direwolf which has been simplified.  Even if you are familiar with the previous image, please ensure you read the entire article, especially if you need to change the frequency as the file structure has changed.

The entire process detailed here should take less than half an hour to complete.
You will only need to edit one or perhaps two files.

First, download my custom built Raspberry Pi image from here (the filename is aprs-igate-stretch.img) or preferably as a torrent from here.  This is a 2.2Gb file which will expand to approximately 8Gb when you decompress it.  Unzip it and write it to an SD card.  The image was created using an 8Gb SD card but I recommend you use a 16Gb card in your Raspberry Pi.  4Gb cards are practically impossible to find these days and 8Gb cards are going the same way.  I’ve found SanDisk Ultra 16Gb cards to be about the best when it comes to performance and price and they can be picked up for about £8.  This image is fully up to date as of 21st April 2018.


There are two methods of downloading the Raspberry Pi image. The first is direct from SourceForge (aprs-igate-stretch.img) and the second is as a torrent.  If you use the torrent method, please seed the file for as long as possible because the more people who seed, the quicker the download will be for others.
Thank you.

MD5 of aprs-igate-stretch.zip is f8469173f3e3d9c420dbaefaff7d9875
MD5 of aprs-igate-stretch.img is 22998d62e7dd1b3f270834f6bfd5f089

If you get a CRC error when trying to unzip the downloaded file, first check the MD5 to make sure it’s correct. Assuming it is, then you should use a third party tool such as WinRAR to extract the image from the .zip file.
I have successfully decompressed this file using Windows XP, Windows 7, Windows 8, Windows 8.1, Windows 10, MacOS and Ubuntu.

Connect your RTL-SDR dongle and a network cable to your Raspberry Pi and boot it.  I thoroughly recommend you use a dongle with TCXO as it won’t drift in frequency and you shouldn’t need to do any frequency calibration.  I’m using an RTL-SDR R820T2 RTL2832U 1PPM TCXO SMA Software Defined Radio (Dongle Only) device which is the latest model, complete with TCXO.  Other dongles are available such as this NooElec version from Amazon which is a little cheaper and will arrive quicker or you can search eBay for similar dongles.

These instructions are written to do everything from a command line.  If you plug in a monitor, mouse and keyboard and boot to the Graphical User Interface (GUI), you will see an icon on the desktop called Dire Wolf. DO NOT click on this icon, it does not start Direwolf.  You’ll get an error message telling you it can’t open an audio device.

You will need to know what IP address your Raspberry Pi has on the network.  I do this by looking at my router and checking what devices have connected and then set up a DHCP reservation so each particular Raspberry Pi I own will always have the same address each time it reboots.

Open up a terminal/dos prompt or whatever client software you’re going to use to connect to the Raspberry Pi and log in.  In my case, the Raspberry Pi is on 192.168.1.144 so I use the command
ssh pi@192.168.1.144

You’ll be prompted for a password – It’s currently set to raspberry.
Use the following command to enter the Raspberry Pi config utility:

sudo raspi-config

It’s very important to expand the filesystem – You do this by selecting option 7 Advanced Options, then A1 Expand Filesystem, then select OK and you’ll be returned to the main screen.

Now select the first option Change User Password and press enter.  Press enter again and you will be prompted to Enter new UNIX password.  Type a new password, press enter and re-type your new password again.  You will get a message telling you your password has been changed successfully.

Use the arrow keys again to move down to 4 Localisation Options and press enter.  Use the arrow keys again to select Change Timezone and press enter.  First select your Geographical area and press enter and then select your Time zone and press enter.

Now you should set your Wi-Fi country – By default, this image is set to GB (Great Britain) so if you’re in a different country you should change this to ensure that the Pi uses the correct frequencies.  Select 4 Localisation Options and press enter.  Scroll down to I4 Change Wi-fi Country and press enter. Find your country, press enter and then press enter again to return to the main screen.

Finally, select 2 Network Options and press enter.  Press enter again on N1 Hostname and give your Raspberry Pi a suitable name.

You will now be returned to the main Raspberry Pi Software Configuration Tool main screen.  Use the tab key to select <Finish> and press enter.  You will be asked if you would like to reboot now.  Press enter to reboot and once your Pi has rebooted, log back in using the new password you set earlier.  Make a note of this password because if you forget it, you’ll need to start from scratch.

You will need an APRS passcode so use the APRS Passcode Generator at Magicbug to generate one.

All the software has been pre installed, all you need to do is edit one (or possibly two) files.

cd ~
sudo nano -c sdr.conf

Scroll down to line eight and change the xxx to your callsign and required SSID.  I use -10 as my SSID so this line reads MYCALL G6NHU-10.  Please use your own callsign, mine is just shown as an example.

In the section below, edit the line starting with IGSERVER to be the correct one for your region.  I’m in Europe so my line reads IGSERVER euro.aprs2.net

Scroll further down and you’ll find a line that starts with IGLOGIN.  Change the xxx to be the same as the callsign you entered above (including SSID) and then change the numbers 123456 to the passcode you obtained from the APRS Passcode Generator.

At the bottom of that file there is one long line that starts with PBEACON.  Replace xx.xxxxxx with your latitude, yyy.yyyyyy with your longitude and zz with your callsign (including SSID).

Save the file by pressing ctrl-x, then hit the Y key and then press enter.

You can now perfom a test using the following command
(144.800 is the APRS frequency in the UK, change as required).

rtl_fm -f 144.80M - | direwolf -c sdr.conf -r 24000 -D 1 -

If all is well, you should see something like this.

Initial test of the RPi and RTL-SDR Dongle APRS RX only iGate using Raspbian Stretch

Initial test of the RPi and RTL-SDR Dongle APRS RX only iGate using Raspbian Stretch

Press ctrl-c to exit the test.

If you’re using a Mac and connecting to your Raspberry Pi via the terminal you may notice the screen flashes badly.  You can fix this easily and quickly by going into the terminal Preferences/Profiles and make sure the box “Allow blinking text” is not ticked.


*** IF YOU GET AN ERROR WHEN RUNNING THE TEST ***
On some Raspberry Pis, you may get an error when you try and run the initial test.  There are two possible errors, the first is:
Signal caught, exiting!

User cancel, exiting…
Illegal instruction

The second error which has been spotted in testing is:
Dire Wolf version 1.4
No supported devices found
Illegal instruction

Either error can be resolved by redownloading and compiling Direwolf using these commands (copy and paste them one at a time exactly as written below:

cd ~
sudo cp sdr.conf sdr.old
sudo rm -r direwolf
git clone https://www.github.com/wb2osz/direwolf
cd ~/direwolf
make
sudo make install
make install-rpi
make install-conf
cd ~
sudo mv sdr.old sdr.conf

Now reboot your Raspberry Pi and run the test again.


You may find that rtl_fm doesn’t report that it’s tuned to exactly the correct frequency, this is nothing to worry about because the RTL-SDR works by mixing the incoming RF with a local oscillator and then IQ sampling the resulting base-band (difference) signal.  The local oscillator therefore needs to be offset a little so that the wanted signal doesn’t fall at the 0Hz point.  rtl_fm automatically selects an appropriate offset for the chosen sampling rate and displays the resulting “offset oscillator” frequency, not the actual “tuned” frequency.

If your local APRS frequency is NOT 144.800MHz then you will need to edit an additional file.
sudo nano /usr/local/bin/dw.sh

You’re looking for this line.


Change 144.80M to whatever your local APRS frequency is.
Save the file by pressing ctrl-x, then hit the Y key and then press enter.

Direwolf is already installed as a service so you must enable it by typing the following command
sudo systemctl enable direwolf

With the service enabled, you have more commands to use

This starts the service
sudo systemctl start direwolf

This command stops the service
sudo systemctl stop direwolf

If you want to disable the service so it doesn’t start automatically on reboot, use this command
sudo systemctl disable direwolf

This very useful command will show the status of the service and see the last few lines of output to demonstrate that it’s all running correctly.
sudo systemctl status direwolf

Sample of the output from running sudo systemctl status direwolf

Sample of the output from running sudo systemctl status direwolf

There is an even more useful command which you can run either via SSH in a terminal window or when you’re logged onto the Raspberry Pi via the GUI which will give you a constantly updating display of the stations heard.  This command is

sudo journalctl -o cat -af -u direwolf

Output from sudo journalctl -o cat -af -u direwolf

Output from sudo journalctl -o cat -af -u direwolf

(press ctrl-c to stop the display)

After enabling the service, reboot your Raspberry Pi and once it’s restarted, it will automatically connect to the APRS network and operate as a receive only iGate. There is an enforced two minute delay from the Pi starting to the gateway connecting, this is to allow all the system services to start up.  Nothing will be echoed to the display while it’s running like this so you can check your status on aprs.fi by searching for the callsign you entered (including SSID).  You don’t even need to log into the Raspberry Pi, the gateway will start automatically within about two and a half minutes from rebooting.

It’s been mentioned that you might like to calibrate the frequency of your RTL-SDR dongle.  I didn’t and I didn’t notice any performance issues but it’s likely that if you’re using an older or cheaper dongle then it might be a little off frequency.  If you’d like to do this, it’s very straightforward to do requiring that you edit just one file.  I’ve written some instructions which you can see by clicking here.

Please note – I am not claiming originality for this setup method, I’ve simply followed what’s already available out there on the internet and created an image based on those instructions for your convenience.  My two source documents were Raspberry Pi SDR IGate and Raspberry Pi Packet TNC.  I thoroughly recommend you familiarise yourself with both of them to see what’s been done here.  You can also read my previous blog article where I list each command I used to create this image.  It’s also worth downloading the full Dire Wolf user guide.  I learned how to add the service by reading a post from Josh, VK2HFF on the Direwolf Yahoo reflector.

I hope this image is useful and as always, I’d appreciate any feedback, comments or thoughts below.

Addendum

On the 25th April 2018 a massive thunderstorm passed overhead here and caused the Raspberry Pi Zero which runs my APRS iGate (MB7UIV) to crash.  It had ben running flawlessly without a reboot for nearly three hundred days.  I decided to rebuild it using the method above and the total time it took, including writing the SD card and reinstalling Direwolf using the instructions provided was around forty minutes.

This entry was posted in Amateur radio, APRS, Data, FM, Raspberry Pi, VHF and tagged , , , , , , . Bookmark the permalink.

148 Responses to Updated guide to setting up an APRS RX only iGate using a Raspberry Pi, RTL-SDR dongle and a pre-built image

  1. HAL FUGLAAR says:

    I can’t get this image to boot with a RPI 3. I have a older version running with Dire Wolf 1.3. It starts with splash screen, then only a flashing cursor. I have tried 3 SD cards, and 2 pi’s. I have 3 hotspots running with RPI, and am very familiar with configuring them. Any ideas?

    • g6nhu says:

      Hi Hal,

      I never use the GUI so I can’t comment about what you’re seeing on screen but I’ve just written the image to an SD card, plugged it into a Raspberry Pi 3 and it’s booted straight away. I can log on via SSH without any problems.

      73 Keith.

    • g6nhu says:

      Hi Hal, I’ve posted a new image which I hope will resolve the problems booting. I’d appreciate it if you could try it please.
      Thanks,
      73 Keith.

      • Norbert HA1NX says:

        Hi Keith!
        I have a Rasberry 3B+ and with the image it is not running.
        I have installed a April 21st 2018 version.
        What is the source of the problem?
        Is there a newer one?
        73 Norbert HA1NX

        • g6nhu says:

          Hi Norbert,
          The image was created on a 3B+ so it definitely works on that model Pi. When you say it’s not running, can you give a bit more detail please.
          73 Keith.

          • Norbert HA1NX says:

            Hi Keith!
            When it is running (red light is on) nothing can be seen on my HD-display. My conclusion is that the 3B+ is just loading.
            The old image (February 2017) is running the device for this multiplecolor-frame “first image” with a “lighning” symbol on the right-up side. So it shows a better working level, because it is shown on the display.
            ….but it is also not working…
            73 Norbert

          • Norbert HA1NX says:

            And the extracted image file is more than 7 GB…
            I installed this file on my 32GB card with Win32Discimager.

          • Norbert HA1NX says:

            I tried to uncompress it with an other software. Now there is a message:
            “The size of the extracted file (78……..) does not match the uncopressed size (35……..) recorded in the Zip file.”

          • g6nhu says:

            Have you tried using WinRAR?

          • Norbert HA1NX says:

            WinRAR it decompressed to more than 7 GB.
            WinZip has shown the error message.

          • g6nhu says:

            Yes, it is more than 7Gb. Check that the MD5 of the unarchived aprs-igate-stretch.img is 22998d62e7dd1b3f270834f6bfd5f089

          • Norbert HA1NX says:

            Thank you for your help!
            The system is working. 🙂
            I have a last question of what I have seen you answers.
            Can this software package use 2 SDRs for 2 different APRS frequencies?
            Do you know someone who finally achived this?
            Maybe after a year or two (since it was written) you have a different answer… 🙂

      • Norbert HA1NX says:

        It works! Thank you!

  2. Karl Heinz Kremer - K5KHK says:

    I am having the same problem: Only a flashing cursor on a RPi3. I also tried on an original Raspi Zero with the same results. Do you have any instructions about manually configuring the system (without the pre-built image)? What hostname are you using for the system? Is avahi-daemon installed so that I can access the Raspi without knowing the IP address (I have too many devices on my network to easily figure out what the new device is – so far it does not look like it’s even on the network)?

    Thanks and 73, Karl Heinz – K5KHK

    • g6nhu says:

      Hi Karl,
      Yes, avahi-demon is installed and the default hostname is raspberrypi. The build was made using my instructions here: http://qso365.co.uk/2017/02/a-guide-to-setting-up-an-aprs-receive-only-igate-using-a-raspberry-pi-and-an-rtl-sdr-dongle/ with just Direwolf configured differently.

      I’m re-downloading my original image file from SourceForge again now and will unzip and write it again to test.

      Has anyone apart from me got this working?

      73 Keith.

    • g6nhu says:

      I’ve just downloaded the .zip from sourceforge, checked the md5, unzipped it and checked the md5 of the .img.

      I used Etcher to write it to an SD card, booted and connected via SSH straight away.

      In case this is a firmware thing, I checked the firmware, it was at 4.14.30 so I ran sudo rpi-update which updated it to 4.14.34 and it’s still booting successfully.

      I’ve also booted both with and without the RTL dongle attached and it’s fine both ways.

      Very keen to get to the bottom of this.

      73 Keith.

  3. Karl Heinz Kremer - K5KHK says:

    I checked the MD5 sums for both the ZIP and the IMG file, and they match what you’ve posted. I’ll have to go through the step by step instructions to see if anything could trip up the installation. Because Hal said, that he tried with three different SD cards, I won’t play around with that and concentrate on the configuration.

    I’ll keep you posted.

  4. Karl Heinz Kremer - K5KHK says:

    BTW: This is with a 16GB card, I don’t have anything smaller, but that should not be a problem.

    • g6nhu says:

      I’ve done all my testing and building using a 16Gb card.
      Here’s something to try – After writing the card, before you put it in a Pi, mount it in a PC/Mac/Whatever and edit cmdline.txt
      Add init=/usr/lib/raspi-config/init_resize.sh to the end of the line, save the file and try booting from that. I’ve pared the image down to absolute minimum size and I wonder if that’s part of the problem.

      • Karl Heinz Kremer - K5KHK says:

        I’ll give that a try later. For now, I’ve followed your instructions, plus the instructions on the Yahoo Direwolf group to create the service, and was able to create a running system. Interestingly enough, it did not work with just the dw-start.sh script, I needed the service to get Direwolf running.

        • g6nhu says:

          That’s part of the reason I went to running Direwolf as a service – It seems that the startup method using dw-start.sh doesn’t work with Direwolf 1.4.

          • Karl Heinz Kremer - K5KHK says:

            Tried a freshly formatted card with a new image and the init string with the same results. I’ll just keep on using the image I created manually using the steps you’ve provided. Thank you.

  5. Martin Overthrow says:

    is it possible to use a fun-cube dongle pro+ instead of a RTL dongle?

  6. Paul G7BHE says:

    Is there a way to enable the Wi-Fi? It is awkward to run ethernet to where this pi will live.
    Thanks and 73

    • g6nhu says:

      Hi Paul,
      Yes – This is fairly straightforward to do.
      After writing the image, put the SD card into a PC/Mac/Linux/whatever computer – You’ll see a folder called ‘boot’
      On your computer create a text file called wpa_supplicant.conf consisting of the following:
      country=GB
      ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
      update_config=1
      network={
      ssid=”the_name_of_your_wireless_network”
      psk=”your_wireless_network_password”
      }

      Add four spaces before the said and psk lines so they’re indented to start below the o in ‘network’ (this may not be required but I always do it)

      Save that file onto the SD card, put the card back into your Raspberry Pi and reboot. It will connect to your WiFi automatically.

      73 Keith

  7. Joshwaa says:

    This worked for me. However every time I reboot I have to pull the RTL-SDR out of the USB port and put it back in then it will work. Any ideas?

    • Joshwaa says:

      Also getting an error where port 8000 and 8001 are already in use from direwolf. Also I have to run “rtl_fm -f 144.39M – | direwolf -c sdr.conf -r 24000 -D 1 -” for the igate to actually work. After booting up it will not relay APRS from the radio unless I keep that window open. Also is there supposed to be something after the last – in the rtl_fm above?

      • g6nhu says:

        Hi Joshwaa,
        I suggest downloading the new image which I uploaded just a couple of hours ago and following the updated instructions on this post – It should all be working now.
        Make sure you use sudo systemctl enable direwolf once you’ve edited the two files and then reboot.

        (and no, there shouldn’t be anything after the last – in the command line you quoted)

        73 Keith.

        • Joshwaa says:

          It was my fault after reinstalling I forgot to change the freq in dw.sh to 144.390. Oops. Is the torrent updated to the new file? If so I will seed for a while. Thanks again for this.

          73
          KN4LMX

  8. Jeff B. says:

    I was able to successfully set up an IGate by following these instructions. I had a couple of minor hiccups, detailed as follows.

    I too had the flashing cursor on first boot, before I resized the file system via SSH as the instructions state. Are the ones having this issue skipping this step?

    One other minor snag (which was my fault), was that I hit the CAPS LOCK key by mistake when typing in the “test” command line. When I ran the incorrectly typed command, I got the error “Signal caught, exiting!” as noted in the instructions, and thought I was going to have to recompile Direwolf, but then I noticed the 2nd half of the command line was all upper case. I Retyped it per the instructions, and the test command ran correctly.

    Thanks for providing the SD image and these instructions! Would this work with an rtl_tcp remote dongle?

    • g6nhu says:

      Hi Jeff,
      I’m fairly sure the boot problem is down to lack of space on the filesystem – I never connect to any of my Raspberry Pis using a monitor, mouse and keyboard which is why the instructions are all provided as terminal commands. I suppose it’s quite possible that the problems people are experiencing would be fixed if they were able to connect via SSH as I’ve described and able to run the command to expand the filesystem. However, I’m in the process of creating a new build which will leave a little extra space and will hopefully work via both SSH and through the GUI without any further tweaks being needed. I want this to work for as many people as possible 🙂

      Watch this space for a new image in the next day or so.

      73 Keith.

  9. Pete says:

    I am getting a CRC error both with the torrent and the direct download. Is anyone else experiencing this issue? Thanks

    • g6nhu says:

      Hi Pete,

      The first thing to do is to check the md5 value of the file you’ve downloaded against the figure I’ve posted to ensure you have a good download.

      I’ve successfully unzipped the file on Mac OS, Windows 8 and Windows 10. You might need to use a third party archive utility such as 7zip (free) due to the size of the unzipped image being over 4Gb.

      I haven’t tried unzipping it on Windows XP.

      73 Keith.

      • Pete says:

        Hi Keith,

        I checked the ms5 and it matched and 7zip also fails with an error, I will keep trying.

        Thanks!

        Pete

      • Pete says:

        Keith I was able to unzip the file with WinRAR, thanks!

        • g6nhu says:

          Thanks for the update, Pete – Out of interest, which operating system are you using?

          • Marc Strickland says:

            I found that Power Archiver gives a CRC error, as does Win 10’s built in tools.. Tried to use the img file anyway and it does not work. Downloaded WinRAR and it unzipped the img file with no issues. Wrote that img file to SD card and all works fine… Strange that only a few tools seem to be able to unzip this file but in the end got it to work…

  10. Eric D Brown says:

    Just wanted to say Thanks for this image and the write-up. I had followed another article on installing direwolf, etc but could never keep the system running for more than 30 minutes or so before crashing. Your image has been running for 6 hours without issue.

    I appreciate the work you put into this.

    73,
    Eric – N0EDB

    • g6nhu says:

      Hi Eric,
      Thanks for the positive feedback, I’m very pleased it’s working for you. I’m keen to know which model Raspberry Pi are you using it on and I wonder if you had to reinstall Direwolf using the instructions I provided?

      73 Keith.

  11. Martin says:

    Hi, thanks for this!
    Have you thought of rebuilding it on the the basis of TinyCore / PiCore, i.e. Linux variants for the Raspberry that are run entirely in RAM? The main advantage of these is that you do not need to worry about any loss of power etc. – if the computer is loosing power, it will simply reboot as soon as it comes back. The traditional Raspbian on SD cards is in my experience prone to corrupt over time, mainly by small glitches in the power supply or improper shutdowns.

    Here is a link: https://www.novaspirit.com/2018/01/09/tiny-core-raspberry-pi-zero-w-install/

    73 de Martin

    • g6nhu says:

      Hi Martin,
      No, I’ve not tried that but will have a look at it. I do agree that early Raspberry Pis were a bit susceptible to SD card corruption but I’ve never experienced it at all. I have a lot of Pis running here and they’ve all had improper shutdowns but none of them have corrupted an SD card…. yet!
      73 Keith.

  12. Marcos says:

    Many many thanks for all.

    The best 73 de EA2EKE

  13. Martin says:

    Hi Keith,
    one more thing: I think it would help people if you indicated the expected format for the GPS coordinates, because APRS uses the DMS format (DDMM.MM if I remember correctly), while most other applications use DD. I assume you mean the latter.

    Again, a big thanks for your work!

    73 de Martin

  14. Martin says:

    Hi all,
    I had to recompile Direwolf, but now it works like a charm.
    A few remarks:

    1. I was at first irritated that my E4000 SDR reported a strangely different frequency (“Tuned to 145052000 Hz” instead of 144.800 MHz). But I found on the Internet that this seems normal behavior: http://kmkeen.com/rtl-demod-guide/
    It is also actually using the correct frequency for demodulation.

    2. I think I will add a power down button, as described here:
    https://www.stderr.nl/Blog/Hardware/RaspberryPi/PowerButton.html
    Thus will allow a safe shutdown without SSH or a keyboard.

    3. On my computer, the Direwolf terminal output is blinking all the time. I found that you can disable that by adding “-t 0” to the command-line invocation:

    rtl_fm -f 144.80M – | direwolf -c sdr.conf -r 24000 -D 1 – -t 0

    But I still have to figure out how to incorporate that into the boot configuration.

    4. I am also thinking of adding a small OLED display via I2C, which would render the status or last received packet.

    But again, thanks for the good work!

    73 de Martin

    • g6nhu says:

      Hi Martin,
      Thanks for the feedback – Regarding your points:

      1 – Yes, I mention this specifically in the post and explain why there’s a difference in reported frequency.
      2 – Always useful – Mine is never switched off so I’m not too worried about it.
      3 – Good spot. I did have a few lines in my original article about how to work around this on a Mac which I’ve added to this entry.
      4 – Nice idea – Not something I’ll look at because my iGate is hidden away under my desk!

      73 Keith.

  15. DU2UXH says:

    Hi. This is working for me on the Raspberry Pi although I really have to recompile Direwolf everytime I do a fresh install. But it works like a charm. There are not much APRS here in the Philippines so I thought I would like to try.

    73,
    Max

    • g6nhu says:

      Hi Max,
      I’m very pleased it’s working for you – What model Raspberry Pi are you using please?
      73 Keith.

      • Maximo Barawid Jr. says:

        I think this is one of the first versions of this model. It says on the board, Raspberry Pi (c)2011.12. This is having only 2 USB ports.

        73,
        Max

      • Maximo Barawid Jr. says:

        Btw, I’ve seen that you have updated the image recently. How do I update the image to the current, just apt-get update and upgrade?

        73,
        Max

        • g6nhu says:

          Hi Max,
          No, the only way to get the updated image is to grab it fresh and start again. It’s quick enough to do, if you read the addendum to the blog piece, you’ll see I did it myself to update my own iGate recently.

          • Maximo Barawid Jr. says:

            Hi Keith. Thank you. I will update the image now.

            73,

            Max DU2UXH

  16. Andy G7TKK says:

    Hi there – following your examples. Im getting stuck at the Raspi-config –> Localisations –>I4 Change wifi country. Getting …Could not communicate with wpa supplicant….There was an error running option I4 change wifi country.

    System
    RPi Zero W on Atrix docking system.
    Nooelec RTL “blue”

    wpa_supplicant.conf on F:boot drive …..ssd 16Gb
    ……………………….
    country=GB
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    network={
    ssid=jim
    psk=fred
    }
    ……………………………..

    lsusb shows no wifi equipment. even if I insert another pihut usb dongle I dont see the pi zero element.

    wlan 0 and wlan1 not associated when inspecting wlan icon.

    I obviously have done something silly Thanks in advance. Andy G7TKK

    • g6nhu says:

      Hi Andy,

      Firstly, when did you download this image? A few days after it was originally posted, I provided an updated version and part of the reason was for broken WiFi.

      I don’t know anything about the Atrix docking system but my first suggestion would be to try it without that as a bare bones Pi.

      73 Keith.

      • Andy G7TKK says:

        Thank you. I shall try the latest image. The bare bones pi system attached to the atrix dock has been working flawlessly as a rpi laptop for the past 3 years with an assortment of Rpi’s. It makes a good test jigfor trouble shooting hardware. TTFN Andy

  17. Chris says:

    Hello. I have running the Igate in Raspberry Pi 3B with RTL-SDR V3 dongle. Thank you for your post and image.

    Is it possible to igating two frequencies at the same time (144.800 and 145.825) ?

    73, Chris EA4UC

  18. Andy G7TKK says:

    http://www.g0mwt.org.uk/skills/cars-skills-mar2016.htm
    Andy G7TKK used Virtual Machines and SDR# to run a triplet of SDR dongles.

    Perhap a couple of instances / virtual box of dire wolfcould be set up. The sampling rate would have to be halved in the dongles.
    just a thought

    andy

  19. Andy G7TKK says:

    I still having trouble with sdr.config – I get a line 25 error I dont understand.
    do you have any pointers please?

    Line 10 onwards………………

    MYCALL G7TKK-10 # <—My Callsign here ******************************************************

    # First you need to specify the name of a Tier 2 server.
    # The current preferred way is to use one of these regional rotate addresses:

    # noam.aprs2.net – for North America
    # soam.aprs2.net – for South America
    # euro.aprs2.net – for Europe and Africa
    # asia.aprs2.net – for Asia
    # aunz.aprs2.net – for Oceania

    IGSERVER euro.aprs2.net # <— European *******************************************************

    # You also need to specify your login name and passcode.
    # Contact the author if you can't figure out how to generate the passcode.
    #**********************************************************************************************************************
    IGLOGIN xxxyy' #<— my 5 digit login passcode – the one I've used for the past 10 years!
    #**********************************************************************************************************************
    # That's all you need for a receive only IGate which relays
    # messages from the local radio channel to the global servers.
    #EOF

    Please could you help me with the error

    Dire Wolf version 1.4

    Reading config file sdr.conf
    Line 25 Missing passcode for IGLOGN command <——————-
    I
    Blah Blah
    I
    Buffer size:8.13ms

    When testing with

    rtl_fm -144.80M – I direwolf ……etc.etc

    Thanks in advance

    Andy

  20. Andy G7TKK says:

    Ive tried IGLOGIN G7TKK 11133

  21. Andy G7TKK says:

    Seems to work now cross referencing with direwolf git hub . I seem to be missing yhe line begining with PBEACON . could you please supply me with a sample copy of the line
    andy

    • g6nhu says:

      Hi Andy,
      My PBEACON line at the bottom of sdr.conf is as follows:
      PBEACON sendto=IG delay=2:00 every=15:00 symbol="igate" overlay=R Lat=51.840985 long=001.222458 COMMENT="MB7UIV RX iGate | http://mb7uiv.co.uk"

      Obviously tweak the lat/long to your own and the final comment to whatever you want

      73 Keith.

  22. Hermawan W. - YG3EMH says:

    Thank you for providing this Setup, working well with my Raspi 3 and RTL-SDR dongle.
    Good Job

    73

    Hermawan W – YG3EMH

  23. Dave says:

    Thank you so much for the great image, it has made life easier when trying to get an iGate up and running. Is it possible to run YAAC on the Raspberry Pi while running this image?

    73

    Dave VA6HW

  24. grassator says:

    Hello,
    I have a problem with the pi3.
    sudo systemctl enable direwolf

    pi@aprs-igate:~ $ sudo systemctl enable direwolf
    Failed to execute operation: No such file or directory
    The dw file is also not in the predicted location, its empty.
    sudo nano /usr/local/bin/dw.sh

    • g6nhu says:

      Hello,
      This all sounds as though you’re trying to use the commands on the old version of the image. The previous version did not have Direwolf installed as a service and does not have dw.sh in /usr/local/bin
      I suggest you re-download the image using either the torrent link on this page or the SourceForge link and start again.
      Please let me know how you get on.
      73 Keith.

  25. Fidel says:

    Keith, Igate installed in an older Pi I had sitting around, thanks for your instructions and for sharing with fellow amateur radio operators. It is working great.
    73 Fidel WD4CLZ

  26. Gavin Watts says:

    Hi Keith, I too installed on an older Pi and its been working great for 2 months now. Many thanks. 73’s VA7GVN

  27. Hello… I am having trouble on a Pi 1B, continuing to get an exit code 132. I’ve tried re-compiling direwolf but that does not seem to help… is my Pi too old, or is there a config that I could post to help figure out what’s going on?

    I did notice that there is an extra line at the beginning of the config, “ADEVICE null null”… not sure if that needs to be modified at all.

  28. Anyone else find that adding -F 8 (to the rtl_fm cmd line) significantly improves reception?

    According to the docs it enables a higher quality downsampling FIR

    Note: It’s a capital F

    Andy, M0CYP.

  29. Dave says:

    I keep getting a error saying that it can’t set the frequency of the sdr. It works good once in a while, but other times if fails. Without a software or hardware change.

  30. Grassator says:

    Ok i had not much time the last month but today it working perfectly it was my fault the MD5 has not matched. Unzip with 7Zip was a failure no it works.
    I had 2 Sticks is it possible to start direwolf with a second stick on the same Raspberry? it schould go if i set other Ports with an second SDR.conf file?

    • Grassator says:

      OK have test it with 2 Sticks but i cant chose a Stick manually direwolf just use stick 0. How can i chose stick 1 if stick 0 is in use? The rest is green all starts perfectly with other Port and on other soundchannel.

  31. berenland says:

    Hi !
    is there an howto when using an raspberry with audio cables into the raspberry to work as igate. The 857 is using a outside antenna and so i want to use it as igate to send its info to aprs.fi

    Anyone done this and how?!

  32. Jharwin Barrozo says:

    Has anyone tried building this one for International Space Station (ISS) iGate? Got it mine working for normal aprs igate. But I wonder if I need to tweak anything in the code aside from changing the frequency to ISS packet at 145.825Mhz. Thanks in advance.

    • g6nhu says:

      As far as I’m aware, all you should need to do is change the frequency.

      • Jharwin Barrozo says:

        Thanks for the quick reply. My only problem is that, the iGate also picks up the beacon I have sent that should be intended TO the ISS. I want the igate to only receive packets coming FROM ISS and it should not igate any terrestrial traffic.

  33. Jharwin Barrozo says:

    To anyone having some wifi issue on Raspberry Pi zero Wh (pi without ethernet port) which turns out of the box its wifi interface is unavailable/disabled, can’t even enabled via gui (atleast for the pi zero I’ve got from china). I have found one solution for this wifi issue, first is to add dtooverlay=dwc2 into config.txt then also add this line, module-load=dwc2,g_ether into the cmdline.txt. Then do the normal way of adding the wpa_supplicant.conf as well the ssh file. After that, everything works flawlessly.

  34. Jharwin Barrozo says:

    After reading the direwolf documentation, and just share it to anyone trying to build this setup for satellite/space station igate, you need to add SATGATE 10 on the sdr.conf file. What this SATGATE 10 does is, it will delay the heard packet for 10 seconds. This time frame is enough for the satellite or iss to send back the digipeated packet which you want to igate.

    Let’s assume the satellite/iss didn’t respond after 10 seconds, then the heard packet which was originally sent by you and was delayed will now be igated.

  35. Don Hamiel says:

    Hi Keith,
    Is it possible to run this concurrently with Pi-Star on an a RPI Zero? It would be great if I could run both an Igate and a DMR repeater.

    Thanks for all of your time on this project.

    Don.

  36. Don says:

    Hello all,
    I had this working the first time I powered it up. After I cycled the power I now get the following info when I query the device. Has anyone seen this?

    Thanks..Don.

    Bind failed with error: 98
    Address already in use
    Some other application is probably already using port 8001.
    Try using a different port number with KISSPORT in the configuration file.
    Bind failed with error: 98
    Address already in use
    Some other application is probably already using port 8000.
    Try using a different port number with AGWPORT in the configuration file.
    0: NooElec, NESDR Nano 3, SN: 3578281600

    • Don says:

      Ended up with a dead sdr. Got a new one and all is good. Thanks for posting the article.

      • Jharwin Barrozo says:

        I had some hiccups on my second reboota too, aallI thought the igate was working but it’s not. The solution I have found was to add more blacklist modules into blacklist.conf file so that they will not be loaded automatically into the donggle.

        blacklist dvb_usb_rtl28xxu
        blacklist rtl2832
        blacklist rtl2830

        Then I updated both the direwolf and rtl-sdr. So far, it’s working perfectly now.

    • Luciano says:

      Don, how did you sort that out? I have been facing the same the same issues.
      Your advice is welcomed.
      Thanks in advance!

  37. g7hjx says:

    Hi, thanks for the image, I have it working but when monitoring I see ‘
    Source SSID must be digits. “G6ZVR-S” has letters in SSID.
    Failed to create packet from text. Bad source address’ is this a problem?

    Dave

    • g6nhu says:

      Hi Dave. You’ve used -S as your SSID. It should be a number, not a letter.
      73 Keith.

    • Jharwin Barrozo says:

      SSID should be either from digit 1 to 15, this is your station identifier 1-4 generic station, 5 other network, 6 satellite, 7 handheld, 8 boat or ship, 9 mobile station, 10 APRS no radio, 11 balloon or aircraft, 12 aprstt or dtmf, 13 weather station, 14 freight vehicle, 15 generic station. APRS server will not be able to plot your coordinate in the aprs.fi if you will use -S. Should be G6ZVR-10, G6ZVR-3, etc. Mine is set to 10 because it’s APRS no radio.

  38. Luciano says:

    Could someone be so kind to advise me how to sort this message, please??

    Ready to accept AGW client application 0 on port 8000 …
    Ready to accept KISS TCP client application 0 on port 8001 …

    End of file on stdin. Exiting.
    direwolf.service: Service hold-off time over, scheduling restart.
    Stopped Direwolf service.
    direwolf.service: Start request repeated too quickly.
    Failed to start Direwolf service.
    direwolf.service: Unit entered failed state.
    direwolf.service: Failed with result ‘start-limit-hit’.

  39. Luciano says:

    Could someone be so kind to explain me why I keep reading the following:
    Dire Wolf version 1.5
    Warning: File(s) beyond the first are ignored.

    Reading config file sdr.conf
    Audio input device for receive: =D (channel 0)
    Audio out device for transmit: null (channel 0)
    Found 1 device(s):
    ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM =D
    Could not open audio device =D for input
    No such file or directory
    Pointless to continue without audio device.
    0: Realtek, RTL2838UHIDIR, SN:

    Using device 0: Generic RTL2832U OEM
    Detached kernel driver
    Found Elonics E4000 tuner
    Tuner gain set to automatic.
    Tuned to 145052000 Hz.
    Oversampling input by: 42x.
    Oversampling output by: 1x.
    Buffer size: 8.13ms
    Exact sample rate is: 1008000.009613 Hz
    Sampling at 1008000 S/s.
    Output at 24000 Hz.
    Signal caught, exiting!

    User cancel, exiting…
    Reattached kernel driver

  40. Brad says:

    I have seen a few others here with this issue, besides replacing the RTL-SDR have there been any other solutions?

    Note: PTT not configured for channel 0. (Ignore this if using VOX.)
    Found 1 device(s):
    Bind failed with error: 98
    Bind failed with error: 98
    Address already in use
    Some other application is probably already using port 8000.
    Try using a different port number with AGWPORT in the configuration file.
    Address already in use
    Some other application is probably already using port 8001.
    Try using a different port number with KISSPORT in the configuration file.
    0: Realtek, RTL2838UHIDIR, SN: 00000001

    Using device 0: Generic RTL2832U OEM
    usb_claim_interface error -6
    Failed to open rtlsdr device #0.

  41. mustafatan75 says:

    Worked like a charm. Thank you 🙂

  42. Axel ON6SX says:

    Works fine,had no problems at all.Be careful when you buy the dongle,there is fake on the market,they look the same but they are not.
    I did a raspbian update to the latest version and everything stay working after a reboot.
    Thank you for the image and the guide.

  43. Michael A McCormack says:

    This worked perfectly. Pi3B+ followed instructions exactly. Well done and THANKS! 73 KD2RED

  44. Travis K7PLC says:

    Do you have a copy of this image based on Stretch lite? That is, without the desktop gui packaged in? I’m trying to build a smaller light weight image. Manually uninstalling the desktop caused unintended breakage…

    Alternatively, do you have instructions for recreating your process manually based on Stretch Lite so I could do it myself?

  45. Michel says:

    Hi, many thanks for the sharing of this program.

    I set it up in less than one hour.

    My system is a PI2 B+ my sdr is something without name coming from China or so and very low cost based on an R820T2.

    It just works perfect !
    The installation was just as simple as described.

    This is very useful for me since there is no relay in the vicinity of my home.

    73 de Michel

  46. Mart says:

    I can hear good APRS packets with rtl_tcp and SDR# but i can’t see decodes using commands in this guide and also aprs.fi reports nothing.

    73, Mart

  47. ken says:

    works great on a pi3 B but not on a pi3 A, instructions are great and editing the conf file was easy, many thanks

    • g6nhu says:

      Hi Ken,

      What happened on a Pi3A? I’ve not got one of those to try.

      I assume you mean a 3A+

      73 Keith.

      • ken says:

        hi keith, the 3a with one usb and no lan (must be a 3a+, sorry) , power on gets the multi-coloured screen ….. then it just sits there. It may be a cheaper pi3 but im not impressed …..lol

        • g6nhu says:

          It’s because the image was created on an older version of Raspbian which doesn’t support the 3A+.
          There is a fix but it involves having access to a different model Pi.

          Burn the image and plug the SD card into a different Pi, login and run the two following commands.

          sudo apt update
          sudo apt dist-upgrade

          Once they’ve completed, you should be able to move the card to a 3A+ and it’ll work.

  48. Jim - AD4XX says:

    It worked perfectly, first time. That’s new for me!

  49. Jim - AD4XX says:

    I just built one and it will be mounted permanently at our high school. We’ll primarily use it to track High Altitude Balloon launches. That will fix the problem we have where there is no APRS data from the balloon until its a couple thousand feet up. The next problem is that we lose the APRS data once the balloon payload descends below about 2K to 5K feet…so I want to make another one of these to aid in recovery. We typically know ‘about’ where the balloon should land based on its last 1 or 2 plots before it loses touch with an APRS station. I will take the 2nd one mobile, be very near the landing site, and should be able to pick up location reports, even once it’s on the ground, assuming I get close enough. My question is whether or not there is a way to add a GPS to this system so it will report its current location too, instead of the one I hard code into the configuration.

  50. Tony says:

    Hi Keith. I’ve just used the pre-built image – all seems to work fine. However when entering ‘rtl_fm -f 144.80M – | direwolf -c sdr.conf -r 24000 -D 1 -‘ to test it, I get the display on the console as I should, but the text is flashing and the light green text on a grey background is hard to read. Any idea where (or even If) this can be changed? I’m guessing it is a Direwolf thing, rather than anything you have chosen?

    Regards,
    Tony
    G8WBI

    • g6nhu says:

      Hi Tony,

      Yes, that’s frustrating.

      If you’re using a Mac and connecting to your Raspberry Pi via the terminal you may notice the screen flashes badly. You can fix this easily and quickly by going into the terminal Preferences/Profiles and make sure the box “Allow blinking text” is not ticked.

      I don’t know how to do it in any other OS/application but that’s how to resolve it on a Mac.

      73 Keith.

      • Tony says:

        After I asked the question I saw your comment about Macs. However I’m using Terminal on Xubuntu. I Googled the issue and the author seems to be blaming it on ANSI codes or something.

        Anyway, his solution is to add ‘-t 0’ to the command line and it forced the display to white on black for everything. Not ideal, but at least it is readable!

  51. Dan says:

    I’ve recently setup an RX iGate and through some experimentation I found that it can become a blackhole for traffic trying to reach a station. It seems that almost as soon as the station is heard on the RX iGate, packets stop routing to nearby TX digis. And the servers have no idea I can’t transmit. Has anyone checked into this as well?

    I’ve done just about everything I can think of to prohibit traffic coming my way to TX using server filters, but it’s still sent to my RX iGate to die, even if I tell the server u/N0CALL and connect on port 14580.

  52. George KA3HSW says:

    Downloaded the image from SourceForge, and anything I try to decompress it with (Windows extract, WinZip, WinRAR) reports that the decompressed file size is larger than the size listed in the compressed file. Will try the torrent link.

    • George KA3HSW says:

      Same problem with the torrent file…

      • g6nhu says:

        Hello George,
        What operating system are you using? I can be pretty sure it’s not the image file that’s broken but I redownloaded it anyway from Sourceforge to check and I can decompress it.
        73 Keith.

        • George KA3HSW says:

          Windows 7 Professional, 64-bit. Also tried it on another computer running the 32-bit version.

          • g6nhu says:

            I can’t answer this, George. I don’t know why you can’t decompress it. I did email you earlier today with a direct link to the .img file, hosted temporarily on my Dropbox account.

  53. George KA3HSW says:

    Thank you. I was successful in downloading it to the Raspberry Pi itself, unzipping it there and then burning an SD card,

  54. George KA3HSW says:

    Keith: I have everything up and running, but have run into an issue trying to enable the bias tee… when I run the command rtl_biast -b 1, I get a usb_claim_interface error -6. Someone suggested that rtl_biast must be run before any other program accesses the dongle. I am a total Linux noob, so, how do I go about making that happen?

  55. George KA3HSW says:

    I discovered that rtl_fm supports a switch, -T, that turns the bias tee on. By simply adding -T to the command line in /usr/local/bin/dw.sh as shown below, the bias tee will turn on before Direwolf starts.

    rtl_fm -f 144.80M -T – | direwolf -c /home/pi/sdr.conf -r 24000 -D –

    You might want to add this to the guide.

  56. Konstantin says:

    Hi, Keith.
    You have a very interesting site!
    Is it possible to make a disk image for raspberry PI to receive AIS sea traffic and transmit data to map aprs.fi ?

    • g6nhu says:

      Hi Konstantin,
      I have looked into the possibility of using a Pi to receive AIS and it can be done but it really doesn’t work well with an RTL-SDR dongle and needs a specific AIS HAT. I won’t be producing a similar disk image for AIS.
      73 Keith.

  57. peter says:

    hi there
    managed to install program when i test as above comes up with no sound installed just stops
    we’re have gone wrong please

    peter

  58. Theo Vermeulen says:

    img give a error when i wil un zip it

    • g6nhu says:

      This has been covered many times and is mentioned in the guide. Please use WinRAR to unzip the file.

    • Gus says:

      Hi Theo
      Try to use 7-Zip. To extract the file.. once you get the all done and use win32disimage to write the image . To make sure also generate the MD5 and correct code ..WinRR seem to be problem to me to extract the file. Chur bro

  59. Gus says:

    i Have putting correct GPS Coordinate on the PBEACON but check on the APRS.fi and i get wrong location coordinate .. any idea how to fix it. Example
    my fix gps locations Lat=31.4973S long=115.5135E
    then check on the aprs.fi i”ve got report 3129.84S long 11530.81E .. WTF ?

    any idea ?

  60. James KF4LXS says:

    Recently purchased Pi 4 and tried to boot up with the image with recommended 32GB Mini SD. No Joy. Would it be correct to assume that this image won’t work with Pi 4? Many thanks.

    • g6nhu says:

      Hi James,
      No, it won’t work with a Pi4 as it’s based on Raspbian Stretch which isn’t supported by the Pi4. I’m working on an updated version with different options though which will work with the Pi4.
      73 Keith.

  61. K5GDDN says:

    I’ve downloaded the image from both the torrent and sourceforge. I’ve tried unzipping the program different ways.

    All come out corrupt no matter what method I try to use.

    ????

    Are there instructions for building the system from scratch instead of the pre-built image?

    73

    • g6nhu says:

      Hi George,
      As far as I know, everyone who has had problems unarchiving the file has managed it using WinRAR. Providing the md5 matches the figures I’ve posted then you can be 100% sure it’s not corrupted.
      What OS are you using? Is it 32 or 64 bit and have you tried WinRAR?
      If you go back through the blog (use the APRS category) then you can see my original guide which is step by step but that probably won’t work fully as there’s an issue running Direwolf the way I originally did it. It has to run as a service now.
      73 Keith

      • K5GDN says:

        WinRAR 64 bit. WinRAR complained and didn’t save the expand files. Maybe there’s a WinRAR setting to get around it not saving. I don’t use WinRAR much.

        However, I went ahead and just installed Direwolf and the SDR libraries manually on Buster. Seems to be working fine.

        Thanks!

        73 George

  62. M0NMA says:

    I had problems downloading and extracting the latest zip file. Both the torrent and the direct zip files downloaded OK and the MD5 checksum was correct, but Windows Explorer stopped extracting the img file with an ‘unknown error’ and WinRAR reported a corrupt file. However 7-zip did extract it successfully, even though the progress counter got well over 100%!

Leave a Reply to g6nhu Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.