Table of Contents
HOWTO: Interface FBB BBS with XRouter (XrLin / XrPi / XrWin)
There are undoubtedly many ways to interface FBB with XRouter. This HOWTO concentrates on using the DEDHOST interface (WA8DED Host Mode). It assumes that you are reasonably familiar with both XRouter and FBB.
Introduction
XRouter can emulate a WA8DED TNC, in both “normal” mode and “host” mode. This can be used for both manual operations and application support, just like a real TNC. WA8DED hostmode (DEDHOST) protocol uses serial ports.
Many applications are capable of using WA8DED host mode, including F6FBB's BBS. (See the XRouter MAN page for WA8DED for details of normal emulation mode).
.---------. .-----.
User -->| XRouter |------RS232-------| BBS |
'---------' '-----'
FBB may be located on the same machine as XRouter, connected to it via one of these methods:
- via a pair of “virtual” COM ports (Windows), or TTY's (Linux)
- via a pair of “real” COM ports (TTY's) interconnected with a null-modem cable.
Alternatively, FBB may be located on a separate machine, using an RS232 null-modem cable to interconnect the machines.
On The Same Machine, Using DEDHOST and Virtual Serial Ports
a) Create Virtual Serial Ports
The virtual serial ports are supplied by the “socat” application.
If socat is not already installed, install it like this:
sudo apt install socat
Create the virtual serial ports with socat in your home directory. Tailor to your system as needed, e.g. on a Raspberry Pi, the home directory would probably be /home/pi.
socat -d -d -ly PTY,link=/home/user/ttyq1 PTY,link=/home/user/ptyq1 &
b) Configure XRouter for WA8DED Host Mode
Add a DEDHOST interface into XROUTER.CFG. Using the socat example above, the interface declaration would look like this:
INTERFACE=5
TYPE=ASYNC
COM=/home/user/ttyq1
PROTOCOL=DEDHOST
APPLNUM=1
CHANNELS=4
SPEED=57600
FLOW=0
MTU=576
ENDINTERFACE
The interface number is unimportant, provided there is no other interface with the same number. Do not attach a PORT to this interface.
c) Tell The World About FBB
Add an APPL (application) definition block into XROUTER.CFG like this:
APPL=1
APPLNAME=BBS
APPLCALL=GB7PZT
APPLALIAS=PZTBBS
APPLQUAL=100
APPLFLAGS=4
ENDAPPL
The application name (APPLNAME) specifies a custom command, which anyone connected to the node can use to invoke a connection to the FBB BSS.
APPLCALL is the optional AX25 callsign which the application will use. If specified, the application will accept AX25 L2 connects to this callsign, subject to the setting of APPLMASK (see below).
APPLALIAS specifies an optional AX25 layer 2 “alias” used by the application. If specified, the application will accept AX25 L2 connects to this callsign, subject to the setting of APPLMASK (see below).
APPLQUAL specifies the Netrom quality to broadcast (0-255). If a non-zero value is specified here, and both APPLCALL and APPLALIAS are present, the APPLCALL:APPLALIAS will be included in Net/Rom nodes broadcasts and the application will be connectable at AX25 layer 4. The higher the quality, the further the node entry will propagate.
APPLFLAGS defaults to 0 if omitted. The flags are as follows:
Bit Value Action
-----------------------------------------------------
0 1 Application has SYSOP privileges.
1 2 Allow "guest" users to access the appl.
2 4 XRouter sends "Connected to (applcall)"
to the user upon connection to an
application. This is not required if the
application sends its own "Connected to"
message.
3 8 XRouter sends "Connected to (usercall) to
the application when a user connects.
The APPLCALL value must match the callsign and SSID configured in your fbb.conf file.
d) Configure FBB To Use DEDHOST
The FBB port.sys file needs to include a WA8DED TNC interface. Below shows only the TNC/Port applicable to this. The virtual interface needs to be the opposite member of the pair of virtual serial ports that you created above.
For example, in the XROUTER.CFG shown above, the DEDHOST interface used /home/pi/ttyq1, so in FBB the interface must be /home/user/ptyq1 as shown below.
# FBB7.0.11 # #Ports TNCs 1 1 # #Com Interface Adress (Hex) Baud 1 9 /home/user/ptyq1 57600 # #TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M/P-Fwd Mode Freq 1 4 1 1 236 4 1 10 00/15 DUWYL XR # # End of file. #
e) AX25 Visibility
If you want an application to be directly connectable on a particular XRouter PORT, the application must have an APPLCALL, an APPLALIAS or both, and the corresponding bit in that port's APPLMASK must be set.
APPLMASK specifies which APPLications will be directly connectable on a given port. The default if no APPLMASK is present is 255, which allows all applications on that PORT.
If that default is acceptable to you, you don't need to do anything. Otherwise read on…
The value of APPLMASK is made up by adding together the desired selection from the following numbers:
1 - Enable Application 1 2 - Enable Application 2 4 - Enable Application 3 8 - Enable Application 4 16 - Enable Application 5 32 - Enable Application 6 64 - Enable Application 7 128 - Enable Application 8
For example, if a port's definition contains “APPLMASK=9”, it will only allow direct connections to applications 1 and 4 on that port, providing those applications have either an APPLCALL or an APPLALIAS.
