Dire Wolf, BBSes and Beyond

After playing with packet on my little handheld radio I decided I wanted to be able to connect to Danny VK7HDM. He runs a BBS out at Gagebrook—the last BBS in Tasmania that’s accessible via radio. (I note that the number of BBSes could certainly go up again. The ongoing costs of a radio BBS are much lower than phone line rental.) We’re about 10 km apart, which is not a long way for 2 metres, but my cheap little handheld wasn’t going to cut it.

So finally I’ve gone out and bought a real 2 metre radio, the Yaesu FT-2900R. It was a good match for me. Single band radios are not too expensive. It is actually designed for packet radio operation, with an unfiltered TX audio connection in the mic plug and a page in the manual explaining how to set it up. It also happens to have a power setting that corresponds to the maximum allowed under my apparatus licence (30W for FM).


After building up my station over the last couple of weeks I’m happy to say I’ve succeeded: I can now connect to the BBS VK7HDM-9 whenever I want. I’ve been logging in most days and skimming the 10-15 messages that arrive per day. Essentially all of them have made it to Danny’s system via Internet links. To me this is kind of cheating but it’s still pretty satisfying accessing all this information over RF myself.


On the computer side I’ve started using Dire Wolf, which is a newer well-maintained soundmodem that I was pointed to. (Thanks Scott!) I’m definitely playing packet radio on hard difficulty here. The soundmodems just add another layer of complexity that you don’t have with serial KISS TNCs. I’ve just about figured it out now so I reckon I’ll stick with it. In theory it should be a more powerful/versatile decoder than a hardware TNC. Someday I might buy one and try to figure out whether there’s much difference between them.

The next step for me is to finish off the interface for my Baofeng handheld. I’ve been having trouble attaching PTT control without getting the radio jammed on transmit constantly. I’m sure I’ll figure that out soon.

Once I have two radios under my control I want to try all the things—AX.25 socket programming in Linux, NET/ROM, ROSE and TCP/IP. I might even need a third radio. What a pity that would be. ;)

Here are some notes about my station and its interface, which may be helpful to somebody searching on Google.

The Yaesu has a 6P6C mic connector of which pins 4, 5 and 6 are used for packet operation. 4 = GND, 5 = TX audio and 6 = PTT. PTT is triggered by pulling PTT to ground, which I did with an NPN transistor set up for full saturation. I didn’t use any filtering or isolation on the two audio channels and this does not seem to have caused any noise problems.


I had two main problems getting this working properly.

The first was that Ethernet is horribly noisy at VHF frequencies. I needed to move all my CAT5 cabling into a separate room to avoid raising the noise floor. I haven’t tried shielded cable yet, though I can only assume it would help. Somewhat ironically I’ll be sticking with Wi-Fi to avoid interference.

The second was getting my transmit audio signal low enough. There is a great article about it by John Ackerman N8UR and ultimately it was his simple procedure that solved my problem: monitor with another radio, and wind down the transmit volume until you notice it got quieter.

This was made trickier for me because the audio level on my CA0106 sound card “bottoms out” at about 14 on the ALSA scale. It was too loud at that level, but it cut out completely if I took it any lower. I found that I could adjust the gain on the radio (menu option “MCGAIN”) from 5 to 1. Once I did that, a volume setting of 25 in alsamixer was perfect.

Dire Wolf had some issues of its own. I was only ever able to connect to it to an AX.25 interface on Debian by using one of the workarounds described in the manual. Fortunately it works every time this way:

sudo kissattach /dev/ptmx radio
# Watch to see what it's listening on, /dev/pts/A
direwolf -p -c ~/dire/direwolf.conf
# Watch to see what pty it's created, /dev/pts/B
# Connect them together
sudo mkiss /dev/pts/B /dev/pts/A

I also had major troubles trying to run direwolf inside GNU screen. I’m not sure where the bottleneck was but my transmissions were backing up terribly to the point that it was unusable. Running it in a normal virtual console works fine.

One remaining mystery for me is that my computer transmits a single packet when I first connect my AX.25 interface to direwolf. It’s addressed from my node VK7NTK-1 to the destination “QST”. I assume it is some sort of broadcast but I’m not yet sure what the content of the message is or what’s responsible for sending it.

I thought that my old Creative Sound Blaster Live would be a good-quality card for soundmodem use. Now I’m not so sure. Dire Wolf reports that the sample rate wanders around from the standard 48 kHz as low as 47.5 kHz. It also reports I/O errors from time to time. My current guess is that these are tiny buffer underruns. Even when they occur during RX and TX I have not noticed any retransmissions being required. Dire Wolf seems to be coping okay so I’m going to keep using it for now.