INTRODUCTION : the goal of this project is to
provide a Raspberry Pi Linux system with a few
AX.25 packet radio applications already
installed in order to save Sysops a lot of time
searching for, installing and configuring the
packages. There are absolutely no special patch
of the Rasbian distro nor any application
changes. All the software included are
unmodified. However, having them pre installed
make things easier.
- A new updated SD card image is in
preparation and should be available by April
- It will include an image of Raspberry Pi linux
system with pre installed AX.25 saved on a 2.2
GB compressed archive to be downloaded and
copied on a 8GB SD card.
- The whole included development tools, source
and binary applications software files take less
than 40% of an 8GB SD card (20% if 16 GB card is
- You may also send an 8 or 16 GB, SD or micro
SD card, to F6BVP. It will be returned to you
for free with configured RPi Linux AX.25
- Included Linux system comprises:
- Raspberry pi Raspbian Linux raspberrypi 3.6.11+
#446 PREEMPT Fri May 10 20:17:25 BST 2013 armv6l
inux. However, upgrading facility included in
your Raspbian system will allow you to always get
latest kernel and packages versions.
- Usual hamradio interface modules drivers : ax25,
rose, mkiss, 6pack, bpqether, netrom
- Several examples of device types are initialized
in default script /etc/ax25/ax25-up. List obtained
with "ifconfig" command.
- Other scripts named ax25-up-xxxxxxx are available
- AX.25 ports names are declared as usual in
- List of working applications when booting:
- F6FBB BBS version 7.05e. (There is a new version
5.05f available. You can download,
make it executable, and execute the following
script to install new FBB version).
- AX.25 packet radio switch FPAC node (NetRom and
- aprslist (APRS beacon and repeater)
- Dx spots relay DX Cluster
- Web server lighthttpd (/var/www/index.html)
- watchdog (RPi reboots in case of Linux kernel
- beacon (AX.25 radio beacons)
- mheardd daemon (client is mheard)
- dxget (DX spots broadcast on AX.25 ports)
- ax25ipd for AX.25 frames encapsulation into
UDP/TCP Internet protocols frames or reversely
enapsulated IP frames stripped into AX.25 frames.
- ax25d : daemon redirecting incoming frames from
peripheral devices to appropriate application
software depending on protocols and ports.
- At boot up /etc/init.d/ax25 is
starting automatically /etc/ax25/ax25-up
batch initializing device interfaces and starting
BBS, FPAC node etc... applications.
- FPAC node will initiate by default a connection
with FPAC network through a first neighbour node as
soon as you communicate your Internet IP or symbolic
address to F6BVP.
- The BBS will also try to exchange message
forwarding with F6BVP-1 BBS by default.
- APRS beacon repeater is active (modify your
Latitude/Longitude coordinates in /etc/ax25/aprslist.conf)
- DX Cluster is active (your call must be customized
too. See below)
- Your Rpi web server is on line (default web page
- To stop AX.25 applications, run /etc/ax25/ax25-down
- To start AX.25 /etc/init.d/ax25 start
- Dxget application can broadcasts DX spots on an
AX.25 port (start with /etc/ax25/rc.dxget or
uncomment line in /etc/ax25/ax25-up)
- To copy SD card image under Windows :
- Connect SD card via adapter on USB connector
- Uncompress Rpi_F6BVP_8Go_img.tar.bz2
with an archive management utility like 7-ZIP
01net.com. (you may refuse to install
- Copy image file Rpi_F6BVP_8Go_img onto
an 8 or 16 Go SD or micro SD card using application
- For copying SD disk image under Linux
retrieve SD disk device name using fdisk
-l for example /dev/sdd (-l like in list)
- For image file extraction use command tar
- Copy image file on an 8 or 16 Go card using command "dd
if=Rpi_F6BVP_8Go_img of=/dev/sdx" (x to be
replaced by the last letter of your SD device)
- First start :
- Connect a keyboard, a video screen or a TV set
through an HDMI cable, plus a connection to your
Local Area Network via an Ethernet cable.
- Power up RPi with a smartphone micro USB
power supply (5V and 700 mA or better 1000 mA).
- At Linux prompt log in with user "root" and
- Using nano editor it is necessary to make
changes in file /etc/default/keyboard for
selecting your keyboard country model. Distributed
model configuration is french AZERTY, whereas US
keyboard is QWERTY. For example letters A and Q are
reversed and so are letters W and Z. Thus with your
US keyboard you will need to type on different keys
("/" is located in the lower right area of
keyboard). Replace XKBLAYOUT="fr" with "us" for US
keyboard model. You may find a list of other
available countries shortcuts in this file : /usr/share/X11/xkb/rules/xorg.lst.
- Later, keyboard customization for graphic mode (startx
command) may also have to be performed optionaly (not
- Reboot your RPi via command "reboot" to
make the new keyboard operational, login as root and
continue configuration where you stopped here.
- Execute command "ifconfig eth0" and notice
the RPi MAC code on the line with HW: like HWaddr
B8:27:EB:9E:15:06 in the example. You will
need it later.
- remember temporary local
address attributed to your RPi by your LAN or ADSL
Inet Addr is like 192.168.0.xxx as in this
example. It is not the broadcast address
- For next configuration steps it is easier to
log under root account, i.e. Super User with all
- If not already root, switch to root account by
issuing "su" command followed by password "root"
to gain Super User priviledges. You may change
- First, update your system with the latest kernel
and packages issuing the two commands : apt-get
update and apt-get upgrade. Each of
these may take a long time. Be patient.
- Distributed Linux system image has been reduced to
shorten transmission time. It is only using a part
of the SD card. This will be changed in next step.
- It is highly recommanded to run now command raspi-config
and select option 1 "Expand Filesystem" to
expand root partition to fill SD card.
- You also want to change User Password, option 2,
execute Internationalisation Options 3, run Advanced
Option A2 Hostanme, etc..
- Reboot the RPi via command "reboot"
- Configure your ADSL modem LAN router in
order to make your local Inet Addr number
permanently linked to the device identified by MAC
hardware address noted above.
- Configure the following ports redirection on
router or ADSL modem to your RPi IP adress
: 80, 6300, 7300, 8000, 10092. Those
external and internal port numbers must be the
same. The following port numbers, 21, 22,
23, should also be redirected but external
ones may have different numbers for security
reasons. For example, route 32222 external port to
your local RPi Inet Addr address internal port 22.
- To access your RPi via Local Area Networdk or
remotely via Internet you can use telnet
or better ssh (using more secure protocol
than telnet) applications to connect your ADSL IP
adress given by your Internet Access Provider (or
your symbolic address like f6XYZ@dyndns.org ).
- From a PC running Windows you may use TeraTerm
Pro Web 3.1.3 you can download from http://www.ayera.com/teraterm/
Menu setup configure ssh2/authentification
with username "pi". Then in Menu Setup
TCPIP enter RPi local IP adress and
select Add, then enter your ADSL IP address
and enter Add again. Configure also Setup,
Terminal to validate options "Term size = Win
size" and "Auto switch (VT<->Tek)". Save
configuration with Save Setup. In Menu
File New connection select the host name or IP
number, then the protocol (telnet or more secure
ssh). When asked for the "pi user" password
enter "raspberry". For security reasons, you
want to change pi user password after loging in.
- Another remote console is provided by PuTTY
a free implementation of Telnet and SSH for
Windows, along with an
- From a Linux computer, telnet and ssh applications
are directly available. They will let you remotely
access your RaspBerry Pi.
- You may boot Rpi without video monitor, keyboard
or mouse. In fact you can power up and boot your Rpi
when it is only connected to external world via an
Ethernet cable and then leave it alone !
- Once you logged into your Rpi, a number of
command shortcut are available :
- monitor -chat (to display AX.25
traffic on all ports. Exit with <Enter> , "c"
parameter is for optional use of colors)
for netstat --ax25)
for netstat --netrom and --rose protocols)
a BBS console client)
fpacnode client with callsign argument on command
all applications in memory, shortcut for ps -ax )
SD disk used and available free space)
- fbblog (lists
BBS journal of present week)
- fpaclog (lists FPAC
starting log file)
- listen -chat (to display
AX.25 traffic on all ports. Exit with CTL+C)
- ALT+F5 Opens terminal 5
displaying Dx Spider service message (not a client
for Dx spider)
- ALT+F6 Opens terminal 6
displaying packet radio traffic on AX.25 ports.
Notice : as opposed to Windows, under Linux you have
several virtual terminals at your disposal
simultaneously. To open a command line
terminal use two keys combinations : ALT+F1,
ALT+F2, ..., ALT+F5. ALT+F7 returns to Graphic
User Interface if it has been started with startx
- In SU mode the alias
for ls -la to list current directory files)
- all above "batches" located in /usr/local/bin
may thus be called from any current Linux directory.
When in GUI you can switch to a command line terminal
via three keys combination CTL+ALT+Fn
key (n, terminal number between 1 and 5).
Most amateur radio applications do not use or need GUI
that is more CPU power demanding anyway.
- To acces the RPi through the network (Telnet or
SSH protocol) :
- From a Windows PC with Teraterm Pro with SSH2 user
"fpacuser" in lieu of "pi" and
password "fpac" you get remote acces to FPAC
- The same from a Linux computer, ssh
firstname.lastname@example.org -p 10092 or ssh
fpacuser@<IP address> -p 10092 (+
- From a Linux computer the command telnet
<RPi IP address> 6300 gives you
acces to the BBS.
- With ssh you can have access to your local RPi
with ssh <local RPi IP address> -p 22
- Connect Dx spots server Spider remotely via
command telnet <RPi IP address> 7300
and via a local terminal with telnet localhost
- Using a web browser like Mozilla, connecting RPi
IP address either local or Internet address opens
RPi example web page located in /var/www/index.htm
- If you need to transfer files to or from your Rpi,
use FTP protocol with SSH. Linux command is sftp
<pi@<Rpi IP> and enter password "raspberry".
- It is now mandatory to achieve customization
of hamradio applications in your Linux system with
your personal informations.
- You need to open a supervisor session with command
"su" followed by password "root". For
security reasons supervisor password should be
changed with command "passwd".
- Then you would need to edit a
number of files listed in this page.
Fortunately, changing callsigns may be achieved
quickly and through a simple command line.
- Enter into directory /etc/ax25 with cd
/etc/ax25 and execute the following commands,
replacing in this example F6BVP or f6bvp by
your callsign (F6GAL and f6gal are the original
distribution callsigns that you want to replace
entering the following commands):
- grep -rl F6GAL * | xargs sed -i
- grep -rl f6gal * | xargs sed -i
- Last above command should be executed again
after changing directory cd /usr/local/bin
- The same command should also be executed
again after changing directory cd
- To customize other parameters in /etc/ax25/ *.conf
files there is a simple editor : nano. For
example "nano /etc/ax25/fbb.conf"
- Another available editor is vim.tiny (more
HOW TO UPDATE AX.25 libraries, apps, tools and
FPAC on your Raspbian system:
- Since this distro was released, there have been
a few updates removing bugs and improving AX.25
code and FPAC suite of programs.
- Before updating AX.25 libraries and other
application software you should have already
updated Linux itself with commands apt-get
update and apt-get upgrade. If not,
you need to do it now (answer Yes when asked for
permission and be very patient).
- Just to be sure that necessary development tools
are already installed, execute the following
command : apt-get install dh-autoreconf
For your convenience the command
source fpacdir is a shortcut for changing
directory to fpac source directory. If you
need to know your country DNIC number, check the complete
list of DNIC countries numbers etc/itu.dnic
in FPAC source directory.
- In file /etc/ax25/fpac.conf do not change
FPAC SSID -8 and -9 as they are standard for FPAC
Change DNIC parameter with
the one of your country (i.e. 3100 for USA).
Change Address = 194501 with
your own 6 figures address. It may be inspired by your
phone area number. Do not keep default Address
Check that Inetport number is the same
as Socket udp in /etc/ax25/ax25ipd.conf.
In the distribution it is 10092 and should not be
- Send a mail to F6BVP and to your future
adjacent node station Sysops to give your IP
address (or symbolic address like
f6gal.dyndns.org), your L2 and L3
callsigns and your ROSE address comprising
DNIC number and rose Address with its 6
figures. This is mandatory in order to let your FPAC
node and F6BVP nodes synchonize together.
- File /etc/ax25/fpac.nodes
configures informations about neighbour FPAC nodes
that will be directly connected to your node.
- File /etc/ax25/ax25ipd.conf configures
routes to IP address (or symbolic address) toward your
NetRom protocole configuration for Node, BBS and DX
- In addition to native ROSE protocole, FPAC can use
NetRom protocole. In /etc/ax25 directory there are
files for configuring your node, cluster and BBS
NetRom callsigns and alias.
Edit /etc/ax25/nrports files in order to set
your own alias. For example, supposing your callsign
is W4XYZ replace GALNET with XYZNET, GALBBS with
XYZBBS, GALCLU with XYZCLU.
Otherwise, same default alias will appear on NetRom
tables for different callsigns, breaking down routing
- It is recommanded that NetRom callsigns for BBS
should have no SSID, i.e. equivalent to SSID zero.
This will help FPAC to choose the protocole you want
to use based on callsign to connect. This NetRom BBS
callsign setting without SSID is independant from
AX.25 BBS callsign that must have an SSID different
from zero, usually -1.
- /etc/ax25/nrbroadcast should be edited in
order to reflect AX.25 device you want to use for
broadcasting NetRom tables.
- File ax25d.conf should include NetRom ports
entries to redirect NetRom frames to FPAC node.
- ax25d.conf should also include a
NetRom port entry for Dx cluster Spider client.
Please correct configuration errors or
install missing packages
- In file /etc/ax25/fpac.conf
comment out 3 lines from Alias
to End by
adding a # sign at the beginning of
- In file /etc/ax25/fac.routes make
respective lines look like 175502 =
BVP10 and 175520 = F6BVP (
address were wrongly inverted in the distro ! )
- In file /etc/inittab comment out (adding #
character at the begining of line) last line with
T0:23 respawn: /sbin/getty ttyAMA0 115200 vt100
- apt-get install host
- Don't forget to customize your Callsign and
password in /etc/ax25/bbs/passwd.sys and
/usr/local/bin/bbs local BBS client connect
- Send a mail to F6BVP giving your BBS
callsign-ssid, IP address or symbolic
address and telnet external port number
routed to port 6300 (usually 6300, may be 23 in some
cases when your BBS is behind a gateway not accepting
port 6300 redirection...)
- A quick way to go into FBB source directory
is provided by command source fbbdir
Spider DX cluster CONFIGURATION:
- Log into your Raspberry Pi using sysop
- Customize cluster /spider/local/DXVars.pm). Keep
callsigns in capital letters as requested.
Preferably do not change Cluster SSID -3 (standard).
- After editing your SYSOP callsign, run scrit /spider/perl/create_sysop.pl
- rename file startup.txt startup
- execute script /spider/src/client
<sysop's alias callsign> (your spider
callsign without ssid); and enter
commands : set/spider f6bvp-3 and connect
- In order to receive DX network cluster spots
from F6BVP, send a mail with your Spider
Cluster application is writing a lot of data
taking a large disk space. It is a good idea to remove
regularly old data in /spider/data/log,
/spider/data/debug and /spider/data/spots. This script will clean up old cluster
data automatically. Copy it in
/etc/cron.daily/spider and change the rights
with command : chmod a+x spider
- script should be copied into
/etc/cron.weekly/clear_log.sh and be exécutable
(chmod a+x clear_log.sh) in order to clean up old log
data and recover free space on SD disk.
Raspberry Pi serial connections
Distributed system is not already completely
configured to run a Terminal Node controler like the
Here are two specific pages about Raspberry Pi serial
Installing a Terminal Node Controler TNC-Pi for
AX.25 over radio
I wanted to start AX.25 over radio links
with my Raspberry Pi.
I recently ordered and soon received and assembled two
I had to remove the nice looking Pibow box from
Pimoroni in order to make room for inserting the
TNC-Pi on the 2X13 pins connector.
This connector is a General Purpose Input Output
interface handling more particularly I2c bus and
serial port connection we may use for the TNC-PI.
As suggested, I inserted a small piece of
electrostatic dissipative foam between the TNC-Pi and
the USB plug in order to avoid unwanted shortcuts
between solder on the lower face and USB plug.
I choosed to select serial port as I did not intend to
use more than one TNC on that RPi. Thus I inserted a
jumper at JP7 and also at JP3 and JP4. However, I
mistakenly put JP3 and JP4 parallel to the chip and
not parallel to the 2x13 pins connector as instructed.
This lead to a strange behavior of the TNC-Pi. It was
not responding to any command, but it was digipeating
frames over the air ! Soon after I realized the
mistake and oriented jumpers JP3 -JP4 correctly, the
TNC worked then perfectly.
Connecting TNC-Pi to my Icom radio was not a problem,
for the 9 pin D-sub plug wiring is standard and I had
already made a cable connecting a Kantronic TNC to my
Configuring Raspberry for using a TNC-Pi via
You want to read the TNC-Pi manual
Kiss parameters must be set once for all before
attaching serial connection /dev/ttyAMA0 to AX.25
Then ttyAMA0 should be attached to ax25 port vhfdrop
declared in axports with speed 19200 bauds.
You probably want to consult
Charley's K4GBB dedicated page for a complete
description of TNC-Pi install and more specifically
via i2c bus.
After configuring kiss parameters, do not forget to
remove jumpers at JP3-JP4, only if using I2c bus. Keep
them if using serial connection via 2x13 pins
BACKUPS and upgrades
- It is highly recommanded to perform
regularly a backup copy of your SD card. For
once it is corrupted it is very difficult to repair.
See dd above.
- Once a month or so you want to update RPi Linux
packages with commands : "apt-get update"
followed by "apt-get upgrade" after saving SD
- WARNING : In case of system library
major version changes you will need to recompile
AX.25 library and all hamradio application
- The main symptom of the need to recompile AX.25
library or/and recompile an application is a
dysfunction or a software abort with or without a
memory segment violation message that did not
occure before updating the system.
|If you need help, please
contact Bernard F6BVP via
FBB list or via
FPAC list or directly email@example.com