Setting up an APRS RX only iGate using a Raspberry Pi, RTL-SDR dongle and a pre-built image

After my previous post, it was suggested that an easier way to set up a receive only APRS iGate would be to provide a pre-built image which only needs slight tweaking to go live.  That seemed like a good idea to me so I’ve prepared an image that just requires a handful of configuration changes which I will go through in detail below.

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

First, download my custom built Raspberry Pi image from here or preferably as a torrent from here.  This is a 1.6Gb file which will expand to approximately 4Gb when you decompress it.  Unzip it and write it to an SD card.  You don’t need a high capacity SD card, this image will fit on a 4Gb card and work perfectly.  This image is fully up to date as of 3rd February 2017.


There are two methods of downloading the Raspberry Pi image. The first is direct from SourceForge 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.zip is dde367dc0db9365b84850fcdc46519e4
MD5 of aprs-igate.img is 93060310c5a5c4a3a46822944dc0401f

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.

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

Expand the filesystem by pressing enter on option 1 then select OK and you’ll be returned to the main screen.

Use the arrow keys to move down to the second 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 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.

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.

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 two (or possibly three) files.

cd ~
sudo nano 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 Raspberry Pi and RTL-SDR Dongle APRS RX only iGate

Initial test of the Raspberry Pi and RTL-SDR Dongle APRS RX only iGate

Press ctrl-c to exit the test.


*** UPDATE – READ THIS IF YOU GET AN ERROR WHEN RUNNING THE TEST ***
I’ve had some feedback that on some older model Raspberry Pis, you may get an error when you try and run the initial test.  The error ends:
Signal caught, exiting!

User cancel, exiting…
Illegal instruction

If this happens, you need to redownload and compile Direwolf using these commands (copy and paste them one at a time exactly as written below:

cd ~
sudo cp sdr.conf sdr.old
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.


If your local APRS frequency is NOT 144.800MHz then you will need to edit an additional file.
cd ~
sudo nano dw-start.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.

The last thing to do is to configure the system so that the APRS iGate starts automatically whenever you reboot the Raspberry Pi.  Enter the following command:
crontab -e

Scroll down to the bottom and you will see the following line.
#* * * * * /home/pi/dw-start.sh >/dev/null 2>&1

Delete the # at the start of that line.
Save the file by pressing ctrl-x, then hit the Y key and then press enter.

Reboot your Raspberry Pi and once it’s restarted, it will automatically connect to the APRS network and operate as a receive only iGate. 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 ninety seconds of 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 hope this image is useful and as always, I’d appreciate any feedback, comments or thoughts below.

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

73 Responses to Setting up an APRS RX only iGate using a Raspberry Pi, RTL-SDR dongle and a pre-built image

  1. John AE5X says:

    Thanks for this tutorial. In your first screenshot, the 2nd green line shows you as being “verified”. I show as “unverified” and don’t see my call on Findu (perhaps because of this). Do you know how this verification takes place?

    I am receiving data from the i-gate server just not reporting to it.

    Thanks again.
    John AE5X

    • g6nhu says:

      Hi John,
      This sounds as though you didn’t enter the correct number as your APRS passcode when you edited sdr.conf

      In your case, the IGLOGIN line should read:

      IGLOGIN AE5X 2047

      If you set an SSID in the MYCALL line in the same file then you should use the same SSID in the IGLOGIN line.

      Hope this helps.

      73 Keith.

  2. John AE5X says:

    Keith – thanks much! I had 2407 entered. Correcting it fixed the problem. You’ve don e a great job in simplifying when would have been a bit of a task to a newbie like me – just bought my first RPi a week ago so I have a lot to learn. Tutorials like yours make the learning both fun and practical.

    Best wishes,

    John AE5X

  3. Alex says:

    Hi. The link to the OneDrive download seems to have expired. When I click your link it’s saying “This item might have been deleted, expired or you might not have permission to view it. Contact the owner of this item for more information”.

    Can you give an alternative download link?

    73’s

    • g6nhu says:

      Hi Alex,
      I’m sorry, I used up all my bandwidth from OneDrive very quickly! I’ve rehosted the file at mega.nz and am also hosting a torrent file using public trackers. I’d appreciate anyone who can help me seed this file.

      73 Keith.

      • Alex says:

        Up and running! Great work. Been meaning to give this a try for a while. Very simple. Took 20 mins.

        Will also seed the torrent.

        • Alex says:

          Another quick question. When it reboots and DireWolf auto-loads, it’s says: “Tuned to 145052000 Hz”, Even though I specify 144.80M in the config file.

          Any ideas? I can’t seem to get it to tune to 144.8

          • g6nhu says:

            Hi Alex,
            Pleased you got it downloaded and thanks for helping to seed.

            I don’t know why it says that, mine shows the same but it’s definitely tuned to 144.800 MHz and working correctly.

            73 Keith.

  4. Zoltan says:

    Fantastic! 😀 I hesitated to do this due to long setup, you saved me bunch of time, thanks!

    I would advise for autostart “tmux” and write it in “/etc/rc.local” thus every user can easily connect to the session easily and can see what the program doing.

    73,
    Zoltan

  5. Al KD8JXA says:

    Hi Keith: I’ve followed your instructions, but hit a snag when running the test as described above. The test starts up, says it is sampling, but then says “user cancel, exiting… Illegal instruction” Unfortunately, it does not tell me what instruction triggered this. Any ideas? Thanks for making this, and the help! BTW, I set 144.39M for the US, but get back a different frequency, too. I assume this is the dongle drifting… Output from the execution follows:

    rtl_fm -f 144.39M – | direwolf -c sdr.conf -r 24000 -D 1 –
    Dire Wolf version 1.3

    Reading config file sdr.conf
    Found 1 device(s):
    0: Realtek, RTL2838UHIDIR, SN: 00000001

    Using device 0: Generic RTL2832U OEM
    Found Rafael Micro R820T tuner
    Tuner gain set to automatic.
    Tuned to 144642000 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…
    Illegal instruction

    • Tyler K says:

      I had the same issue when using an older raspberry pi. I switched everything over to a new one (raspberry pi 2 model b) and everything is working as expected.

      • g6nhu says:

        Tyler, that’s very interesting. Can you tell me exactly which model you’ve got where it didn’t work please.

        Same for you, Al – What model Pi are you using?

        Keith.

        • Hi

          I had the same problem on a PI model B+ V1.3 changing up to a Pi 3 stoped the “User cancel, exiting…
          Illegal instruction” but the “Tuned to 144642000 Hz.” then I did some math, 144642000 – 144390000 = 25200 so thinking this was some sort of offset thing I did 144390000 – 252000 = 144138000, I then entered rtl_fm -f 144138000 into the command line and dire wolf reported the right frequency

          pi@aprs-igate:~ $ rtl_fm -f 144138000 – |direwolf -c sdr.conf -r 24000 -D 1 –

          Dire Wolf version 1.3

          Reading config file sdr.conf
          Config file: No = found in, N, on line 30.
          Audio input device for receive: stdin (channel 0)
          Audio out device for transmit: null (channel 0)
          Found 1 device(s):
          Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, E+, 24000 sample rate.
          Note: PTT not configured for channel 0. (Ignore this if using VOX.)
          Ready to accept AGW client application 0 on port 8000 …
          Ready to accept KISS client application on port 8001 …
          Use -p command line option to enable KISS pseudo terminal.
          0: Realtek, RTL2838UHIDIR, SN: 00000001

          Using device 0: Generic RTL2832U OEM
          Found Rafael Micro R820T tuner
          Tuner gain set to automatic.
          Tuned to 144390000 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.

          Now connected to IGate server noam.aprs2.net (209.197.177.57)
          Check server status here http://209.197.177.57:14501

          • g6nhu says:

            John, that’s interesting regarding the frequency. I’m keen to know whether you actually receive anything having made that change because even though mine is reporting my frequency as 145052000 Hz, it actually is receiving correctly on 144.800MHz. If it had tuned to 145.052MHz, I wouldn’t hear anything.

            73 Keith.

      • Chris says:

        I Have the same challenge:

        Dire Wolf version 1.3

        Reading config file sdr.conf
        Line 30: Latitude hemisphere in “xx.xxxxxx” is not N or S.
        Line 30: Unexpected character ‘x’ in location “xx.xxxxxx”
        Found 1 device(s):
        0: Realtek, RTL2838UHIDIR, SN: 00000001

        Using device 0: Generic RTL2832U OEM
        Found Rafael Micro R820T 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…
        Illegal instruction

        SHA1 is ok for the image. Not sure what is happening!

        • g6nhu says:

          Chris, you don’t appear to have set up your latitude and longitude in the config file. Not sure if that’s what’s causing this error but check the instructions and your sdr.conf file before we go any further please.

          Keith.

          • Chris says:

            hey Keith, thanks for the response. I have added and get the same error without the Line 30: Latitude hemisphere error. I have ordered a later PI so will give that a go.

          • Chris says:

            ok so, i re downloaded direwolf, compiled it again and bingo. It works now.

          • g6nhu says:

            OK, Chris, did you use these instructions?

            Download the Dire Wolf source code.
            cd ~
            git clone https://www.github.com/wb2osz/direwolf

            Compile and install Dire Wolf.
            cd ~/direwolf
            make
            sudo make install
            make install-rpi
            make install-conf

            Still interested to know what model Raspberry Pi you’re using so I can add this to the instructions.

            73 Keith

      • g6nhu says:

        I’ve added an update to my guide with some instructions as to what to do if this error is encountered.

  6. g6nhu says:

    Hi,
    I’ve not seen that before but I have seen some odd issues when copying and pasting then editing the text from the web site as I’ve seen strange characters slipping in. For example, I had a problem with that command myself to start with where it looked like it was working but nothing happened whatsoever.

    Try typing the entire text for the test command (without copy/paste) straight into your terminal/ssh program and see if that works. Also try a copy/paste without editing. I appreciate it’ll be the wrong frequency but it’s worth a check.

    Also, edit crontab to remove the # and reboot then check on aprs.fi to see if that works.

    73 Keith.

  7. Al KD8JXA says:

    Hi Keith:
    I guess I am getting somewhat ambiguous results… I edited the crontab and rebooted, and don’t see the i-gate station on aprs-fi. I typed the test command as written directly into the ssh terminal and got the same error message. BUT, when i go to http://aprs.fi/gated/KD8JXA, and http://aprs.fi/heard/KD8JXA aprs appears to show my mobile was heard by and gated through the station [unless i misunderstand what it is telling me…].

    Can you tell me/us the list of files that are being called, so I can take a look in each and see what might be the illegal instruction?

    thanks,

    • g6nhu says:

      Hi Al,
      No, what you’re seeing on aprs.fi is not coming through your gateway – When I click on your -9 station it doesn’t show your callsign as part of the path.
      Honestly, I don’t know what’s causing this error.
      Perhaps have a look at my previous entry where I detail all the steps individually and see if there’s anything there that might help. I know that this image has been downloaded many times since I posted it at the weekend and I’ve had a lot of positive feedback so I’m confident that it’s good (I tested it on a Pi Zero and a Pi3). I can’t list all the files being called because I simply don’t know what they all are!

      Is it worth rewriting the image and just starting again in case some finger trouble has slipped in somewhere?

      I’m very interested to know what the solution is when you find it.

      73 Keith.

  8. Al KD8JXA says:

    OK, thanks. I will likely download the image again and try it. FWIW, i did go back over the instructions, and don’t see anything there… I’ll have to try it later tonight or tomorrow…

    Query: does the direwolf.conf file need to be customized? It appeared to still have default values, but personalizing them and rebooting didn’t appear to help.

    talk to you later,

  9. g6nhu says:

    Nope, the default direwolf.conf file isn’t used at all – The command that starts everything up calls the sdr.conf file.

    You shouldn’t need to redownload the image. If you’re able to unzip it without any errors then there’s a decent chance it’s a good download but you can check to make sure using the MD5 checksums I posted. Just write it out to the SD card and try again.

  10. Al KD8JXA says:

    Keith:
    I downloaded and rebuilt the image, and it appears to have come up OK. Like you, I’m not sure what went wrong with the first install… The aprs.fi /heard and /gated queries continue to appear showing only my own mobile, so next I will take a look at the antenna. Thanks again.

    • g6nhu says:

      Hi Al,

      That’s great news. I’m really pleased it’s working for you.
      When I look at your info on aprs.fi, it show’s you’ve heard N8RDF-3 which is evidence that it’s performing as it should. One thing to be aware, aprs.fi will only report stations which you hear direct, before anyone else.
      So for example, if you receive a packet from KB8XXX and gate it to the internet but someone else hears that same packet just a microsecond ahead of you, the web site won’t report it as you having heard it. So it may appear as though you’re not relaying much but it’s just down to who gets it first.

      Very happy it’s working for you now.

      73 Keith.

  11. Richard Schreiber says:

    This app is working perfectly and am now running my own iGate. Thanks for what you have done to ease the process.

    I did have a problem writing the image to an 8GB memory card – first time Win32DiskImager only completed about 2 percent before locking up. Second time locked at 99 percent but the card booted anyway and is running with no issues.

    I checked the MD5 hash on the zipped download and it agreed with the MD5 hash in this article, but after unzipping the folder, the MD5 for the image file was not correct – tried twice and didn’t agree either time.

    Any ideas?

    Richard
    ke7krf

    • g6nhu says:

      Hey Richard,
      Really pleased you found it useful and I’m happy that it worked for you.
      I only have one tool here to calculate an MD5 hash – I’ve just checked the .zip file and I get the same value I’ve posted.
      So I unzipped it using the archive utility that comes with the computer, checked the .img and I get the same hash I posted.
      I then deleted the .img, unzipped the file again using a third party tool and checked the hash again and once more, it matches up with what I’ve posted.

      • Richard Schreiber says:

        As long as the image is working I’ll probably not try to figure out why I’m getting a good MD5 on the folder but an error on the unzipped image file.

        I have another question. Is there a way we display all the received APRS stations the RTL-SDR is hearing?

        I’ve seen some mention of Xastir on the internet and some folks who configured so they could see what has been received on a local map.

        I don’t anticipate a lot of iGating activity but based on using a dongle with SDR# I can receive a lot of packet activity from a couple of distant repeaters, and it would be convenient to display this activity on the RPi since I have dedicated my best RTL-SDR to the iGate setup.

        Thanks for getting back on the MD5 concern

        73
        Richard
        ke7krf

        • g6nhu says:

          Hi Richard,

          I’m sure that can be done somehow using tmux as suggested by Zoltan further up the replies but I don’t know how it would be achieved and it’s not something I’m too concerned about doing myself. My Pi Zero is sitting under the desk and running headless so I really don’t have any way to monitor it anyway.

          If you find out a method, it would be good to know so that other people can see it.

          73 Keith.

          • Richard Schreiber says:

            I finally got around to installing Xastir on the Raspberry Pi iGate and it now maps all stations received. Also have YAAC on a laptop which can display on a map as well, and is great for headless setups.

            For both apps, had to be sure that an AGWPE port was properly configured (listening port 8000 and the ip address of the RPi) to receive the data from Dire Wolf. Once Dire Wolf is running, it reports that it is able to listen for client apps on port 8000 for AGW and also on port 8001 if using KISS.

            Richard
            KE7KRF

  12. terry says:

    ran the test and got
    config file: Unrecognized command ‘euro.aprs2.net’ on line 16

  13. g6nhu says:

    Check the sdr.conf file
    cd ~
    sudo nano sdr.conf

    Scroll down 16 lines (count them as you push the down arrow button)
    It sounds to me as though you’ve simply removed the # at the start of that line.

    Put the hash back in.

    Scroll down to line 20. That should read
    IGSERVER euro.aprs2.net

    Save the file (ctrl-x then hit the Y key then press enter).

    Try again.

    73 Keith.

  14. Terry says:

    yes that was it, now working fine thanks
    73
    Terry

  15. Nick G4IRX says:

    Great article Keith. I notice you’re using one of the 1ppm dongles but for others the frequency offset may need compensation which can be done using “kalibrate”. I found my cheapo dongle was 26 ppm out and even the 1 ppm one was off by -1.5. Once you’ve found the offset then you can add it to the rtl_fm part of the command line, for mine I add “-p 26.234”.

    • g6nhu says:

      Thanks Nick,
      I didn’t mention Kalibrate on purpose because I wanted the process to be as simple as possible which is also why I recommend the specific dongle that I do.

      I do seem to remember reading something about Kalibrate not working correctly on the 820T2 based receivers and that rtl_test -p is a better option. Either way, I’ve not calibrated mine at all!

      73 Keith.

    • g6nhu says:

      Out of interest, I thought I’d try a calibration using both Kalibrate and rtl_test -p

      rtl_test -p settled at -1
      I ran Kalibrate twice, it returned -0.725 and -0.726

      So I’ve added -p 1 to my config line and added a comment to the main post which links here.

  16. Al KD8JXA says:

    Keith:
    It looks like I missed a question earlier. I was running a R-Pi 2 when I had the issues, and while I only reported reloading the image and having it work, I had actually put it onto a R-Pi 3, which is still up and running. On that one, I also noticed the frequency was off, so I did the math and entered the offset frequency. It come back as receiving right on 144.39, which is what I want. To answer another of your questions above, yes, it DOES appear to be receiving. Separate, I just today got another -3, and a spare sdr dongle. My goal is to see if I can run both ADSB and APRS on the single Pi. have you tried this? Anybody else out there?

    • g6nhu says:

      Hi Al,
      I’ve not tried this but it shouldn’t be that difficult. I guess you’re planning on running with two separate RTL-SDR type dongles so it’s just a case of making sure each piece of software talks to the correct dongle.

      Good luck and be sure to keep me updated please.

      73 Keith.

  17. Alan, K2RHK says:

    Just a note of thanks for your Pi iGate image. It appears to be running fine on a Pi3 as K2RHK-10, even with an old, off-frequency dongle as I wait for a new one to arrive.

    The greatest difficulty was figuring out the control/save command which shows that if a Linux clunk such as myself can get it running it’s clearly a well-made image.

    Interestingly, there seem not to be many iGates in Manhattan so hopefully it will be a worthwhile addition to the APRS community. I’ll trim up the long/lat coordinates tomorrow.

    Best 73s.
    Alan, K2RHK

  18. g6nhu says:

    Hi Alan,
    Thanks for getting in touch and I’m very pleased it’s working for you.
    73 Keith.

  19. Len Wasserval says:

    Hi i am a newbee on this subject and looking for a way to get my own igate here in this area i found your article and download file.It looks very promising,however i have trouble getting the zip file unzipped. Even after multiple downloads the unpacking stops at 99% stating that the file is damaged. What do I do wrong.Pse can you help me.
    73 Len PE1GZD

    • g6nhu says:

      Hi Len and thanks for the message.

      I’ve just downloaded the .zip file from Sourceforge and unzipped it successfully using the built in archive tool in Mac OS, using a third party unzip tool on my Mac and using the built in zip handling on both Windows 8.1 and Windows 10 with no problems.

      If you’re using Windows XP then you might struggle as the unzipped file is just over 4Gb and I think XP struggles with that. I’ve not tested using any third party tools in XP but it might be worth downloading and trying something like 7Zip to see if that helps.

      73 Keith.

      • Len Wasserval says:

        Hi Keith,

        Due to housekeeping activities it took some time for me to go on with this project. But now I managed to get the image on the rasp 3 and it looks promising sofar. i am going to follow yours instructions step by step. I am awaiting the dongle one of these days and can go on then. I’ll keep in touch/
        Thans a lot for your efforts on this project.
        73 Len / PE1GZD

        • Len Wasserval says:

          Hi Keith,

          With a little help from my friends at www. ezhe.nl the gateway is running smoothly now. Thanks for this nice project. My friends at the electronicaclub are also enthousiastic and are going to set up gateways with the help of your program. Thanks a lot.
          73 Len

          • g6nhu says:

            Hi Len,

            Thanks for the feedback, that’s really good news and I’m very happy you’ve got your gateway working. I’ve had a look for your callsign on aprs.fi and can see that you’re passing traffic onto the internet.

            73 Keith.

  20. Scott says:

    Thanks a lot for these instructions! I set up my first ever Pi today and got the iGate running. A question about calibrating the RTL-SDR. I’ve read your instructions and my cumulative PPM is 49, not a negative like yours. What is the correct way to configure with a positive number?

    • g6nhu says:

      Hey Scott,

      I’m pleased you managed to get it working.

      As your PPM is a positive figure, you’d add it as a negative number to the line. That part would look like this:

      .....-f 144.80M -p -49 - | Dire.....

      /edit – I’ve been told that this might not work – If you do this and Direwolf fails to start, just set it at “-p 49” instead.

      Hope that helps.

      73 Keith.

      • Scott says:

        Thanks! Both methods didn’t cause the program to fail to start. I am having trouble getting the RTL-SDR to start now. I get a good test initially like in your instructions, but any subsequent tests result in:

        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.
        Use -p command line option to enable KISS pseudo terminal.
        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 AGWPORT in the configuration file.
        0: Realtek, RTL2838UHIDIR

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

        My limited computer brain says something must be using those ports, but I’ve found nothing on my network that would be doing that. I did a reinstall of the imagefile with no fix.

        • g6nhu says:

          So it works OK on the test command but not when you try and run it automatically, is that correct?

          That says to me that the line in your dw-start.sh file isn’t formatted correctly. I’ve had instances where copying and pasting from web pages introduces formatting errors (such as ” characters getting messed up).

          Re-write the image out to the SSD again. Before you do anything take a copy of dwstart.sh (sudo cp dwstart.sh dwstart.old) and then when you edit dw-start.sh, just change the frequency and see what happens when you reboot after removing the # from the cron file. If it works, then just add the -p xx and see if that starts.

          I’m sure it’s going to be something simple.

          • Scott says:

            I think everything is OK now. After I made the correction you suggested earlier about the PPM number, it looks to be receiving and forwarding packets now. Thank you for all of the help. I’ve definitely learned a lot in the process.

          • g6nhu says:

            That’s really good news, Scott. It’s great when people learn from these things. I’ve only been playing with the Raspberry Pi for a few months but I’ve learned so much about them. It’s also great fun!
            73 Keith.

  21. Brian says:

    Ok
    Pardon the stupidity in this question.
    Is the reason for an igate is to pass aprs signals on to the network or is it to have a static station that broadcasts your callsign?
    So if I put a cheap 2m antenna on the sdr will it pass aprs traffic to the net?
    I’ve always been a bit confused as to the usefulness.
    Also have you noticed any overheating of the dongle mine always runs warm

    • g6nhu says:

      Hi Brian,
      I’ll address the last question first – Yes, the dongle gets warm. It’s not massively hot but it’s certainly quite warm, I don’t know if that’s a bad thing or not but it doesn’t seem excessively hot to me.
      As to the gateway, I can’t comment as to how useful it is because I don’t run APRS in my car any more since I changed from the Kenwood TS-710G to an Icom ID-5100. It is gating all traffic it hears via RF to the Internet so anyone who is within my receiver range gets all their traffic forwarded. That’s providing a service to anyone nearby running APRS so surely it’s a good thing.
      73 Keith.

  22. David says:

    For those confused about the tuning frequency, please *do not* attempt to offset the demanded frequency so that rtl_fm reports it ‘correctly’. The RTL-SDR works by mixing the incoming RF with a local oscillator, 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 selects an appropriate offset for the chosen sampling rate and displays the resulting *local oscillator* frequency, not the *tuned* frequency.

    • g6nhu says:

      Hi David. Thank you very much for that explanation. I was sure there must be a good reason for it and as I’d never had any problems with decodes, I didn’t attempt to make any corrections.
      73 Keith.

  23. Maarten PD1MVB-10 says:

    Hi Keith, after some trouble with an old dongle, (I have a new one now) it works perfect.
    Thank you verry much for the article en the time you spend on this project!
    73 Maarten

  24. M1ECC says:

    Hi Keith thanks for sharing got this up & running very quickly using a DX Patrol sdr working well too
    David

  25. Grover K7TP says:

    Well I’m stymied. I followed the instructions faithfully and everything seemed to go well but it refused to connect to a Level 2 server.
    Yes the call is correct and the passcode has been triple-checked, but still I get the failed to connect errors, from every server it tries to connect to.
    Help!

  26. Grover K7TP says:

    BUMP
    Well I’m stymied. I followed the instructions faithfully and everything seemed to go well but it refused to connect to a Level 2 server.
    Yes the call is correct and the passcode has been triple-checked, but still I get the failed to connect errors, from every server it tries to connect to.
    Help!

  27. Arturo Dietler says:

    Morning dear Keith and thank you for nice image!!! until the may 1 2017 i not see
    direct listening station on aprs.fi/info!

    CLI by typing rtl_fm -f 144.80M – | direwolf -c sdr.conf -r 24000 -D 1 – it is error. after I do with sudo rtl_fm -f 144.80M – | direwolf -c sdr.conf -r 24000 -D 1 – and on ssh i see the monitoring listed station.
    Do you have a solution for the aprs.fi/info ??

    Thank you for help
    HB9MIR, Arturo

  28. Arturo says:

    Until this morning, it is all Ok. Thank you.
    Arturo

  29. Jukka says:

    My first try with rasp 3. This seems to work. Thanks for nice instructions and Image!

    73 de Jukka OH4MFA-10

  30. Richard says:

    Keith,

    My RPi iGate has been up since February and have concluded that it provides a useful service in our area since iGates are few and far between. In addition, a wide digipeater about 65 miles distant seems to be frequently received and iGated by my unit (as of June 20 almost 1200 packets for the month). Mobile stations directly received contribute a few dozen packets per month but probably wouldn’t be iGated otherwise due to difficult terrain.

    Your image made everything a lot easier and I am pleased with the performance of Dire Wolf. Found that I can plot stations received by the RPi on UI-View32 connecting to the RPi wirelessly from my laptop.

    As a relative newcomer to APRS any conclusions I have reached are to the best of my current knowledge.

    Richard

  31. chevallereau says:

    Merci pour ce long descriptif, j’ai eu du mal sur les coordonnée gps, je les ai prise sur aprs.fi mais je ne respectai pas assé bien la syntaxe, maintenant ça marche.
    Auriez vous une table pour les logos?

    Merci encore
    73

  32. Tobias says:

    Hi Keith,

    thank you so much for making this setup so easy even for someone like me who has no clue about Linux and programming.
    I set it up like in the manual and also edited the cronetab file to set up auto-start, but it seems to not start automatically after a reboot.
    If I start the test it works perfect and all signals show up at aprs.fi
    Is there an easy way to fix the auto start issue or do I have to start from scratch?
    I had to re-download Direwolf as described due to the error and after that the test worked perfect.

    Thanks for the Info.
    Tobias

    • g6nhu says:

      It’s worth checking to make sure your Pi is set to boot and load into the GUI automatically. That could be causing this.

      • Tobias says:

        Thanks for the reply.
        I didn’t figure it out with my limited knowledge. I will set it up again from the image on another SD card, maybe I did something wrong.
        I noticed that the test crashes after a few hours, so there is probably something I screwed up 😉

        Thank you.
        Tobias

Leave a Reply

Your email address will not be published. Required fields are marked *