** Contents **
Why use FBB with Linux ? Info on Ax.25, NetRom and ROSE. Install Ax.25, NetRom and ROSE. Config Ax.25, NetRom and ROSE for KISS TNC. Telnet installation (Appendix 24).
LINUX is a true multitasking system where many applications may run concurrently (RMS Gate, FPAC, NODE, BBS, CLUSTER, TCPIP, etc...) on the same CPU. Most Linux kernels are compiled with Ax.25 included. The Linux kernel supports NetRom, Rose, Ax.25, and TCPIP. Linux supports both GUI (Graphical Usaer Interface} and CLI (Command Line Interface ) enviornments.
To understand AX.25, NetRom and ROSE sockets go to Amateur Radio AX.25 HOWTO.
Ax.25, NetRom and ROSE protocols are built into the Linux kernel. Most Linux distros include the basic modules needed for the ax.25 service. In most cases they include the packages for the libax25 Run-time routines. You will still need to install the ax25-tools and ax25-apps packages. However, they may not be the most current versions. Here is a script to install Ax.25 #!/bin/bash # Color Codes Reset='\e[0m' Red='\e[31m' Green='\e[30;42m' # Black/Green Yellow='\e[33m' YelRed='\e[31;43m' #Red/Yellow Blue='\e[34m' White='\e[37m' BluW='\e[37;44m' echo -e "${BluW}\t\n\t Script provided by Charles S. Schuman ( K4GBB ) \t\n\t\t\t ${Red} 01/09/2014 \n \t\t${Yellow} k4gbb1@gmail.com \n${Reset}" if ! uid=0 then su fi if [ ! -d /usr/local/etc ]; then echo -e "${Green} Creating file folders for Config files${Reset}" mkdir /usr/local/etc fi mkdir /usr/local/etc/ax25 if [ ! -d /usr/local/var/ ]; then echo -e "${Green} Creating file folders for Data files${Reset}" mkdir /usr/local/var fi mkdir /usr/local/var/ax25 rm -fr /etc/ax25 if [ ! -d /usr/local/src ]; then echo -e "${Green} Creating file folders for source files${Reset}" mkdir /usr/local/src mkdir /usr/local/src/ax25 mkdir /usr/local/src/ax25 fi echo -e "${Green} Creating symlinks to standard directories${Reset}" ln -s /usr/local/var/ax25/ /var/ax25 ln -s /usr/local/etc/ax25/ /etc/ax25 # Update Package list & Install Build resources echo -e "${Green} Updating the Package List ${Reset}" echo -e "\t${YelRed} This may take a while ${Reset}" apt-get update > /dev/null echo " *" apt-get install build-essential libax25-dev libx11-dev zlib1g-dev libncurses5-dev -y -q #if [ -f /usr/lib/libax25.a ]; then echo -e "${Green} Moveing Old Libax25 files out of the way${Reset}" mkdir /usr/lib/ax25lib mv /usr/lib/libax25* /usr/lib/ax25lib/ #fi # Download libax25 source file cd /usr/local/src/ax25 echo -e "${Green} Getting Libax25 Source${Reset}" wget -qt3 http://linuxax25.googlecode.com/files/libax25-1.0.3.tar.gz && tar xf libax25-1.0.3.tar.gz if [ $? -ne 0 ] then echo -e "${Red}\t Libax25 Source files are Missing${Reset}" exit 1 fi # Download ax25-tools source file cd /usr/local/src/ax25/ echo -e "${Green} Getting Ax25-tools Source${Reset}" wget -qt3 http://linuxax25.googlecode.com/files/ax25tools-1.0.2.tar.gz && tar xf ax25tools-1.0.2.tar.gz if [ $? -ne 0 ] then echo -e "${Red}\t Ax25-tools Source files are missing ${Reset}" exit 1 fi # Download ax25-apps source file cd /usr/local/src/ax25/ echo -e "${Green} Getting Ax25-apps Source${Reset}" wget -qt3 http://linuxax25.googlecode.com/files/ax25apps-1.0.2.tar.gz && tar xf ax25apps-1.0.2.tar.gz if [ $? -ne 0 ] then echo -e "${Red}\t Ax25-Apps Source files are missing ${Reset}" exit 1 fi echo -e "${Green} Now Running Makeax25 ${Reset}" # Libax25 echo -e "${Blue}\t Compileing Runtime Lib files ${Reset}" cd /usr/local/src/ax25/libax25-1.0.3 ./configure > liberror.txt 2>&1 echo -e -n "\t *" # Compile echo -n " *" make >> liberror.txt 2>&1 if [ $? -ne 0 ] then echo -e "${Red}\t Libax25 Compile error - See liberror.txt ${Reset}" exit 1 fi echo " *" # Install make install >> liberror.txt 2>&1 if [ $? -ne 0 ] then echo -e "${Red} Libax25 Install error - See liberror.txt${Reset}" exit 1 else echo -e "${Green} Libax25 Installed${Reset}" rm liberror.txt fi # AX25 libraries declaration (into ld.so.conf) echo "/usr/local/lib" >> /etc/ld.so.conf && /sbin/ldconfig # AX25-APPS echo -e "${Blue}\t Compileing Ax25-apps ${Reset}" cd /usr/local/src/ax25/ax25apps-1.0.2 ./configure > appserror.txt 2>&1 echo -n -e "\t *" # Compile Ax25-apps echo -n " *" make >> appserror.txt 2>&1 if [ $? -ne 0 ] then echo -e "${Red}\t Ax25-Apps Compile Error - see appserror.txt ${Reset}" exit 1 fi # Install Ax25-apps echo " *" make install >> appserror.txt 2>&1 if [ $? -ne 0 ] then echo -e "${Red} Ax25-Apps Install Error - see appserror.txt ${Reset}" exit 1 else echo -e "${Green} Ax25-apps Installed ${Reset}" rm appserror.txt fi cd /usr/local/src/ax25/ # AX25-TOOLS echo -e "${Blue}\t Compiling Ax25-tools ${Reset}" cd /usr/local/src/ax25/ax25tools-1.0.2 echo -n -e "\t *" ./configure > toolserror.txt 2>&1 # Compile Ax.25 tools echo -n " *" make >> toolserror.txt 2>&1 if [ $? -ne 0 ] then echo -e "${Red}\t Ax25-tools Compile error - See toolserror.txt ${Reset}" exit 1 fi # Install Ax.25 tools echo -e " *" make install >> toolserror.txt 2>&1 if [ $? -ne 0 ] then echo -e "${Red}\t Ax25-tools Install error - See toolserror.txt ${Reset}" exit 1 else echo -e "${Green} Ax25-tools Installed ${Reset}" rm toolserror.txt fi # Add Modules to /etc/modules echo "ax25" >> /etc/modules echo "rose" >> /etc/modules echo "mkiss" >> /etc/modules # Set permissions for /usr/local/sbin/ cd /usr/local/sbin/ chmod 2755 * echo -e "\t \e[030;42m Ax25 is successfully installed \t ${Reset}" # (End of Script)
Setup Ax.25, NetRom and ROSE sockets. -------- axports ----------- # /etc/ax25/axports # # The format of this file is: # #name call-ssid speed paclen window description # 0 SM6TKY-3 9600 256 7 Tx: 437.975 Rx: 434.000 MHz 9600bps # # No Blank lines. ----- ( End axports ) --------------- ------- nrports -------------- # /etc/ax25/nrports # Name Call Alias PacLen Description netrom SM6TKY-13 #TKYNODE 236 Radio 9600bps netbbs SM6TKY-0 BBSTKY 236 NET/ROM<->XFBB -------- ( End nrports ) ----- -------- nrbroadcast --------- # /etc/ax25/nrbroadcast #axport MinObs DefQ WorstQ Verbose 0 1 250 0 1 ------ ( End nrbroadcast ) ------ # /etc/ax25/ax25-up # # This file is called from /etc/rc.d/rc.local # # attach a TNC with KISS # # (/dev/ttyS0 = COM1) # /usr/sbin/kissattach /dev/ttyS0 ax0 44.140.208.129 # # set up default IP routings # This is not needed if you don't want to run TCP/IP on Radio # /sbin/ifconfig ax0 44.140.208.129 netmask 255.255.255.0 broadcast 44.140.208.255 arp mtu 256 /sbin/route add -host sk6ba.ampr.org ax0 /sbin/route add -net 44.140.208.0 gw sk6ba.ampr.org netmask 255.255.255.0 ax0 /sbin/route add default gw sk6ba.ampr.org ax0 # # Send ID every 10 min # /usr/sbin/beacon -t 10 ax0 "This Packet Radio Node is Powered by Linux GNU" & # # If you want to run LinFBB in X-Windows, # comment out this below... # # Start up LinFBB deamon # /usr/local/sbin/fbb/ -d & # -------- ( End ax25-up ) ----------------------- Here is a port.sys example with one KISS TNC2 . # /usr/local/fbb/port.sys # # Comments are deleted to save space # #Ports TNCs 1 2 # # #Com Interface Adress (device) Baud 1 9 **** 9600 # # Same number of lines as TNCs: # #TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M/P-Fwd Mode Freq 1 8 1 ax0 250 7 2 10 30/01 XUWYL ax0 2 8 1 nr1 236 7 2 10 30/01 XUY netrom # # Special callsigns and modes for some channels. # #TNC Nbs Callsign-SSID Mode #1 2 SK6BA-0 B # # End of file. # -------------------------- # /etc/rc.d/rc.ax25 # # This file is called from /etc/rc.d/rc.local # # attach a TNC2 with KISS # # (/dev/cua0 = COM1, /dev/cua1 = COM2, /dev/cua2 = COM3, /dev/cua3 = COM4) # /usr/sbin/kissattach -i 44.140.208.129 /dev/cua1 ax0 # # attach NET/ROM interface /usr/sbin/nrattach -i 44.140.208.129 nr0 # # This is for LinFBB NET/ROM /usr/sbin/nrattach -i 44.140.208.129 nr1 # # set up default IP routings # This is not needed if you don´t want to run TCP/IP on Radio # /sbin/ifconfig ax0 44.140.208.129 netmask 255.255.255.0 broadcast 44.140.208.255 arp mtu 256 /sbin/route add -host sk6ba.ampr.org ax0 /sbin/route add -net 44.140.208.0 gw sk6ba.ampr.org netmask 255.255.255.0 ax0 /sbin/route add default gw sk6ba.ampr.org ax0 # # Start up NET/ROM deamon /usr/sbin/netromd /usr/sbin/nrparms -parms -qual 192 # # Send ID every 10 min /usr/sbin/beacon -t 10 ax0 "This Packet Radio Node is Powered with Linux Unix" & # # If you want to run LinFBB in X-Windows, # comment out this below... # # Start up LinFBB deamon /home/xfbb/xfbb.sh -d & #