Packet Radio: COVID-19 Web Portal and Introducing Other Non-standard Packet-based Services

This is a demonstration of several cool features I have added to a regular packet radio switch, one of which enables access to crucial information that would otherwise have be unobtainable for a vulnerable and isolated radio amateur without Internet (they exist!)

Packet Web Portal: COVID-19

The idea was initially sparked by Sholto, K7TMG who had expressed the desire to fiddle with websites over packet during a casual discussion in the round table packet chat.

At first, I wasn’t too keen on the idea namely because of restrictions on the type of information permitted over amateur radio links, however after some thought it occured to me that it would be possible to implement a portal with some precautionary measures in place, but the idea was then shelved for a few weeks.

While it may have been fun to play with, on its own merit- it was likely to be a total waste of time!

A couple of weeks passed and a series of packet mails arrived from a elderly fellow OM who was in total lockdown due to heightened measures surrounding COVID-19 in the UK. He had no Internet and his only contact with outside was via a volunteer who came by his home once a week to bring groceries.

This bothered me perhaps more than it should, but in these mail exchanges over packet radio he was asking me to look things up on the Internet for him. Uh… eureka much?

My reaction


LinBPQ – (BPQ32) by John Wiseman, G8BPQ

BPQ switch is the system that connects all of the bits and pieces together: Radio, Computer, Internet, Services and applications.

For simplicity, a simple telnet terminal is sufficient
to interface with BPQ32, and BPQ32 also provides a web-browser based terminal.

Hey, I designed this icon!

UZ7HO’s modem has been ported to multi-platform by G8BPQ. The sound-modem is used for interfacing radio with the BPQ switch, in turn providing access to users via RF. Released currently under alpha and beta test as QtSoundModem Software-Terminal Node Controller.

QtSoundModem (Alpha Test)

A terminal program. The DOS program Paket 6.2 running in DOSBOX is for demonstrative purposes only, it is not necessary to run this when more modern alternatives exist…

However for this test case, Paket 6.2 is actually the terminal used by the fellow ham mentioned in the introduction. It has been used in this scenario to optimise the appearance of the web portal for the end user.

Paket 6.2 for DOS

I mentioned earlier the restrictions on certain types of data over amateur radio links, this is where OpenDNS FamilyShield came into play, and a HTTP proxy server that serves as the filter for requests going to the internet. This is accomplished by setting the proxy to use OpenDNS’s DNS-servers, therefore inheriting their DNS-based safety features.

Another risk reduction measure is the Express Menu- this makes getting information directly pertaining to COVID-19 easier and a simple matter of entering two or three digits. One of the choices available enables one to enter any web address if desired, and those requests are logged, and if necessary- filtered (denied).

Screenshot of the WEB Portal via QtTermTCP Client

Source Code

All of the tools demonstrated in the video such as Packet Web Portal, Games, Graphs – are all available from my GitHub:

Do you have a Raspberry Pi* and fancy having a go?

A ready-to-go build of (pi)LinBPQ combined with QtSoundModem and QtTermTCP is available via GitHub, and an introduction posted right here.

* The minimum-fuss specification for running all of the software is a Raspberry Pi 4.

Unfortunately, the RPi3 has some issues with the ALSA libraries and PTT timing on GPIO and serial ports, meaning any PTT-timing sensitive application may not work as intended out of the box.

This bug affects not only QtSoundModem but Direwolf TNC as well.

The OSS-ALSA sound bridge workaround for RPi3 is included in the GitHub repository. However, if you are looking to purchase a Pi specifically for this purpose, definitely go for the RPi4.

Words of Encouragement

You may find this additional info useful, in response to a comment posted on the original unedited video:

“Is this TCPIP over AX25?”

No, technically the big difference is that we are using AX25 encapsulated over IP rather than the other way around to link nodes together over the internet where RF either isn’t available or practical.

The software TNC with the waterfall visible in the background is linked into the switch over KISS-over-TCP. This means we can run dedicated little boxes like Raspberry Pi4s and radios bunched together in one place with the switch physically located else where.

QtSoundModem is then linked into the switch (the node) running on a separate Raspberry Pi elsewhere in the house.

Setting this up is not easy, as there is no one-size-fits all. It can be just as complex as setting up a enterprise-level Cisco router- where there may be technical manuals out there but basically your network design is unique to you and mine is to me, depending on your needs.

This means there is very help on offer that would not have some huge bias towards a certain intended purpose.

The documentation for linbpq is thorough, but requires full assimilation before even picking up and starting to write a config file as boy is it modular as heck!

This also applies to other network stacks like JNOS, the manual for that is thick, so it is not a problem with the software itself- but mostly a mild case of PEBCAK.

Not to be too discouraged, I have put together a bundle to get some basic functionality up and running but it will still require some due diligence and has a dependency on basic Linux operational competence (LinBPQ RTG).

Hopefully the included with linbpq_rtg is sufficient to get most started. You can leave a comment if you have questions below 👇 or better- join the BPQ32 Support Group.