+ Applying the WA8DED Interface Bug Patch For Use With LINBPQ

Prerequisites
This document assumes that you will be running FBB with LinBPQ.
- If you have not yet set up LinBPQ, please go and do that now.
- LinBPQ: You will need to define both the
TNCPORTport for FBB to mount &APPLICATIONfor the node-command, callsign and NETROM alias that is used to access FBB.
Downloading
sudo apt install subversion
svn checkout https://svn.code.sf.net/p/linfbb/code/ linfbb-code
Patching
cd linfbb-code/trunk/src
nano drv_ded.c
You will need to locate this part in the code, it begins at line 60.
The part that needs adding a usleep(10000); highlighted in bold below.
if (p_port[*port].polling == 0)
{
ded_sonde (*port, next);
return (0);
}
valid = 0;
usleep(10000);
Save the file.
Building FBB
Install the necessary build tools listed below. I have not done this in a while so I may have also installed additional libraries that are needed. If the FBB build process fails because of a missing library, please remind me (pe1rrr[at]amsat[dot]org) so that I can update this document.
sudo apt install build-essential autoconf
sudo apt install libax25 ax25-tools ax25-apps libax25-dev libncurses-dev
Generate the โMakefileโ required by the build system:
cd ..
./autogen.sh
It is recommended not to install FBB to the OS root structure by default. Instead, it is advisable to keep FBB contained within its own subdirectory within the node’s home directory for easier backups.
CAUTION: The temporary variable PREFIX you are about to set specifies the actual storage location for FBB files. Do not leave it set as-is below. ๐
PREFIX=/path/to/your/home/directory/for/example ๐
Then we being the build process:
./configure --prefix=$PREFIX
make -j4
make install
The FBB SVN README provides helpful advice.
*** If you are installing for the first time, run "make installconf".
*** This will install default configuration files.
*** DO NOT run "make installconf" if you are upgrading a working system,
*** as your configuration files WILL BE overwritten with defaults
To get started, make sure to install the default configuration files. If you’re doing a fresh install, running this will overwrite any existing configuration files, so be careful if you’re upgrading instead.
make installconf
First Start and Configuration
The FBB installation is located at the $PREFIX/sbin directory.
cd $PREFIX/sbin
Run the fbb script:
./fbb
You wil be prompted to answer several questions, here is an example:
Configuration files does not exist. Create them (Y/N) ?y
Callsign of the BBS without ssid (Ex: F6FBB) : PE1RRR
SSID of the BBS (Ex : 1) : 1
Hierarchical address (Ex : FMLR.FRA.EU) : #NBW.NLD.EURO
QRA-Locator of the BBS (Ex : JN03QL) : JO21LO
City of the BBS (Ex : Toulouse) : Rijen
Name of the SysOp (Ex : Jean-Paul) : Red
Callsign of the SysOp without SSID (Ex : F6FBB) : PE1RRR
Difference with GMT time (Ex : +1) : +1
BBS : PE1RRR.#NBW.NLD.EURO
SSID : 1
LOCATOR : JO21LO (Rijen)
SYSOP : PE1RRR (Red)
TIME : GMT +1
Correct (Y/N) Y
Please note that at this time, the installation script is unable to handle the specific port configuration required to connect to a LinBPQ node, so for the time being this is just placeholder information, we will come back to TNC port configuration later.
Name of the port #1 as named in /tmp/fbb/etc/ax25/axports (<CR> to end) : LinBPQ
Number of channels [ex. 4] : 10
Frequency [ex. 145] : LinBPQ
Name of the port #2 as named in /tmp/fbb/etc/ax25/axports (<CR> to end) : <hit the enter key>
Port 1 on axports none (1 channels) Freq=LinBPQ
Correct (Y/N) ? Y
The setup will display a lot of technical information and ask for your input. It may also request permission to create specific files.
Creating port.sys ... Ok
Creating beacon1.sys ... Ok
Checking fbb tree.... Ok
Checking fbb configuration :
*************************************************************
* XFBB Linux daemon version 7.0.12-svn (Jul 21 2023) PID=11537
* Copyright F6FBB 1986-1999. All rights reserved.
* Copyright F6BVP 2000-2020. All rights reserved.
* Maintainer since 2020 : D. van der Locht <dave.is@home.nl>
*
* This software is in the public domain. It can be copied
* or installed for any use abiding by the laws
* under GNU General Public License
*
* The current and previous maintainers decline any
* responsibilty in the use of XFBB software.
*
*************************************************************
Reading fbb.conf file
Parameters set-up
vers : FBB7.0.12-svn
call : PE1RRR.#NBW.NLD.EURO
ssid : 1
qral : JO21LO
city : Rijen
conf : /tmp/fbb/etc/ax25/fbb
data : /tmp/fbb/var/ax25/fbb
mess : /tmp/fbb/var/ax25/fbb/mail
comp : /tmp/fbb/var/ax25/fbb/binmail
fbbd : *,*,/tmp/fbb/var/ax25/fbb/fbbdos,*,*,*,*,*
fbbd : <*,*,/tmp/fbb/var/ax25/fbb/fbbdos,*,*,*,*,*>
0 : {*}
0 : {}
1 : {*}
1 : {}
2 : {/tmp/fbb/var/ax25/fbb/fbbdos}
2 : {C:\tmp\fbb\var\ax25\fbb\fbbdos\}
3 : {*}
3 : {}
4 : {*}
4 : {}
5 : {*}
5 : {}
6 : {*}
6 : {}
7 : {*}
7 : {}
yapp : /tmp/fbb/var/ax25/fbb/fbbdos/yapp
docs : /tmp/fbb/share/doc/fbb
name : Red
syso : PE1RRR
sysm :
impo : /tmp/fbb/var/ax25/fbb/mail/mail.in
logs : OK
test : NO
fbbf : OK 160
fbbc : OK 3
aski : OK
mask : 3616
secu : 0 4 59
warn : 255
hous : 2
time : 10 20
maxd : 0 0
loca : +1
beac : 8
scro : 1500 1500 1500
fwdh : [$c] $$:$R
maxb : 30000
life : 30
wpca :
zipc : 00000
unpr : 500 5 P
upba :
dwba :
pg : /tmp/fbb/lib/fbb/pg
fdir : /tmp/fbb/lib/fbb/filter
sdir : /tmp/fbb/lib/fbb/server
tdir : /tmp/fbb/lib/fbb/tool
poph :
LINUX virtual paged memory set-up
Texts set-up
1 language buffers allocated
Init lang ENGLISH
Init lang FRANCAIS
Cannot open /tmp/fbb/var/ax25/fbb/sat/satel.dat
Creating file /tmp/fbb/var/ax25/fbb/sat/satel.dat (Y/N) ? Y
Creating file /tmp/fbb/var/ax25/fbb/sat/satel.dat
Cannot open /tmp/fbb/var/ax25/fbb/statis.dat
Creating file /tmp/fbb/var/ax25/fbb/statis.dat (Y/N) ? Y
Creating file /tmp/fbb/var/ax25/fbb/statis.dat
Cannot open TPSTAT.SYS
Creating file TPSTAT.SYS (Y/N) ? Y
Creating file TPSTAT.SYS
RS232 ports set-up
Ports set-up
1 channels ok
TNC set-up
TNC ports set-up
socket_monitoring: Operation not permitted
BID set-up
WFBID.SYS file is not present. Creating /tmp/fbb/var/ax25/fbb/wfbid.sys
WFBID.SYS is not present. Creating /tmp/fbb/var/ax25/fbb/wfbid.sys
Callsign set-up
Callsigns set-up
Cannot open /tmp/fbb/var/ax25/fbb/inf.sys
Creating file /tmp/fbb/var/ax25/fbb/inf.sys (Y/N) ? Y
Creating file /tmp/fbb/var/ax25/fbb/inf.sys
Cannot open /tmp/fbb/var/ax25/fbb/dirmes.sys
Creating file /tmp/fbb/var/ax25/fbb/dirmes.sys (Y/N) ? Y
Creating file /tmp/fbb/var/ax25/fbb/dirmes.sys
Message set-up
Next message 101
End - 0 forward(s)
Files set-up complete
FORWARD set-up
BBS set-up
Cannot open ETAT.SYS
Creating file ETAT.SYS (Y/N) ? Y
Creating file ETAT.SYS
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Fri Jul 21 17:08:13 2023
Set-up complete
GMT 15:08 - LOCAL 17:08
Starting multitasking ... ok
FBB options : (none)
Running XFBB in background mode ^C to abort
Starting XFBB (pwd = /tmp/fbb/var/ax25/fbb)...
The FBB BBS process is currently running in the background, but it won’t work yet due to an incorrect TNC port configuration. We will correct that in a moment, but first, letโs check to see that the FBB process is running:
ps -ef | grep xfbbd
You should see something like this:
pi 17369 2.0 0.0 8304 2780 pts/11 S 17:11 0:00 /tmp/fbb/sbin/xfbbd
We now can kill this process. Locate the PID number (17369 in the example above),
CAUTION: Please find the correct Process ID on your system and replace the number below before proceeding ๐
kill -9 17369 ๐
Now that the BBS is stopped we need to put your sysop callsign into the sysop permissions file: passwd.sys
cd $PREFIX/etc/ax25/fbb
nano passwd.sys
Edit the example to your own callsign and password where indicated ๐. You will use this password to access the sysop terminal.
#
# Password for all non defined callsigns (one case dependant line)
#
reallycomplicatedpassword ๐
#
# Rights and password specific to callsigns (one or more lines)
#
PE1RRR ๐ 63 1023 MYPASSWORD๐
#
Save and exit from the text editor. (Nano: CTRL-X, etcโฆ Vim: !wq)
Start up the BBS
cd $PREFIX/sbin
./fbb
FBB will launch and eventually background itself.
To test if the BBS process is working, connect with the FBB Client and provide the required information, use your callsign after the -ci arguments.
cd $PREFIX/sbin
./xfbbC -ci MYCALL๐ -w MYPASSWORD๐
You should be presented with the following screen and you will be prompted to enter your own details for your user record on the BBS.
Client application for xfbbd V7.0.12-svn (Jul 21 2023) ( help : xfbbC -? )
Connecting localhost ... Ok
Authentication in progress ... Ok
Console connection ...
xfbbC V7.0.12-svn (Jul 21 2023) - Callsign : pe1rrr - Remote host : localhost
[FBB-7.0.12-AHMR$]
PE1RRR BBS, QTH JO21LO.
Hello ???, you are now on channel 0.
Here are 0 active messages, 100 is last message and
80 is the last you have listed.
Assigned channels:
This is your first contact with this BBS.
Please enter your first name :Red
City (without ZIP code !) :Rijen
Please enter your HomeBBS :PE1RRR.#NBW.NLD.EURO
Please enter your ZIP code :5120AA
Thank you ...
(0) PE1RRR BBS (H for help) > bye
Configuring FBB to use LinBPQ
Updated
FBB will be running atop LinBPQ node, the node provides the connections to the TNCs, FBB treats LinBPQ as a gateway port.
cd $PREFIX/etc/ax25/fbb
nano port.sys
Below is port.sys modified with the path to the LinBPQ FBB WA8DED interface.
# FBB7.0.12-svn
#
#Ports TNCs
1 1
#
#Com Interface Adress (Hex) Baud
1 9 /home/pi/fbb_ded 9600
#
#TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M/P-Fwd Mode Freq
0 0 0 0 0 0 0 0 00/01 ---- File-fwd.
1 10 1 1 230 4 1 10 40/59 DULYW LinBPQ
#
# End of file.
#
The flags for the port must be DULYW which tells FBB this is a WA8DED port. The flags are documented on my advanced port.sys page.
You can place the virtual device โfbb_dedโ in different locations, but it is recommended to keep it in the home directory of the LinBPQ user.
Save the file after editing.
Shut down the old BBS process that is still running:
pkill -9 xfbbd
At this point, the BBS can be configured to auto-start using the process described in the next chapter. The BBS mail forwarding options are handled in a later chapter.
TO DO (notes)
forward.sys- C SWITCH
- C C <dest>
bbs.sys- One BBS per line, uppercase, do not shorten the file!
- Create
inittnc1.sys- MUI <comma separated list of LinBPQ ports to send UI beacons to>
- Create
beacon1.sys- Standard beacon template in syntax manual.
passwd.sys- Add logins for sysops using the FBB Client.
Automatic startup with systemd
The FBB service unit relies on another service called linbpq.service, which can be found here. This arrangement allows for a streamlined startup process and enables the entire system to be restarted with a single command to the systemd broker.
Create a new text file in /lib/systemd/system/fbb.service
sudo nano /lib/systemd/system/fbb.service
Copy & Paste:
[Unit]
Description=FBB with Screen Start Script for use with LinBPQ.
# Important
After=linbpq.service
# Important
Wants=linbpq.service
# Important
PartOf=linbpq.service
[Service]
# Stop FBB running before linbpq has brought up the FBBDED interface.
ExecStartPre=/bin/sleep 30
Type=forking
WorkingDirectory=/full/path/to/fbb
# Important
Restart=on-failure
RestartSec=40
StartLimitInterval=60
StartLimitBurst=3
User=pi
Group=pi
# Note if FBB is started with any FBB_PARAMS in the sbin/fbb shell script, add them below.
ExecStart=/usr/bin/screen -S fbb-console -d -m /full/path/to/fbb/sbin/fbb -f
ExecStop=pkill --signal 15 --full "/full/path/to/fbb/sbin/xfbbd"
SyslogIdentifier=FBB-Debug
[Install]
WantedBy=multi-user.target
Edit the new unit file:
WorkingDirectory- should be the installation directory used in the build.
User&Group- set to the user and group (example: pi is both a user and group in Raspberry Pi OS).
ExecStart&ExecStop- Replace โ/full/path/toโ with the actual location of the FBB install.
- Tip:
echo $PREFIX/sbinshould show it. - Perform
ls -l $PREFIX/sbinto verify.
Enable the service:
sudo systemctl enable fbb.service
Starting the BBS
Before proceeding, ensure you have configured LinBPQ and have it running using the LinBPQ systemd unit.
If youโre ready to start the BBS:
Install the following screen package, if you have followed the LinBPQ Ready To Go setup you may already have this installed.
sudo apt install screen
Start/Stop the FBB service:
sudo service fbb start
sudo service fbb start
Viewing the console
screen -r fbb-console
To exit, use CTRL+A (then release) then hit โDโ to detach the console again.
Shouts to Ian G0VGS for helping to test this documentation.

If you find the articles, or content in general posted here useful, enjoyable or maybe even something else, please consider making aย small contribution towards my hosting fund so that I may continue to provide my services for free to as many people as possible.

You must be logged in to post a comment.