ID #1022

How to use Raspberry Pi as an RMSGW?

RMS Gate on a Raspberry Pi.

Updated 14 Sept 2012

Charles S. Schuman, K4GBB


The Raspberry Pi was developed as an educational tool to provide a platform for students to learn Linux programing. It's Size and price make this credit card sized computer a great choice for Packet Radio Remote Sites and other HAM Radio applications. However,it takes a bit of Hacking to make it work. The SoC, System on Chip, uses an ARM11 architecture. Unlike full-sized Distros that run on X86 systems the code for this system is not as robust. The Good News is that there are a great number of people “playing” with this device and having great success with it.

Initially I started writing this page from notes that I have collected from the various resources. It was too much like re-inventing the wheel. So, I set the notes aside and collected links. The various resources do a super job for both the Advanced and the Beginner. The page contains notes and comments specific to the Ax.25 service and the Linux RMS Gate software. The basic Raspberry Pi stuff will be referenced and linked.

This page is the mainly for setting up the RPi stuff and is CLI, Command Line Interface, orientated.


Rasberry Quick Start - a good place to start.
Raspberry Pi Index page
Raspberry Pi Hub
Amateur Radio RPi Users Forum
My How to - details on ax.25 and RMS configuration.


For the Hardware setup You will need :

  1. Power supply – 700mA at 5VDC.
    Proper and Stable operation is dependent on adequate power.
  2. SD card - with an preloaded Raspbian “wheezy” operating system so that you can boot the RPi.
  3. Display - monitor with DVI or HDMI input and a HDMI/ or composite video cable.
    A TV with HDMI or Composite video inputs may also be used.
  4. Keyboard and Mouse – USB interface.
  5. Ethernet patch cable.
  6. Internet access.
  7. TNC with USB interface or USB adapter.

Operating System

The first time you power up a New Raspbian “wheezy” SD card should have a Keyboard connected.
This is so that you can interact with the Configuration Menu.

The Configuration Menu will allow you to :

  • Display info on the Config Tool
  • Extend the root file system
  • Display Overscan
  • Config Keyboard layout
  • Change the password
  • Set locale (Language)
  • Set Time zone
  • Set the memory split between system and video ram
  • Enable SSH
  • Update the Raspi-config Script

You may re-run the config menu at any time by issuing the command sudo raspi-config.

NOTE: It is important to shutdown the system with the halt or shutdown command BEFORE removing the power.
Powering down the RPi with the OS running can cause problems if the system was in the process of writing to the SD card.

Once you have the system configured and running you may want to :

  • Update the OS with apt-get.

    sudo apt-get update
    sudo apt-get dist-upgrade

  • Set the IP address to Static.
  • Change the RPi's host name.
    Edit the /etc/hosts and /etc/hostname files with the nano or vi editor.
  • Change the root password.

    sudo su

At this point you can remove the Keyboard, Monitor and Mouse and access the Rpi host via SSH.

Install Ax.25

Log on to a terminal and switch to the root User.

sudo su

Note: If you are using the Raspbian Weezy image dated 7/15/2012 you will need to update the kernel to include the ax25 modules. You can download the .Deb package compiled by Bernard, F6BVP and install it with the commands:

dpkg -i ax25/linux-image-

If You have the Raspbian Wheezy image dated 8/16/2012 the Ax.25 modules are already included in the image. The next step is to install and configure the ax.25 service.

The Ax.25 Support for the ARM SoC has not yet been packaged so we will have to compile it from source code. The Build Support is the GC Compiler and the Compiler Support libraries. This has to be installed in order to compile the Ax.25 Support.

I have combined the scripts that install the Build Support, the Run Time Libraries and the Ax.25 apps and tools. The Install Script will install the everything needed. Download and execute the ax25 Install script.


Configure the Ax.25 Service

Once the ax.25 Service is installed you will need to configure it with your call. For those who have not been down this road... check out My How-to section.


Create or Edit /etc/ax25/axports..
It should look something like this.

# /etc/ax25/axports
# Port Callsign Baud PacLen MaxFram Description
0 N4TPO-1 19200 256 5 Radio - 145.030 MHz
# End /etc/ax25/axports


Create or Edit /etc/ax25/ax25d.conf..
It should look something like this.

# /etc/ax25/ax25d.conf
[n4tpo-10 via 0 ]
NOCALL * * * * * * L
default * * * * * * - rmsgw /usr/local/bin/rmsgw rmsgw -P 0 %U
# End /etc/ax25/ax25d.conf


I like theTNC-X with the USB option, but the FTDI driver (ftdi_sio) does not seem to work correctly on the ARMHF OS.
Download the AN_220_FTDI_Drivers_Installation_Guide_for_Linux from the FTDI website and follow the instructions in the PDF.

Simplifed instructions

  1. Change directories to /usr/local/src/
  2. cd /usr/local/src/

  3. Download the driver tarball
  4. wget

  5. Unpack the archive,
    creating the following directory structure:
  6. build

    tar xfvz libftd2xx1.1.12.tar.gz

  7. Change to the arm926 directory
  8. cd build/arm926

  9. If you're already root, then not necessary.
  10. sudo su

  11. Copy the libraries to /usr/local/lib.
  12. cp lib* /usr/local/lib

  13. Change permissions.
  14. chmod 0755 /usr/local/lib/

  15. Create a symbolic link to the 1.1.12 version of the shared object.
  16. ln -sf /usr/local/lib/ /usr/local/lib/

Test your TNC

Execute the calibrate utility. You Will have to download the binary file.

wget -P /usr/local/sbin/
chmod 2755 /usr/local/sbin/calibrate

Don't try to use the one from a X86 system.
The console should display the message to "press Enter to stop" and the PTT LED on the TNC should lite.

Install RMS Gate software

The RMS Gate will also have to be compiled.
Download and execute the Install RMS script.

sudo su
bash RMS-Install4-138

Starting AX.25 Service

The Radio/TNC port has to be initialized. This is done with two basic commands

/usr/local/sbin/kissattach /dev/ttyUSB0 0
/usr/local/sbin/kissparms 0 -r 255 -s 10 -t 200

Once these two commands have executed without an error and the RMS Gate configured you will have an operational RMS Gate. You will want to test the setup and troubleshot any problems. Jump to How to Install RMS Gate to fill in any gaps

Tags: -

Related entries:

Last update: 2012-09-15 06:18
Author: Marcus
Revision: 1.3

Digg it! Share on Facebook Print this record Send FAQ to a friend Show this as PDF file
Propose a translation for Propose a translation for
Please rate this FAQ:

Average rating: 3 (2 Votes)

completely useless 1 2 3 4 5 most valuable

You cannot comment on this entry