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 original Rasbian distro nor any application
changes. All the software included are unmodified.
However, having them pre installed makes things
F6XYZ for long term BBS,
DX Spider or any other application is illegal !
been only set for pre configuration of
. You must change all F6XYZ
callsigns as explained below before using this
distro on Amateur Radio or Internet.
- SD card image based on Raspbian Wheezy
distro may be downloaded from http://dl.free.fr/lVbju3jeP
- Just in case, there is a second file available
for download. Name is different but it is
exactly the same SD card image file http://dl.free.fr/ldLobDLnX
- A new SD card image based on Raspbian Jessie
is on the way and another documetation will be
written for it for there are a lot of changes.
- To start downloading click on the above link.
A windows dialog box should appear.
"Enregistrer le fichier" circle should be
selected then click onto OK.
- Or if a full new page in french is opened,
click on "Valider et télécharger le fichier"
- Or you could see nothing when you click on
the link ! If you click again on the file
link, a window will open with a message telling
that too much slots are open. This
means that the file is actually already
downloading silently in the background. So
be very patient and do not close your
browser. After a certain time (up to
more than 10 hours !), depending on your
Internet link speed, you should find the file in
your download directory (C:/download/Firefox for
- File RPi-3.12.22.AX.25-July-1.bz2
or RPi-3.12.22.AX.25-July-2.bz2 size
is around 1.3 GB (1310 MB). See below how to compute
checksum to be sure it is not
- It includes an image of Raspberry Pi linux
system with pre installed AX.25 saved on a
gziped compressed archive to be downloaded and
copied on a 8GB SD card.
- The whole included development tools, source
and binary applications software files take
around 30% of an 8GB SD card (15% if 16 GB card
- 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:
- Linux version 3.12.22 #691 PREEMPT Wed Jun
18 18:29 BST 2014
- 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.05f.
- AX.25 packet radio switch FPAC node (NetRom and
- aprslist (APRS beacon and repeater) and Xastir (in
graphic mode) application to be started from graphic
user interface menu.
- Dx spots relay DX Cluster
- Web server lighthttpd
- 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
encapsulated IP frames stripped into AX.25 frames.
- ax25d : daemon redirecting incoming frames from
peripheral devices to appropriate application
software depending on protocols and ports.
- xastir. This is an APRS graphic application.
HOWTO copy image file onto SD card
- If you do not have a Linux computer, use a
- Download http://www.slavasoft.com/zip/hashcalc.zip
and install it to compute RPi-3.12.22.AX.25-July-1.bz2
or ...July-2.bz2 md5 file
- It should give this value:
8007034322d32e8048922c9dcd35e76e for both
- Next connect your SD card via an adapter to USB
- Uncompress RPi-3.12.22.AX.25-July-1.bz2
(or July-2) with an archive management utility like
01net.com. (you may refuse to install
- Copy image file RPi-3.12.22.AX.25-July-1
(or July-2) onto an 8 or 16 Go SD or micro
SD card using application http://sourceforge.net/projects/win32diskimager
- Or if you have a computer with a Linux
- Compute md5 checksum with command : md5sum
RPi-3.12.22.AX.25-July-1.bz2 or ...July-2.bz2
md5 file checksum.
- It should match this value : 8007034322d32e8048922c9dcd35e76e
for both files.
- 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
xf RPi-3.12.22.AX.25-July-1.bz2 or
- Copy image file on an 8 or 16 Go card using command line "dd if=RPi-3.12.22.AX.25-July-1
of=/dev/sdx" (x to be replaced by the last
letter of your SD device)
- Raspberry Pi set up :
- 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 "pi" and
password "raspberry". Then enter supervisor
account with command "sudo su".
- If you don't have a QWERTY keyboard (US), use nano
editor to make changes in file /etc/default/keyboard
for selecting your keyboard country model.
Distributed model configuration is US keyboard with
keys arranged like QWERTY. For example, with french
AZERTY keyboard letters A and Q are reversed and so
are letters W and Z. Replace XKBLAYOUT="gb" with
"fr" for french keyboard model. You may find a list
of other available countries shortcuts in this file
- 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 above
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
- At boot up /etc/init.d/ax25
script 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 F6BVP as first neighbour
node. It will be completed as soon as you
communicate your Internet IP or symbolic address to
- 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). Local client can be started by
issuing 'clu' command.
- Your Rpi web server is on line (default web page
- To stop AX.25 applications, run /etc/ax25/ax25-down
- To restart 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)
- For next configuration steps you better get
- If not already supervisor, switch to su account by
issuing "sudo su" command to acquire Super
- 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 Hostname, etc..
- Reboot the RPi via command line "reboot"
- IMPORTANT NOTICE : This distro based on
RaspBian Wheezy is one year old. It is
recommanded to perform now a deep system upgrade via
commands apt-get update followed by
apt-get dist-upgrade. Both commands
execution will take a long time to achieve.
Answering Yes to all questions is ok.
- Then reboot your RPi before performing next steps
- 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.no-ip.org or
- 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)
to start an fpacnode client with local callsign ( it
must be changed once for all with your own replacing
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@<your RPi IP> and enter password
- 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
"sudo su". For security reasons supervisor
password should be later changed via 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 (F6XYZ and f6xyz are the original
distribution callsigns that you want to replace
entering the following commands):
- grep -rl F6XYZ * | xargs sed -i
- grep -rl f6xyz * | 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
- Command fpac is used to start a local client
(fpacnode) using the callsign written in the script. Please
edit script /usr/local/bin/fpac and
replace "f6bvp" with your own callsign ! Another
script fpac.sh is used to initialize FPAC
server. When started, it deletes fpaclog file in order
to keep minimum space used on SD card. To read fpac
log you may use fpaclog command.
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 f6xyz.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
- 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 W4AAA replace XYZNET with AAANET, XYZBBS with
AAABBS, XYZCLU with AAACLU.
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.
- 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
- After editing your SYSOP callsign, run script /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. In order to remove
regularly old data in /spider/data/log,
/spider/data/debug and /spider/data/spots a symbolic
link has been created toward /NULL device and a script in /etc/cron.daily will clean
up old cluster data automatically.
- script in
/etc/cron.weekly/clear_log.sh must be executable
(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 already completely configured to
run a Terminal Node controler like the dedicated
TNC-Pi through serial port 2x13 (2x20 on B+ boards)
connector bus. Here are two specific pages about
Raspberry Pi serial connection.
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 upper layer of 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.
I inserted a supplementary blue layer below the TNC-Pi
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
Distributed Raspbian AX.25 is already configured
for using TNC-Pi via serial device
In case of difficulties you want to read the TNC-Pi manual
Kiss parameters has been aleady set once for
all. Serial connection is on /dev/ttyAMA0.
Device ttyAMA0 has been attached to ax25 port named 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
- Once Pi TNC DB9 plug is connected to a Radio you
can display AX.25 incoming traffic with listen
-chat (or monitor -chat) command.
- You may also see AX.25 traffic on console 5
(Alt+f5 keys) or Dx Spider cluster service
messages on console 6 (pressing Alt and f6 keys
- clu command will let you login to your DX
Cluster as a user. enter your callsign without
SSID (for example f6xyz for cluster f6xyz-3). Quit
by typing b (Bye).
- xastir APRS application only runs inside
an X11 graphic context. From a console type sudo
startx. Or simply startx if you
are logged as super user (root).
- Click on lower left screen Menu, click on Other
and on xastir. Xastir application
window will open.
- Configure your station parameters (CALL,
Location longitude and latitude).
- Click on Interface control and Add
AX25 TNC ax25 device name vhfdrop
(or any other serial ax.25 interface you
configured in /etc/ax25/axports),
- then click on start
- Click on View traffic, click on incoming
data to watch APRS packets.
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 (rarely) 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.
- A more deeper ugrade of operating system and
libraries can be achieved by commands "apt-get
update" followed by "apt-get
dist-upgrade". Use it rarely.
|If you need help, please
contact Bernard F6BVP via
FBB list or via
FPAC list or directly email@example.com