Raspberry Pi Packet Radio BBS

I have successfully configured a Raspberry Pi packet radio BBS! I’ve been working this project off and on for over a year and seen steady progress. I even gave a few presentations last year to local ham clubs demonstrating AX.25 on the Raspberry Pi.


My forays into AX.25 on the Raspberry Pi began with F6BVP’s web site. Specifically, Bernard’s HOWTO on configuring an FBB BBS on the Raspberry Pi. I had no problem following the instructions and quickly got my BBS up and running. I did, however, have two issues. First, my success criterion for configuring a Raspberry Pi BBS was forwarding a message from one BBS to another. But, after setting up two BBS instances, I could not coax any forwarding between the two instances. Second, and this is perhaps the bigger issue, I didn’t really understand the AX.25, NETROM, ROSE, and FBB configurations.

Linux Amateur Radio AX.25 HOWTO

In an effort to completely understand AX.25 configuration on the Raspberry Pi, I started from a bare installation of Raspbian and built up the complete BBS stack piece by piece. I started with the core AX.25 protocol and ensured I could communicate between two Raspberry Pis. I layered on NETROM, then ROSE, ensuring I understood each configuration parameter and could communicate between two different installations. Then, I added on FBB. At this point I was still missing something. I understoodd all the technologies that underlied FBB, but I didn’t quite understand the configuration of FBB itself.


Then, I came across the Ax25 FPAC NetRom FBB Installation Guide. I don’t remember if I saw this at the 2015 AMSAT Symposium or at the 2015 ARRL and TAPR Digital Communications Conference, but I do remember thinking to myself this might be the final piece of the puzzle. I followed both the “Educational” installation path using my own call sign and the “Quick” installation path using another call sign. While there are slight differences in the results of the two installation paths, both of the installations seemed to work quite well.

Raspberry Pi packet radio BBS

But, I still hadn’t forwarded a message from one BBS to another. There were a few remaining steps and all my previous work understanding the software configuration came in handy. I knew I needed to do just three more things:

  1. Configure each BBS’s call sign as a BBS user on the “peer” BBS, setting the “B” flag for that user to indicate it is a BBS.
  2. Configure the bbs.sys file with the “peer” BBS. Here is a fragment:
    # BBS forward partner list
    # Fichier d'affectation de BBS
    # Do not remove any line
    # Ne pas supprimer de ligne !
    01 KF5IDY
  3. PROPERLY configure the /etc/ax25/fbb/forward.sys contents to identify the “peer” BBS. This turned out to be the secret sauce for me. I just needed to see a reference working configuration and could then devise my own. Here is the relevant portion. In particular, note the use of the alias “IDYBBS” in the C (for connect) line. And notice, the fully defined location path in the H line.
    *                          *
    A KF5IDY
       P D
       C C IDYBBS
       B KF5IDY
       F KF5IDY

Your Turn

My journey took longer than I expected and it took longer than it should. However, it turns out that configuring  a Raspberry Pi packet radio BBS is really quite easy. At least it seems easy when you look back on what finally works.