Configuration of a **Packet Radio ROSE / FPAC / NetRom** switch and an **F6FBB BBS** on a **Linux** distribution for **RaspBerry Pi**
This page was created by **Bernard F6BVP / AI7BG** on August 22, 2020 and updated on November 4, 2025.
The website http://f6bvp.org runs on a RaspBerry Pi 3B.
Command Section
AX25 library, Applications & Tools - Right-click on this link and choose "Save link target as..." to download this script.
Move the file to /usr/local/src/ax25/updAX25.sh
Enter the directory /usr/local/src/ax25 and execute the command: sudo chmod a+x updAX25.sh
Execute this command to run the script: ./updAX25.sh
It will update and recompile the AX.25 libraries, tools, and applications.
FPAC - Right-click on this link and choose "Save link target as..." to download this script.
Open a terminal; cd Downloads
Move the file to /usr/local/src/ax25/updfpac.sh
Enter the directory /usr/local/src/ax25 and execute the command: sudo chmod a+x updfpac.sh
Execute this command to run the script: ./updfpac.sh
It will update and recompile the FPAC applications.
FPAC Release Code - Right-click on this link and choose "Save link target as..." to download this script.
If you are using a Raspberry Pi with a functional Raspi OS, you can install AX25 with the following scripts.
Open a terminal; cd Downloads
Move the file to /usr/local/src/ax25/updfpac-rc.sh
Enter the directory /usr/local/src/ax25 and execute the command: sudo chmod a+x updfpac-rc.sh
Execute this command to run the script: ./updfpac-rc.sh
It will update and compile the **Release Candidate** version of the FPAC applications.
LinFBB BBS - Right-click on this link and choose "Save link target as..." to download this script.
Open a terminal; cd Downloads
Move the file to /usr/local/src/ax25/updfbb.sh
Enter the directory /usr/local/src/ax25 and execute the command: sudo chmod a+x updfbb.sh
Execute this command to run the script: ./updfbb.sh
It will download, compile, install, and start the latest version of the F6FBB BBS!
Follow the script instructions and answer **Yes** each time to create missing files in case of a first-time BBS installation.
CONSULT THE EXAMPLES, BUT USE THEM WITH CAUTION!
Continuation of the AX25 configuration for the BBS and ROSE/FPAC
(see on the website f6bvp.org)
Linux System Information
- The **latest Linux kernel** available as of this documentation is used.
- The upgrade facility included in your Raspbian system will allow you to obtain the latest kernel and package versions.
- Usual amateur radio interface drivers: **`ax25`**, **`rose`**, **`mkiss`**, **`6pack`**, **`bpqether`**, **`netrom`**.
- Several examples of device types are initialized in the default script **`/etc/ax25/ax25-up`**. [List obtained by executing the command **`ifconfig`**].
- Other scripts named **`ax25-up-xxxxxxx`** are available in **`/etc/ax25`**.
- AX.25 port names are declared, as usual, in **`/etc/ax25/axports`**.
List of Applications Starting at Boot
List of active applications on startup:
- **F6FBB BBS** version 7.0.8.
- **AX.25 packet radio switch FPAC** (NetRom and ROSE protocols).
- **aprslist** (APRS beacon and repeater).
- **Dx spots relay DX Cluster**.
- **Web server lighthttpd** (
/var/www/index.lighttpd.html). - **watchdog** (the RPi reboots in case of a Linux kernel failure).
- **beacon** (AX.25 radio beacons).
- **mheardd daemon** (the client is
mheard). - **dxget** (DX spots dissemination on AX.25 ports).
- **ax25ipd** for AX.25 frame encapsulation to IP (and vice-versa).
- **ax25d**: daemon redirecting incoming frames to the appropriate software.
- **xastir**. Graphical APRS application to be launched from the Graphical User Interface.
All communication applications are already configured to use a TNC-Pi connected to the RaspBerry Pi I/O connector.
First Steps of Configuration and Administration
- Execute the command **
ifconfig eth0** and note the **RPi MAC code** (e.g.,HWaddr B8:27:EB:9E:15:06). You will need it later. - Memorize the temporary local address assigned to your RPi by your router. [The local IP address is of the type **
192.168.0.xxx** (link)].
On startup, the script */etc/init.d/ax25* automatically launches */etc/ax25/ax25-up* which initializes interfaces and starts the applications (BBS, FPAC node, etc.).
- The FPAC node will default to initiating a connection to the FPAC network via F6BVP.
- The BBS will also try to exchange routing messages with the default F6BVP-1 BBS.
- The APRS beacon/repeater is active (modify your Latitude/Longitude coordinates in *
/etc/ax25/aprslist.conf*). - The DX Cluster is active. The local client can be started by executing the command **
clu**. - Your RPi Web server is online (default page:
/var/www/index.html). - To **stop** the AX.25 applications, execute **
/etc/ax25/ax25-down** - To **restart** AX.25: **
/etc/init.d/ax25 start** - The Dxget application can disseminate DX spots on an AX.25 port (start with
/etc/ax25/rc.dxget).
For the next configuration steps, you must obtain supervisor privileges.
- If you are not already a supervisor, switch to the
suaccount by executing the command **sudo su** to gain Super User privileges. - It is highly recommended to now execute the command **
raspi-config** and select option *1 "Expand Filesystem"* to expand the root partition. - You will also want to change the user password (option 2), execute the internationalization options (option 3), execute the Advanced Option A2 Hostname, etc.
- Restart the RPi via the command **
reboot**.
Network Access and Port Redirection
- **Configure the redirection of the following ports** on your router to the IP address of your RPi: **
80**, **6300**, **7300**, **8000**, **10092**. The external and internal port numbers **must be the same**. - Ports **
21**, **22**, **23** must also be redirected, but the external ports can have different numbers for security reasons (Example: redirect external port **32222** to internal port **22** of your RPi). - To access your RPi via the local network or remotely via the Internet, you can use the applications **
telnet** or, preferably, **ssh** (more secure). - From a Windows PC, you can use **TeraTerm Pro** Web 3.1.3 (downloadable from http://www.ayera.com/teraterm/). Configure **ssh2** with the user **`pi`** and the password **`raspberry`**.
- From a Linux computer, the applications **
telnet** and **ssh** are directly available. - You can start the RPi without a monitor, keyboard, or mouse (connection only via Ethernet).
Command Shortcuts
Once connected to your RPi, a number of command shortcuts are available:
**monitor -chat** (displays AX.25 traffic on all ports)
**st** (shortcut for netstat --ax25)
**ne** (shortcut for netstat --netrom and --rose)
**bbs** (opens a console BBS client)
**fpac** (script to start an fpacnode client)
**px** (shortcut for ps -ax)
**df -h** (displays used/free disk space)
- **
fbblog**: lists the current week's BBS log. - **
fpaclog**: lists the FPAC startup log file. - **
listen -chat**: displays AX.25 traffic on all ports (Exit:CTRL+C). - **
ALT+F5**: opens terminal 5 displaying the Dx Spider service message. - **
ALT+F6**: opens terminal 6 displaying packet radio traffic on AX.25 ports.
In SU mode, the alias **`ll`** is a shortcut for **`ls -la`**.
All the "batches" above, located in */usr/local/bin*, can be called from any Linux directory.
Note: Unlike Windows, on Linux, you have multiple virtual terminals available simultaneously. Use **ALT+F1**, **ALT+F2**, etc. to open a terminal. **ALT+F7** returns to the graphical interface (if launched with **startx**).
Remote Access (Telnet/SSH)
- From a Windows PC with TeraTerm Pro, use SSH2 with the user **
fpacuser** instead of **pi**, and the password **fpac** for FPAC node access. - From a Linux computer: **
ssh fpacuser@192.168.0.xxx -p 10092** (+ password **fpac**). - From a Linux computer, the command **
telnet <RPi IP address> 6300** gives you access to the BBS. - Local RPi access with SSH: **
ssh <local RPi IP address> -p 22**. - Connection to the Dx spots Spider server: **
telnet <RPi IP address> 7300** (remote) or **telnet localhost 7300** (local). - Web Access: The local or Internet IP address opens the RPi example page.
- To transfer files: **
sftp pi@<your RPi IP>** (password **raspberry**).
Callsign Customization
It is now time to personalize the amateur radio applications with your personal information.
- Open a supervisor session with **
sudo su**. The supervisor password must be changed via **passwd**. - You will need to edit a number of files listed on this page. Fortunately, the callsign change can be done quickly via the command line.
Go to the */etc/ax25* directory with **cd /etc/ax25** and execute the following commands, replacing F6XYZ or f6xyz in this example with your callsign:
grep -rl F6XYZ * | xargs sed -i 's/F6XYZ/YOURCALL/g'
grep -rl f6xyz * | xargs sed -i 's/f6xyz/yourcall/g'
- The last command **must be executed** again after changing the directory: **
cd /usr/local/bin** - The same command **must also be executed** after changing the directory: **
cd /spider/connect**
To personalize other parameters in the * /etc/ax25/*.conf* files, use the simple editor: **nano**. For example: **nano /etc/ax25/fbb.conf**
Another available editor is **`vim.tiny`**.
Updating AX.25 Libraries and Applications
HOW TO UPDATE the AX.25 libraries, applications, tools, and FPAC on your Raspbian system:
- Update Linux itself with the commands **
apt-get update** and **apt-get upgrade**. - To ensure the necessary development tools are installed, execute the command:
apt-get install dh-autoreconf libncurses5-dev gftp host watchdog chkconfig
Then, to update the AX.25 system, you can execute the instructions given on this link.
FPAC Configuration
The command **source fpacdir** is a shortcut to change directory to the fpac source directory.
- In the file **
/etc/ax25/fpac.conf**, do not change the SSIDs -8 and -9. **Change the DNIC parameter** (e.g.,3100for the USA). **Change the Address** =194501to your own 6-digit address. - **Please edit the script** ***
/usr/local/bin/fpac*** **and replace "f6bvp" with your own callsign!** - Verify that the **
Inetport** number is the same as **Socket udp** in **/etc/ax25/ax25ipd.conf** (**10092** by default). - **Send an email to F6BVP** (and your future adjacent Sysops) with your **IP address**, your **L2** and **L3 callsigns**, and your **ROSE address**.
- The file **
/etc/ax25/fpac.nodes** configures the neighboring FPAC nodes.
NetRom Configuration
NetRom protocol configuration for Node, BBS, and DX Cluster:
- Edit **
/etc/ax25/nrports** to define your own alias. - **
/etc/ax25/nrbroadcast** must be edited. - **
ax25d.conf** must include entries for NetRom ports redirecting to the FPAC node and for the Dx cluster Spider client.
BBS Configuration
- Personalize your *Callsign* and *password* in **
/etc/ax25/bbs/passwd.sys** and **/usr/local/bin/bbs**. - **Send an email to F6BVP** with your **BBS callsign-ssid**, your **IP** or **symbolic address**, and the **external telnet port number** redirected to port 6300.
- Shortcut for the FBB source directory: **
source fbbdir**.
DX Cluster (Spider) Configuration
- Log in to your Raspberry Pi using the sysop login.
- Personalize the cluster file **
/spider/local/DXVars.pm**. - After editing, execute the script **
/spider/perl/create_sysop.pl**. - **
rename file startup.txt startup** - Execute **
/spider/src/client <sysop alias>** and enter the commands: **set/spider f6bvp-3** and **connect f6bvp-3**. - Send an email with your Spider callsign to receive DX spots from F6BVP.
- A symbolic link has been created to regularly clean up old cluster data. [The script */etc/cron.weekly/clear_log.sh*] must be executable.
Documentation Links
- Useful links (previous page) for general RaspBerry Pi documentation.
- **Online BBS Documentation**.
- K4GBB wrote a new version of the BBS user documentation for Linux.
- **FPAC HowTo online**.
- **Dx Cluster Installation and User Manuals**.
- A document dedicated to the installation of Spider on Raspberry Pi is available (*Install of DXSpider on Raspberry Pi-v1.0x.pdf* file).
TNC-Pi and Serial Connections
Raspberry Pi Serial Connections
The distributed system is already configured to use a TNC-Pi via the 2x13 (or 2x20) pin connector.
TNC-Pi Terminal Node Controller for AX.25
I used a TNC-Pi kit.
I had to remove the top layer of the Pibow case to insert the TNC-Pi onto the connector.
I chose the serial port. In case of difficulties, read the TNC-Pi instruction manual carefully.
The distributed Raspbian AX.25 is already configured to use the TNC-Pi via the GPIO bus
The Kiss parameters have been defined. The serial connection is on **/dev/ttyAMA0**. The ttyAMA0 device has been attached to the ax25 port.