Packet Radio Part 3 – Raspberry Pi 4, DireWolf, XASTIR

Ok now the rubber hits the road. Now we’re going to try to get the station assembled using a Raspberry Pi 4 with KM4ACK’s Build-A-Pi which already has DireWolf. To that we’ll try to attach a Baofeng using the APRS cable and a USB audio card.

I purchased the requisite Sabrent USB sound card on Amazon for $9 which was delivered the next day!

Sabrent USB Sound Card

Then on my Raspberry Pi 4 with KM4ACK’s Build-A-Pi I, fired up DireWolf using the icon in the Ham Radio menu to see what it would do (it crashed).

Then I opened up a terminal and ran “arecord -l”. It showed no audio capture devices. I was kind of surprised because I thought the Raspberry Pi 4 would have one built in. Alas, no. So I plugged in the Sabrent USB Sound Card and re-ran the command. A “USB Audio Device” showed up so the Sabrent was being seen!

Then I grabbed my Baofeng that successfully captured and decoded APRS packets into APRS Droid I mentioned in the previous article. And then I stared at the end of the cable and realized that I’d need to split the input and output into 2 separate 3.5mm plugs for the Sabrent. I looked through my box of wires and came up with nothing.

APRS Cable vs. Sabrent Sound Card

My Icom 7100 has a built in sound card so I unplugged the Sabrent from my RPi 4 and plugged in the 7100’s USB cable, ran “arecord -l” and voila! “USB Audio CODEC” showed up in the list of audio capture devices! So I went with that.

alsa -l showing sabrent first and then icom 7100 later

Experiment 1: Decode APRS Packets with Rpi4, DireWolf, Icom 7100

I opened up the direwolf.conf and noticed that it was already setup (probably from KM4ACK’s install script). Basically my input “card 2” and my call sign was already configured in the conf file. So I tuned to 14.39 FM, turned off the squelch and listened for packets. Yup.  There was plenty of activity. I then found the DireWolf icon in the menu and started it. This time it didn’t crash (probably because there was a sound card available).

Then, as the sweet sounds of APRS came over the ICOMs speaker, DireWolf got to decoding! I saw KF0ASK was sending packets so I looked them up on APRS.FI and saw that he was not even 10 miles from my QTH. I also saw a few others nearby – one using a Byonics TinyTrak 3, something that was using the ambulance icon maybe, and a truck that was using a Kenwood TH-D7A.

DireWolf decoding APRS packets

So I’ll call that experiment a success!

Experiment 2: iGate packets from my Icom 7100 -> DireWolf -> iGate

In case you don’t know, you can listen for APRS packets on the radio, then decode it and then send it via the internet to an APRS gateway that aggregates information from other radios and computers doing the same. This makes your station into what’s called an iGate.

Editing the direwolf.conf file again to setup DireWolf  to act as an iGate, all I have to do it seems is to put in my credentials into the “IGLOGIN” line. I selected “AE0RS-10” to indicated this is a fixed station, and then browsed to https://apps.magicbug.co.uk/passcode/index.php/ to generate my password, adding it to the IGLOGIN line in the conf file.

Then in the DireWolf terminal I hit control-c to stop DireWolf and then clicked on the icon in the menu to start DireWolf again. I was greeted in the terminal with more information indicating that I was connected to the IGate server!

DireWolf connected to iGate

The message also told me an IP address to check the server status which I did and I was noticing that my call sign was showing up as having sent some packets, etc.  Clicking on some of the linked text, I’m seeing that I’m sending duplicate information – probably someone else is beating me to the punch, IGating the information to the APRS servers faster than me. I did get at least 1 “credit” for IGating Whatevs, this works and is fun!

APRS Server Activity

Ok that was a success! Not too difficult – especially since I don’t have to futz with analog sound ports and volume controls – my ICOM radio is helping make this simple.

Experiment 3: Show local APRS on Xastir

XASTIR is an application that, amongst other things has a map that will show you the APRS packets your radio received. It can do this pretty much without the internet (although I think you’re limited in the map tiles it can show since you need to be connected to the internet to download them on the fly).

I wanted to do this experiment because we may not always be connected to the internet yet we may want to see what other APRS packets are flying by. For example, if I’m driving my car or riding my motorcycle and have this Raspberry Pi + mobile radio on me listening to APRS signals (for something – I’m not quite sure why yet – maybe to see if someone or something like maybe a repeater is in range and is transmitting there voice frequency?).

I had some trouble configuring with Xastir (silly, because it has a GUI) so I watched KM4ACK’s video and picked-up some things. I also noticed that there wasn’t a symlink to a port created by DireWolf like in KM4ACK’s video. Turns out you have to start DireWolf with the  “-p” option and this gets done when he starts his via crontab, which I didn’t (yet). So I found another way via an article located at https://technocoma.blogspot.com/p/hapter-1-intro-to-packet-radio-in.html that shows how.

Basically, when you start DireWolf it will by default open ports 8000 and 8001 for comms so in Xastir you go into Interface -> Interface Control -> Add -> Networked AGWPE and connect to port 8000.

Then DireWolf will notify you that somethings attached to its port 8000 and after a few minutes, you’ll see local APRS signals that your radio received, on a map!

Xastir showing local APRS packets decoded via DireWolf

That’s cool – except for the map (I wonder if 1 is built in), you can use 100% radio + raspberry Pi to see what APRS packets are flying by.

I did try to see if DireWolf would beacon my location via the internet (when I was connected to an iGate). It shows in the log but I couldn’t find myself on aprs.fi so maybe it was trying to PTT my ICOM. Not worried about it now since the internet isn’t ham radio 😉

DireWolf failed beacon?

I do like XASTIR for the GUI-ness and ability to click the map and do things with an Object. Definitely cool to leave up and running on my desktop.

One thing that is confusing is that there is an overlap of features between DireWolf and XASTIR, namely the ability to digipeat (repeat RF packets so maybe a more distant iGate can send it into the internets) and IGate. I choose to let DireWolf do that since that will probably save on battery not having to run a GUI in XASTIR to do the same.

But..I don’t know enough yet to really have an opinion so… And then KM4ACK also talks about YAAC. Which stands for Yet Another APRS Client and probably has overlaps with these softwares, too.

Here’s another XASTIR screenshot of a large portion of the FrontRange. All of the data came in through my attic antenna – DireWolf and XASTIR internet connectivity was turned off!

Xastir Front Range via RF/APRS only

I think that’s it for this article. I’m glad everything was successful!

So far we’ve received APRS signals and sent them via the Internet to the APRS servers. In an upcoming article, we’ll aim to transmit from the Baofeng attached to my Pi/DireWolf TNC. That should round out making sure everything works with APRS before we make the leap to BBSes and such.

73,

ae0rs

Leave a Reply

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

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