APRS IGate

Following on my previous article on my quick and dirty APRS tracker I was brimming with confidence and decided to tackle the task of setting up an APRS IGate.

All I needed was a spare 2m receiver and a convenient computing engine, i.e., a PC of sorts. I engineered a simple solution to interface the radio to a Raspberry PI with a USB sound card. Before putting it all together I came to the sudden realisation that I have an old USB DVB-T dongle lying around. Interesting thing is that I bought it years ago to listen to ham frequencies and then boxed it after a very fun filled afternoon. I only just realised that we’ve never had DVB-T transmissions in South Africa. Why were these being sold locally?

Back on point, I decided to implement the RTL USB dongle with a Raspberry PI as my IGate. Tragedy struck, or more accurately, I realised I left my PI at the office. Fortunately, my old server still booted up, albeit a bit slowly.

Construction

The physical layout is immensely simple. RTL USB dongle, in this case, VideoMate U620F, plugged into the USB port of my trusty server (old hand me down headless AMD machine). That’s kinda it for the physical construction. I’m still using the original wire antenna supplied with the USB dongle while testing.

Software

These days it seems there is almost no need for any difficult hardware implementations. All of it happens in software.

In this case, I needed to install the RTL Software Defined Radio packages on Ubuntu. This would take care the demodulation and present an audio stream derived from the narrow band FM signal on 144.800 MHz (the APRS frequency in use in South-Africa).

The next package would take care of relaying received APRS messages. Conveniently there is a package called direwolf that not only decodes AX.25 APRS messages but also acts as the IGate.

root@Media:~# apt-get install direwolf rtl-sdr

The config needed to make this work is stored in /etc/direwolf.conf.

LOGDIR /var/log/direwolf

ADEVICE null null

CHANNEL 0

MYCALL YOURCALL-11

MODEM 1200

IGSERVER euro.aprs2.net

IGLOGIN YOURCALL-11 YOUR_PASSCODE

PBEACON sendto=IG delay=0:30 every=15:00 symbol=”igate” overlay=R lat=-25.84091699999999 long=28.159347000000025 COMMENT=”144.800 MHz Rx Only | DireWolf 1.3 on PC+SDR”

The above is all I added to make it work. The important bits are your call sign, passcode (http://apps.magicbug.co.uk/passcode/index.php)  and location and comment.

In order to get the RTL dongle and direwolf to communication I added a small script to init.

#!/bin/bash
rtl_fm -f 144796.5e3 -s 24000 -l 0 – 2>/var/log/direwolf/rtl_fm.log | direwolf -c /etc/direwolf.conf -t 0 -n 1 -r 24000 -b 16 – 2> /var/log/direwolf/error.log 1>/var/log/direwolf/output.log &

This starts up the RTL dongle on the correct frequency and feeds the audio output to direwolf. Notice that my frequency is specified as 144.7965 MHz. It turns out most of these RTL dongles have ever so slightly different clock frequencies and it is necessary to compensate for this error. I chose the easy way and just modified the frequency. There is an option to feed rtl_fm a correction factor, but I was in too much of a hurry to figure out how it works.

ZS6IO-9 audio level = 56(11/13) [SINGLE] __:::____
[0.3] ZS6IO-9>APDR13,WIDE1-1:=2550.46S/02809.55E>022/001/A=004783 http://aprsdroid.org/ Paul Greeff – Nissan Hardbody
Position, normal car (side view), APrsDRoid replaces old APAND1.
S 25 50.4600, E 028 09.5500, 1 MPH, course 22, alt 4783 ft
http://aprsdroid.org/ Paul Greeff – Nissan Hardbody

 

[ig] ZS6IO-11>APDW12:!2550.46SR02809.56E&144.800 MHz Rx Only | DireWolf 1.3 on PC+SDR

The above is the output of the direwolf log file showing first a position report from my Nissan Hardbody, and secondly, its regular update with it’s own position and description to the APRS network.

 

And there you have it, my QTH on APRS.fi.

APRS

I haven’t posted in quite some time, but not as long as this site will lead you to believe. Although it indicates the last post is some time in 2014, Digital Ocean managed to break my container and lose almost a year of my posts. And since that time, I have been somewhat lazy in posting. Yet, with the birth of my daughter, and the stark realisation that I have not engaged in any large or small projects of late I decided to do something about it.

For years I have wanted to get involved in APRS again, however, my little APRS Opentracker kit has failed me, and I’m either to tired or lazy to figure it out, or the flash has died and hence, reprogramming it does not happen.

I tried many a minute in vain to resuscitate it and then discovered to my astonishment that I have had all the tools I needed to TX my position and more via 2m APRS.

APRSDroid

I’ve been using APRSDroid (https://aprsdroid.org/) for years to track my position on my Android cellphone. Although it is brutal when it comes to battery consumption it works exceptionally well. The small application activates the GPS, determines your location and uploads it and presto, your callsign and location appears on http://aprs.fi.

 

Little did I know this application has a number of other capabilities programmed into its settings. The feature in question is the ability to generate APRS at 1200 baud through the phone speaker. This meant I could connect any handy hand held radio with VOX to the phone and send position information.

Construction

The construction is remarkably simple. Wouxun UV-8D, a handy Android phone, a cheap ZTE phone my wife had lying around, and a 3.5 mm audio jack to connect the audio out from the phone to the radio set to VOX on 144.800 MHz.

The image above is my first test drive around town to see what kind of coverage I can expect. Even though there weren’t many IGates in the area, I still had very good reception from a number of IGates and Digipeaters.

 

Winlink sysop software installation – RMS Trimode and Relay

Next up in my Winlink exploration is to get the sysop software running under linux.

I downloaded the latest and greatest, RMS Trimode 1.2.4.0 Full install.zip, unzipped and tried to install with, wine setup.exe. The first thing it tried to do was install .NET 4.0. Rather than let it screw up my carefully installed Wine configuration I opted to use winetricks again.

$ ./winetricks dotnet40

Success! .NET 4.0 installed without issues (excepting the usual warnings about .NET 4.0 not fully working yet – pffft)

RMS Trimode

$ wine RMS\ Link\ Test.exe

So far so good, although, this is what was working in my chooked install previously.

I have no idea what to do with RMS Trimode, however, it installs and runs beautifully.

RMS Relay

$ unzip ../RMS_Relay_full_installation_2-2-10-0.zip
Archive:  ../RMS_Relay_full_installation_2-2-10-0.zip
inflating: RMS Relay Setup.msi

$ msiexec -i RMS\ Relay\ Setup.msi

That’s the easy part :-)

$ wine RMS\ Relay.exe

But alas, I am not a sysop so I cannot go any further. However, this installation seems the most complete, and stable. I suspect if I get my HF station up and running with sysop credentials access it should work without any issues.

Dotnet and wine weirdness

It turns out I might’ve gone the long and hard route to install .NET. Since upgrading to wine 1.6 and using the latest winetricks

$ wget http://winetricks.org/winetricks
$ chmod +x winetricks

and using a clean WINEARCH=win32 prefix the install went a lot smoother.

Issuing

$ export WINEARCH=win32

$ ./winetricks dotnet35sp1

initiates the install for .NET 2.0, 2.0sp2, 3.0 and 3.5sp1.

Unfortunately I have to go to this trouble as .NET 3.5 is a requirement for the installation of RMS Trimode and possibly Relay which is the sysop software for Winlink 2000 RMS servers. As I want to set up my station as an RMS mail relay this is very important. I want to evaluate the need and effective coverage of such a station with Winmor in South-Africa before even considering the huge expense of a Pactor 1-4 capable modem.

Having completed the above install of .NET I could install and run RMS Express without any trouble.

$ msiexec -i RMS\ Express\ Setup.msi

$ wine RMS\ Express.exe

Done and dusted. Now to get Trimode and Relay to work.

Browser sans X

links2 works wonders. I’ve tried w3m, links, lynx and elinks but links2 just works the best.

Ideally, frames, tables, javascript and images should be supported. links2 does all that, in a manner of speaking.

Problems

In our company mail and documents are stored in google drive. None of the browsers tested could log on and work on google drive. There are some that suggest downloading / syncing files to the local directory and then working on them, but there are problems with that, notably a suitable word processor and spreadsheet.

Other than that, it is an excellent browser good for daily use, my pick.

Life without the GUI

Some weeks ago I really wanted to try something new, different. I’ve always been a fan of text consoles, perhaps stemming from my younger days starting out with computers. In a moment of nostalgia most likely I decided to abandon the GUI. More specifically, no X. Just curses, frame buffer, text only even.

Googling for other similar minded individuals I was surprised to find only one other successful. I was very fortunate to come upon one additional individual that managed to attempt this, as it turns out mammoth, feat and failed.

I did manage to go a weekend without X. In many ways it was a huge success. But for day to day tasks at the office it may be a bit of a problem.

First the requirements for a successful transition

  • Chat clients
  • Media
  • Browser
  • Word processor
  • Spreadsheet
  • File managers
  • Mail
  • Calendar

In the posts to follow I’ll share my findings.