<!doctype linuxdoc system> <article> <title>FBB Packet-radio BBS mini-HOWTO <author>Miroslav "Misko" Skoric, YT7MPB, <tt/m.skoric@eunet.yu/ <date>v1.11, 2001-11-27 <abstract> <nidx>linux windows nt amateur packet radio</nidx> This mini-HOWTO covers the installation and use of the most popular amateur packet-radio BBS software "FBB". That software works under Linux, DOS and Windows operating systems. It serves as a bulletin board system (BBS), a mailbox for personal messages, a database for various texts, documents and binary files, a server for small useful calculations etc. Packet radio is a way of connecting computers via amateur radio stations. </abstract> <sect>Introduction <p> I have been using FBB amateur radio software since early nineties. It was the time of DOS operating system, so most of us, system administrators (or, so called system operators - sysop's), used various packet radio software for DOS. Versions of FBB packet radio BBS software for DOS, today are known as "DosFBB". <p> I still administer one DosFBB database in the SRV (Amateur Radio Union of Vojvodina, a part of SRJ). It is DosFBB v7.00g23 that runs on a 486DX computer with 16 MB of RAM and Hercules b/w graphics. Since last December, it runs without any re-boot (excepting some power failures). Before that, it was a bit tricky to set up all memory management properly, in order to avoid "frozen" system. Although this server runs under DOS, its "radio clients" don't depend on that. In fact, users of that DosFBB might run their client software under DOS, Windows, Linux or any other operating system that offer amateur packet radio abilities. <p>I have also used DosFBB v5.15c at home. Three years ago, when I got my new box, Pentium 166 with 32 MB of RAM and VGA color graphics, I switched to a Windows version of FBB ("WinFBB"). Author of the software, an radio amateur from France, Jean-Paul F6FBB, has made many versions of WinFBB, including 16 bit variant for Windows 3.x and Windows 9x as well as 32 bit variant for Windows NT. I have run both variants until now (at the moment it is 16 bit WinFBB v7.00g25 that runs ok under Windows NT 4.0). <p>New: Since Spring 2001, I run WinFBB v7.00i (17 March 2001) under Windows 2000 Professional. <p>The main difference between DosFBB and WinFBB is that the second one offers you to do other jobs with your computer, while FBB is running as just any other application. Beside that, it is always nice to copy a text from another application (for example, from an Internet email) and to paste it into a packet radio message, or vice versa. <p>In the mean time, I upgraded my system to the Celeron 400 MHz with 96 MB of RAM and a big hard disk that has enough room to install Linux and try LinFBB ... <p>New: In July 2001, I added 128 MB of RAM so my home system is very confortable now. <p>Finally, you should be aware what I want to have here: <tscreen><verb> 1. WinFBB when I run Windows. 2. LinFBB when I run Linux. It should be an Xwindows application that may be started/stopped similarly to WinFBB. That's why X11 LinFBB package is used. 3. LinFBB when I run Linux, but as a daemon that runs in the background. In addition, an interface for a local user (myself) is needed, as well as an interface to monitor the radio chanell. 4. All three versions must be capable to use the same configuration files, i.e. to be able, for example, to begin from the exact position where the other version finished its previous session. 5. I am not an expert in Linux, so I am only able to install "factory-made" packages for Linux (just like to install self executing software packages under Windows). So, no (re)compilations here :-) </verb></tscreen> <sect>How to install X11 (Xwindows) version of LinFBB <p> <itemize> <item>First of all, you should have running Linux with a GUI installed. I am fully satisfied with Gnome GUI but I suppose that KDE will be ok too (or any other GUI available). <p> <item>Download or copy LinFBB (the main ftp site is <url url="http://ftp.f6fbb.org/" name= "ftp.f6fbb.org"> but there are many mirror sites too). For example, if you get a file like <tscreen><verb>x700e_full.tgz</verb></tscreen> it means that it is X11 version 7.00e and it contains all you need in tgz archive to install the BBS. On the other hand, a name like <tscreen><verb>xd700g_full.tgz</verb></tscreen> means that it is not X11 but daemon version 7.00g and it is also complete to unpack. Further, <tscreen><verb>x700f01.tgz</verb></tscreen> and <tscreen><verb>x700g.tgz</verb></tscreen> are "upgrades" to any previous "full" package. For example, after I have upgraded to <tt>x700g.tgz</tt> I started to run X11 LinFBB 7.00g (04 August 1998). Btw, X11 versions are not maintained anymore, but I still run it here. It has some bugs but I like it. <p> <item>Copy the archive file in <bf>/tmp</bf> directory. <p> <item>You have to make a "base" directory where your FBB will be installed. For example you may type: <bf>mkdir /usr/local/fbb</bf> if you want FBB to be there. You have to be logged as 'root' or 'superuser' to install FBB. <p> <item>Then, you should locate yourself in that directory: <bf>cd /usr/local/fbb</bf>. <p> <item>Now, you should unpack the archive: <bf>tar xvzf /tmp/x700b25.tgz</bf> (<-- use the right name of the archive here). <p> <item>When you finished unpacking the archive, you may continue installing the software: <bf>./install.sh</bf> is the command for that. The setup will ask you for the 'base' directory where FBB will be installed. If you chose <bf>/usr/local/fbb</bf> again, you will be told that such directory already exists and all files will be overwritten. It is ok, so you should answer yes. If everything is ok, you should see on the screen that fbb system directories are created. At the beginning of that procedure, program will ask you for bbs's callsign, name of the city, QTH locator, your name etc. That details will become a part of <bf>/usr/local/fbb/init.srv</bf> file. <p> <item>After that, you MUST check this file <bf>again</bf> manually in order to fix some other details needed (because installation script does not fix all parts within that file). <p> <item>Well, so far - so good. After you have checked all configuration files, you may start the software: <bf>./xfbb.sh</bf> (<-- type this within an xterm or something similar). When you start your BBS for the first time, it will ask you to create some files it needs, so you should answer "yes" to the questions. </itemize> <p> <sect>How to install LinFBB in addition to existing WinFBB <p> <em>Notice: Folks, you see, at my place, I have a dual-boot system, consisting of Windows NT and Linux (each of them having their own partition(s) and file system). I wanted to have 'independent' operating systems that won't see each other. So I made two NT's partitions as NTFS partitions and rest of the space used Linux as ext2 partitions. Well, first I have installed WinFBB under NT and X11 LinFBB under Linux. Both of them worked, but there was a big "problem": I could not share their system files. You might say: So, what a big deal. But, my FBB's should serve as packet-radio forwarding stations (regardless of which one I boot at the moment), so it was really needed for new LinFBB to "know", for example, the position where WinFBB has stopped the mail exchange last time (and vice versa, of course).</em> <p> <itemize> <item>Well, in order to allow both WinFBB under Windows NT and LinFBB under Linux to use some common files, it is needed to put these files in a place where both operating systems can "see". So I do that by re-installing WinFBB onto a FAT (FAT16) partition that is recognized by NT and Linux too. The best way to do that is to install a "fresh" copy of WinFBB on a FAT partition and to copy complete "old" WinFBB from NTFS partition over the fresh installation (whenever you are asked to rewrite existing files, you should answer "yes"). <p> <item>When that is finished, you should have a "clone" of the existing old WinFBB, but this time on the FAT partition that is visible from under Linux. Anyway, you should check if the "new" installation is able to run as the "old" one. <p> <item>I could also recommend you to check the file tree of WinFBB in order to become more familiar with it. The file tree of LinFBB is a bit different so it is advisable to note various details here and there. <p> <item>Some files can't be used as they are under <em>both</em> operating systems (without some neccesary changes). That's why some file names should be renamed (or, at least, you should make appropriate copies of some files): <p> <tscreen><verb> init.srv -> init_w.srv forward.sys -> forw_w.sys port.sys -> port_w.sys protect.sys -> prot_w.sys </verb></tscreen> <p> FBB is able to recognize and accept those renamed files. <p> <item>Make a backup of the actual WinFBB (I do this by copying the whole WinFBB file structure into the other Windows partition that <em>won't</em> be shared with Linux, like NTFS one). You'll never know when a catastrophe may happen, so as a result, you won't be able to start neither of WinFBB or new LinFBB. As a precaution, the backup might be the easiest way to recover at least the old WinFBB for a while (until you configure your new LinFBB, ok?). <p> <item>Now, you should restart your machine and boot into Linux. Log on as 'root' or make 'su' from a user's account. <p> <item>Mount a shared FAT directory (where FBB files are): <bf>mount -t vfat /dev/hda2 /mnt/win</bf> (for example). <p> <item>Copy LinFBB archive to <bf>/tmp</bf> directory. <p> <item>Position yourself to the 'base' directory: <bf>cd /usr/local/fbb</bf> (for example). <p> <item>Unpack the archive: <bf>tar xvzf /tmp/filename</bf>. <p> <item>Start the installation script <bf>./install.sh</bf> and, after asked for the 'base' installation directory, chose <bf>/usr/local/fbb</bf>. It doesn't matter if the program warns you that such directory already exists so existing files will be overwritten (by the way, if you choose a mounted directory shared with NT, many original WinFBB files, located there, would be over-written by LinFBB files, so after returning to Windows, WinFBB might not be functional like before). <p> <item>Copy <bf>/usr/local/fbb</bf> to <bf>/mnt/win/fbb</bf> but do *not* rewrite existing files with the new files having the same names. <p> <item>Copy <bf>/mnt/win/fbb/init_w.srv</bf> to <bf>/mnt/win/fbb/init_l.srv</bf> file. <p> <item>Edit <bf>/mnt/win/fbb/init_l.srv</bf> to what is needed for Linux. You may use the existing file <bf>/mnt/win/fbb/init.srv</bf> as an example. <p> <item>Copy newly edited <bf>/mnt/win/fbb/init_l.srv</bf> over the <bf>/mnt/win/fbb/init.srv</bf> (if you do not do that, maybe you wouldn't be able to start LinFBB using <bf>./xfbb.sh</bf>, like me at first). <p> <item>Copy <bf>/mnt/win/fbb/system/port_w.sys</bf> to <bf>/mnt/win/fbb/system/port_l.sys</bf> file. <p> <item>Edit <bf>/mnt/win/fbb/system/port_l.sys</bf> to what is needed for Linux and LinFBB. You may use the existing file <bf>/mnt/win/fbb/system/port.sys</bf> as an example. <p> <item>Edit <bf>/mnt/win/fbb/xfbb.sh</bf> in order to fix the right path. <p> <item>Ensure that you are in FBB's main directory: <bf>cd /mnt/win/fbb</bf> (for example). <p> <item>Start the script <bf>./xfbb.sh</bf> to run LinFBB. If everything is ok, your LinFBB under Linux should run with the same configuration as your "old" WinFBB under Windows. From this point, both FBB's should behave very similar (actually, I must admit that WinFBB has much better visual quality than X11 LinFBB, but probably the reasons for that you may find in Windows-vs.-Linux-GUI quality battles). FYI, my actual WinFBB is v7.00g25 (05 January 2000) and X11 LinFBB is v7.00g (04 August 1998). <p> <item>Although this combination WinFBB/X11 LinFBB works ok, I have noticed some problems. For example, LinFBB was not able to use <tt>amsat</tt> forward_to_file routine (located in <bf>/mnt/win/fbb/system/fwd</bf> directory), because that file was composed like this (for example): <p> <tscreen><verb> A AMSAT * P @ * C D:\FBB\SYSTEM\SAT\AMSAT.TXT <-- looks familiar to DOS/Windows only * G AMSAT * -------- </verb></tscreen> <p> On the other side, LinFBB's <tt>amsat.sys</tt> (located in <bf>/etc/ax25/fbb/fwd</bf> directory) has suggested something like this: <p> <tscreen><verb> A AMSAT * P @ * C /var/ax25/fbb/sat/amsat.txt <-- looks familiar to Linux only * G AMSAT * -------- </verb></tscreen> <p> Well, then I copied LinFBB's <tt>amsat.sys</tt> into <bf>/mnt/win/fbb/system/fwd</bf> directory so it could become functional. As a result, I got <em>two</em> <tt>amsat.txt</tt> files, one of them for each of WinFBB/LinFBB, and of course, both files appeared on different locations: the first one was <bf>/mnt/win/fbb/system/sat/amsat.txt</bf> and it was filled by WinFBB; the other one was in <bf>/var/ax25/fbb/sat/amsat.txt</bf> and was filled by LinFBB. I didn't like it that way. <p> In order to have only <em>one</em> result, regardless of FBB version, the newly copied <tt>amsat.sys</tt> had to be slightly changed: <p> <tscreen><verb> A AMSAT * P @ * *C /var/ax25/fbb/sat/amsat.txt C /mnt/win/fbb/system/sat/amsat.txt * G AMSAT * -------- </verb></tscreen> <p> As you can see now, when LinFBB is active, its <tt>amsat.sys</tt> will not forward into its "native" location of <tt>amsat.txt</tt>. Instead of that, it will go to the location of the WinFBB's <tt>amsat.txt</tt> and just add some new materials into it, ok? <p> Well, now it's up to you to decide what to do with your growing <tt>amsat.txt</tt>. An old DosFBB manual says that the 'batch' file (I suppose, the old good <tt>APPEL.BAT</tt>) should be adopted in order for <bf>SATUPDAT.EXE</bf> can update <em>sat</em> tracking data and, after that, to erase AMSAT.TXT because it is not needed anymore. Well, I haven't found a way to manage that in both WinFBB and LinFBB. Actually, whenever I perform housekeeping from either of them, it seems that AMSAT.TXT remains intact. Happily, it doesn't grow too much, so it's not a big problem. Any suggestion here? </itemize> <p> <sect>How to install Protus password utility <p> <em>Notice: Well, I have been using Protus connection filters for a long time now. At first, it was version 3.1/1.2 for DosFBB515c and, later, version 3.3 for Dos/WinFBB700. I have found Protus as very useful utility because of its implementation of BBS-to-BBS forwarding protection using MD2 algorythm. One of the reasons I am going to cover Protus in this document is a fact that its author haven't made a manual in english yet. I keep trying to translate the original manuals from spanish into english, but it is a hard process. Any good 'spanish-to-english' translator is welcomed to contact me: <htmlurl url="mailto:m.skoric@eunet.yu" name="m.skoric@eunet.yu">.</em> <p> Protus offers several interesting features: <p> <itemize> <item>It can send a presentation message to all users, informing about possibility to make users' access more safe, <p> <item>It can send messages to users who have normal access, informing about utility's existence, <p> <item>It can send messages to users who have no valid access (before disconnecting them), <p> <item>It can send messages to new users who have connected the BBS for the first time, informing them about the password utility. <p> <item>It can send messages to users who have entered wrong password (before disconnecting them), <p> <item>It can inform sysop about almost everything related to users' connections (new user on the system, unsuccessful connections etc), <p> <item>Messages mentioned above could be translated into various languages and used similarly as various language files that FBB uses, <p> <item>Messages mentioned above could be different for different BBS ports, <p> <item>Protus could be activated/deactivated at various intervals of time using CRON.SYS system file, <p> <item>Passwords could be managed remotely, using an external server, developed by Jose EB5IVB, <p> <item>... </itemize> <p> Well, let's see what should be done in order to implement secure access to the FBB packet radio BBS, using Protus type of, so called, <em>c_filter</em>: <p> <itemize> <item>Users of Dos/WinFBB versions of Protus already know that it is needed to create a new directory <bf>\FBB\PROTUS</bf> where several *.PRT files should be placed. In addition, the main C_FILT*.DLL files should be copied into <bf>\FBB\BIN</bf> as well as a couple of "system", (i.e. config) *.PRT files that are going to be within <bf>\FBB\SYSTEM</bf> directory. <p> <item>After the sysop has copied all files into the proper locations, it is needed to make some configuration. The most important files are two "system" ones: <tt>CONFIG.PRT</tt> and <tt>USERS.PRT</tt> that should be carefully adopted to any particular situation. Other *.PRT files will work as they are in original, but they might be translated because they are originated in spanish (those files are just textual information that are sent to users who connect to the BBS). For your information, I usualy don't care much about, because my BBS's are so called "open systems". It means they work quite normal for <em>all</em> users in the same way as they worked <em>before</em> implementing Protus. Only a couple of callsigns have password installed and, when connecting, they know what they are doing, so, they don't need any additional info. Your mileage may vary. <p> <item>So far - so good. When everything mentioned is done, you have to restart your FBB in order for Protus utility to be activated. In all connections to your BBS (including console), you should see a line like this: <bf>{PROTUS-4.0}</bf> just after a line [[FBB-7.00-AB1FHMRX$]. It only gives an information that Protus is active on the system. Users of your system who don't have their passwords, connect just normally as before. Users who's callsigns have password implemented, are prompted for password just after their connections. <p> <item>The author of Protus, Jesus EB5AGF, has made several working "modes" of its utility. It is possible for users to get various kinds of security: a fixed phrase as a password (similar when you connect to the Internet via telephone line, but this way the phrase can be masqueraded within the longer answer); a changeable answer to the 5 numbers (just like usual FBB sysop's password); a mode that uses automatic answer from user's client packet programs; implementation of MD2 and MD5 algorythms; FBB-to-FBB automatic forward protection etc. FYI, my WinFBB is equipped with 16-bit Protus 4.0 (13. August 1999). There is also a 32-bit module of the same date that would be called from within 32-bit WinFBB (I haven't tested those two). <p> <item>Well, the situation regarding working location of Protus files under LinFBB is somewhat different. I have become familiar to the directory structure that DosFBB and WinFBB versions of Protus have been using, so I considered that it was enough just to copy the same directory structure when I started the installation of Protus under LinFBB. It was wrong. After having pulled out the remaining hair, the things started to work, so, now I am going to tell you what to do. <p> <item>I have already told you that I have been running here both WinFBB under Windows NT and LinFBB under Linux (see also <tt>Linux+WinNT mini-HOWTO</tt> and <tt>Lilo mini-HOWTO</tt>). That means all Protus stuff has already been installed in a way WinFBB has required, except <em>Linux</em> executable of <em>c_filter</em> file. I put that file into <bf>/fbb/bin</bf> directory and, after the next restart of LinFBB, I got the info mentioned above: {PROTUS-4.0}. But the password protection was not likely to work. I was told to make a new directory <bf>/var/ax25/fbb/protus</bf> and put *.prt files there. I <em>didn't move</em> *.PRT files from <bf>\FBB\PROTUS</bf> but <em>copied</em> them into the new location, because I wanted Protus to run further under WinFBB as before. The utility still didn't want to run, unless I copied <em>also</em> *.PRT files from <bf>\FBB\SYSTEM</bf> to the new location (<bf>/var/ax25/fbb/protus</bf>). After I did that, Protus became fully functional. <p> <item>Well, I suppose, the above info would be useful for those of you who intend to run *both* Windows and Linux FBB's on the same machine. For the majority of LinFBB-only users, it is just important to make <bf>/var/ax25/fbb/protus</bf> where <em>all</em> *.prt files should be placed. <em>Only</em> c_filter executable should go to <bf>/fbb/bin</bf> and that's it. <p> <item>About FBB-to-FBB protection: *both* partners have to install Protus. Password for the forwarding partner's callsign must be the same at *both* sides of the link. The versions of Protus don't need to be the same (neither the versions of FBB, neither the operating systems, HI!). Anyway, MD5 algorythm will only work if both parties have Protus 4.x and above (I still don't use that, but it is not a problem, because my two boxes, DosFBB/Protus3.3 and WinFBB/LinFBB/Protus4.0, make all things ok with MD2). <p> <item>One of the interesting features of Protus is to log unsuccessful connections. Due to the <em>different</em> locations of *.prt files here, I have separate logs for WinFBB and LinFBB c_filtering. Those of you who are going to run only one version of FBB, will have <em>one</em> complete log of connection errors, your users make when they try connecting your BBS. <p> <item>As it was told earlier, if you implemented password protection for only <em>some</em> of your users (but not for all of them who connect normally) - your system is considered as an "open" one. It means that will be logged only unsuccessful tries to enter the system by "protected" callsigns. But, if you decided that your BBS can be accessed by <em>only</em> those callsigns who are protected with Protus, it means that your system is the "closed" one. Then, there is no way a user could enter your FBB unless its callsign has given a password within your Protus. Any unauthorized try to connect your BBS is logged. <p> <item>In addition, you may decide to have a "guest" access or a "read-only" as <em>default</em> for some ports and/or for users who enter the wrong password. Many combinations are possible. You could even password protect your own FBB console! <p> <item>To finish with this topic for now, just to inform you that my X11 LinFBB is equipped with Protus v4.1b7 (15. February 2000). It has some minor bugs, for example, it logs incoming connections with a SSID of -48 if a user doesn't have a SSID at all (of course, a SSID of -0 would be expectible in such case). </itemize> <p> <sect>How to install daemon version of LinFBB <p> <em>Notice: You see, folks, that I keep trying to get as many as possible versions of this great software (Jean-Paul, F6FBB, must be very proud after reading these words now). What I think when mention "as many as possible versions" means that we have learned how to get both WinFBB and X11 LinFBB on the same computer. But, that's not all. There is a variety of daemon versions of LinFBB. In this section we are going to discuss how to *add* a daemon LinFBB to the existing two: X11 LinFBB and WinFBB!</em> <p> <itemize> <item>Well, many amateurs have suggested me to install a couple of packages that weren't look to me as too much needed for LinFBB daemon - to be run. Anyway, I installed those packages <em>before</em> the installation of LinFBB itself: <p> <tscreen><verb> libax25.rpm ax25apps.rpm ax25tool.rpm </verb></tscreen> <p> <item>Now it is the right time to install <tt>fbbsrv.rpm</tt> package. The archive was composed to make its own directories, as "base" directories. The last new version to start with, that I have managed to find as a <tt>.rpm</tt> package, was 7.01f Release 4 (09. December 1999). <p> <item>A file called <bf>fbb.conf</bf>, serving as the replacement for <bf>init.srv</bf>, is placed in the location: <bf>/etc/ax25/fbb.conf</bf> <p> <item><em>Unless</em> you are going to install daemon-<em>only</em> system, you should make a backup of the following existing files: <p> <tscreen><verb> dirmes.sys etat.sys heard.bin inf.sys statis.dat tpstat.sys </verb></tscreen> <p> <item>Now you have to edit <bf>/etc/ax25/fbb.conf</bf> and change some paths in case you already have X11 LinFBB installed on a <em>different</em> path. Here you have some examples that cover my particular situation... <p> <item>Directory of data files, instead of /var/ax25/fbb, should be <bf>/mnt/win/fbb/system</bf> <p> <item>Directory of config files, instead of /etc/ax25/fbb, should be <bf>/mnt/win/fbb/system</bf> <p> <item>Directory of message files, instead of /var/ax25/fbb/mail, should be <bf>/mnt/win/fbb/mail</bf> <p> <item>Directory of compressed files, instead of /var/ax25/fbb/binmail, should be <bf>/mnt/win/fbb/binmail</bf> <p> <item>Directory of users, instead of .../home/fbbdos/..., should be ...<bf>/mnt/win/fbb/users</bf>... (case you don't mind that both your WinFBB and LinFBB users handle the same location for users' files) <p> <item>Directory of YAPP files, instead of /home/fbbdos/yapp, should be <bf>/mnt/win/fbb/users/yapp</bf> (the same reason as above) <p> <item>Directory of documentation files, instead of /var/ax25/fbb/docs, should be <bf>/mnt/win/fbb/docs</bf> <p> <item>Directory of pg programs, instead of /usr/local/pg, should be <bf>/mnt/win/fbb/pg</bf> <p> <item>Path and filename for import file, instead of C:\FBB\MAIL.IN should be <bf>/mnt/win/fbb/mail.in</bf> <p> <item>Now you have to edit <bf>/usr/sbin/xfbb.sh</bf> and change some paths in case you already have running X11 version of LinFBB on a <em>different</em> path. Here you have an example that cover my particular situation... <p> <item>Base directory of XFBB software, instead of /var/ax25/fbb, should be <bf>/mnt/win/fbb</bf> <p> <item>So far - so good. Now it is the time to start LinFBB daemon. The command for that is in the location: <bf>/usr/sbin/xfbb.sh</bf> and it may be executed within an <em>xterm</em>. If everything is OK, you should get several system messages on your screen, ending with something like: <p> <tscreen><verb> xfbbC/X server running ... xfbbd ready and running ... </verb></tscreen> <p> <item>Well, daemon itself can't be used to access the BBS so it is needed to activate a <em>client</em> that is <bf>/usr/sbin/xfbbC</bf>. It has a couple of parameters (a callsign/password pairs that are stored in <bf>/fbb/passwd.sys</bf>). Note that xfbbC can also be activated within another <em>xterm</em>. <p> <item>If you are like me, you would like to activate one more <em>xterm</em> with xfbbC in a way to monitor your radio frequency. If you have enough room on your screen, you may place all three <em>xterm</em> windows side by side. <p> <item>When you finish your xfbbC console session, it is suitable to use the same <em>xterm</em> to eventually stop the daemon. First of all, with the command <bf>ps ax</bf> you should locate PIDs of xfbb.sh shell and daemon itself, that you may <bf>kill</bf> after that. </itemize> <p> <sect>How to install an "upgrade" to daemon version of LinFBB <p> <sect1>LinFBB v7.02g <p> <em>Notice: Well, the main trouble I have discovered with 7.01f daemon was the absence of Protus c_filter protection. As I told you before, Protus is a "third-party" product, so it might have some problems with the compatibility to LinFBB itself. Anyway, it is also possible that a daemon version of LinFBB has some special requirements over some "third-party" software.</em> <p> <itemize> <item>I also noticed that my version of Protus was <em>newer</em> than the version of daemon LinFBB I had at first. Beside that, some hams, as well as F6FBB himself, have suggested me to upgrade LinFBB. I have also found a "problem" that I am still new in compiling Linux software, so, I'd rather look for pre-compiled packages to install easily. <p> <item>Jose, HI8GN, has offered daemon LinFBB v7.02g as a <tt>.rpm</tt> package (18 September 2000). I got it from his site: <url url="http://hi8gn.dynip.com/indice.html" name= "http://hi8gn.dynip.com/indice.html">. But, when I tried to install it <em>over</em> the previous version 7.01f, it complained about some existing LinFBB files. <p> <item>Then I had to uninstall the old package, after what some config files remained in their locations, but with new <tt>.rpmsave</tt> extensions. It was nice, so I could use them later to update my new-installed config files. <p> <item>Btw, the installation of Jose's package was performed without problems, but the new daemon was not likely to run as I expected, although I tried to configure it as best as I could. Not quite sure, but it looked to me that F6FBB is likely to implement some changes not only to the main executables but to shell files too. So, I have decided to save copies of these new <tt>xfbbd</tt> and <tt>xfbbC</tt> executables from 7.02g package (I have made it with adding extensions like .702 to the files). After that, I *uninstalled* the rest of that 7.02 <tt>.rpm</tt>, in order to install the previous version of LinFBB once again - the version that I was satisfied with. <p> <item>So far - so good. The "old" 7.01f version was installed again and tested one more time to be sure it was ok. Then, I just copied the previously saved executables from the new package, over the "old" executables. In a couple of minutes, the new daemon LinFBB v7.02g has come in place and function. Comments...? <p> <item>Well, the new daemon is likely to check for some more directories than the older version (mostly regarding <tt>7plus</tt> operations). Next, its <tt>xfbbC</tt> console client looks better than the previous version. But, I still miss <tt>xfbbX</tt> client, that I have found not functional. I hope it will be fixed soon. Finally, Protus <tt>c_filter</tt> utility is active too. <p> <item>An interesting question might be: is that now a really upgraded LinFBB daemon or not? Actually, I haven't changed the "old" script <tt>xfbbd.sh</tt> with the new one, because during the first tests with the new 7.02 I was getting lots of error messages. Looks that the directory structure was a bit complicated for me to set properly within the new version of <tt>xfbbd.sh</tt>. After I returned to <tt>xfbbd.sh</tt> from 7.01 package, the BBS finally started to be run, though without some functions like over-night maintaining (that one problem I solve in a way to boot the BBS as WinFBB under Windows NT where that task is ok). In addition, there are still some mysterious messages telling that <tt>m_filter</tt> has not been found or something like that. The next tasks are to solve these issues. </itemize> <p> <sect1>LinFBB v7.03 <p> <em>Notice: As I have said in the previous section, I haven't found an easy way to upgrade FBB's (its main executables), without temporary uninstalling an older version, then to install the new version - in order to get new executables. After that is done, a reverse procedure must be put in place.</em> <p> <itemize> <item>Well, it was needed to get 7.03 package (09 December 2000) as an <tt>.rpm</tt> package from <url url="http://www.f6fbb.org/versions.html" name="www.f6fbb.org/versions.html">, that was suggested by Jean-Paul, F6FBB. Anyway, soon after there appeared several mirror sites, offering 7.03 too. <p> <item>If you use <em>GnomeRPM</em>, it is easy to uninstall your actual LinFBB (If you just try to install new <tt>.rpm</tt> over the existing LinFBB you will get some error messages complaining that you already have FBB installed on the computer). Anyway, after the uninstallation, there you will find some config files as <tt>.rpmsave</tt> files, so you could use them later again. <p> <item>Installation of 7.03 package will give you new executables in <bf>/usr/sbin</bf> directory. Those new executables should be temporary given extensions like <tt>.703</tt> (for example). <p> <item>So far - so good. Now you should *uninstall* the 7.03 package (of course, <tt>.703</tt> files won't be unistalled automatically). <p> <item>Once again, you should *install* the <em>last</em> one version of LinFBB daemon, that works ok with its own <tt>xfbb.sh</tt> (in my case, that is 7.01f). <p> <item>For sure, many of you might find it odd, but now it is the right time for the executables from <bf>/usr/sbin</bf> (I mean of all fbb executables, except those who were renamed to <tt>.703</tt>) to get their new extensions (in my case, that is <tt>.701</tt>). <p> <item>Well, after that is performed, <tt>.703</tt> files should *lose* their previously attached extensions, in order to become usable. <p> <item>Folks, on that point I usually hold my breath, <bf>cd</bf> to <bf>/usr/sbin</bf> and type: <bf>xfbb.sh</bf> following with an Enter. If everything is fine, several lines should scroll on the screen, ending with something like: <p> <tscreen><verb> xfbbC/X server running ... xfbbd ready and running ... </verb></tscreen> <p> <item>If you don't get something similar on your <em>xterm</em> 'window' (or on other appropriate terminal utility), you're out of luck, so you might go thru the procedure once again in order to be sure you did all what was needed to be done :-> <p> <item><bf>/usr/sbin/xfbbC</bf> is the easiest way to check if your new 7.03 is in the game or not. When I mention xfbbC it is good to let you know, that I kept living in a belief that xfbbC is also useful for regular telnet users (who are also supposed to 'connect' to the BBS via the same computer's console, where LinFBB is running from). But, I have discovered that my users, who were <em>not</em> declared as sysops, are allowed to read all messages (including all private messages), as well as to have some other sysop's abilities. I did think it was a matter of probably wrong declared security flags. But, it was not. <p> <item>Recently, I was informed that <bf>xfbbC</bf> is suitable only for sysops, but other users (who also might have local keyboard access) should rather try: <p> <tscreen><verb> telnet localhost 6300 </verb></tscreen> <p> <item>... where 'localhost' and '6300' may vary from system to system. I was pleasently surprised when discovered that <bf>telnet</bf> is much more useful for regular users than <bf>xfbbC</bf>. <p> <item>Folks, I think of making a section about the FBB's system configuration. Until something like that appear on the net, you should know that all of those callsigns who are going to use <bf>xfbbC</bf> have to be added into your <tt>passwd.sys</tt> file. And, all of those who are going to <bf>telnet</bf> into the BBS have to be declared as users with a 'M' flag (modem users). It is up to your security precautions, if either of them will have <em>'root'</em> abilities to the Linux box. <p> <item>My next issue is to use an old 286/12 MHz box, having 1 MB of RAM and running DOS 5.0 as a 'telnet client' computer. That box also has a NIC and I would like to 'connect' to the BBS computer from that 'telnet client' box. Due to my preparation for starting another LinFBB in the local school club, where I should have several old 286 boxes, would be nice to offer more than one kid to 'connect' the BBS simultanously, using a bunch of 'telnet client' computers. </itemize> <p> <sect1>LinFBB v7.04 <p> <em>Notice: Maybe I have already told you that I use Red Hat 6.2 at home. That's why I usualy look for <tt>.rpm</tt> packages that have been made for that Linux distribution. And not only that. I have also tried Red Hat 7.1 but it seemed not to support Xwindows LinFBB 7.00g (04 August 1998). When I saw that, I switched back to Red Hat 6.2.</em> <p> <itemize> <item>Well, <tt>xfbb-7.04-2.i386.rpm</tt> (07 August 2001) have been downloaded from <url url="http://www.f6fbb.org/versions.html" name="www.f6fbb.org/versions.html"> <p> <item>Folks, this time I decided to install v7.04 as a completely "fresh" installation, i.e. without parts of a previous daemon on the disk. It means that I have uninstalled previous daemon version of LinFBB and, in addition, removed all older executables (of course, before the uninstalation, I made the backup of some config files that are not version depending (like <tt>/etc/fbb.conf</tt>), in order not to edit usual "defaults" again and again :-) <p> <item>The setup procedure has reported some dependency issues. I didn't want to get bored with them so I did install the package once again with "--force" and "--nodeps" options. <p> <item>So far - so good. Then I replaced a couple of default files with the saved ones, then mounted WinFBB's FAT partition, made a pray and started LinFBB's daemon. In order to accomplish that, it was a new experience to try HI8GN's script <bf>/usr/sbin/fbb start</bf> within an <em>xterm</em> to start the thing. Although there was no usual <p> <tscreen><verb> xfbbC/X server running ... xfbbd ready and running ... </verb></tscreen> <p> on the screen, TNC's <em>PTT</em> lamp showed that a beacon was transmitted. <p> <item>Then I wanted to use HI8GN's <bf>/usr/sbin/monitor</bf> to see what's going on on the frequency. Although I got something like <p> <tscreen><verb> Connecting localhost ... Ok Authentication in progress ... Ok Monitoring channel 0 ... </verb></tscreen> <p> there wasn't any traffic on the screen. In order to really monitor the channel, I had to start another <em>xterm</em> and type: <p> <tscreen><verb> telnet localhost 6300 </verb></tscreen> <p> and from FBB's prompt enter the gateway, type the "M" command you are familiar with etc. But, interestingly, as soon as I telnet'ed to the BBS, <bf>/usr/sbin/monitor</bf> window, mentioned above, started to copy whatever was going on the telnet xterm (until that telnet session was closed). I wondered if that was ok or not because I expected to see the traffic passing thru the channel - regardless being connected to the system or not. Any suggestion here? <p> <item>Well, then I wanted to use <bf>/usr/sbin/bbs</bf> in order to connect to the client_console (<em>xfbbC</em>). Looks that there was a line in HI8GN's script: <p> <tscreen><verb> xfbbC -c -f -h localhost -i [callsign] -w [password] </verb></tscreen> <p> with missing ./ (dot+slash) before xfbbC, so the script was not likely to be executed, but reported that a command couldn't be found. Anyway, <em>xfbbC V3.01</em> itself seemed to work Ok. It *is* possible to monitor the channel from here too (using the "M" command under the gateway), but this is also a bad solution because while "Monitor ON", it is not confortable to do anything else. Solutions welcomed! <p> <item>Though <em>xfbbC</em> session can be easily terminated with "B" ("bye") command, a fooled <bf>/usr/sbin/monitor</bf> can not. Its process have to be found with <bf>ps ax</bf> and then killed. <p> <item>At the end of the game, daemon itself should be stopped. HI8GN's script <bf>/usr/sbin/fbb stop</bf> returns: <p> <tscreen><verb> Shutting down xfbbd: [OK] </verb></tscreen> <p> but <bf>/usr/sbin/fbb status</bf> reports: <p> <tscreen><verb> Checking, the FBB daemon xfbbd (pid) is running... </verb></tscreen> <p> Looks that <bf>/usr/sbin/fbb stop</bf> does not terminate daemon *every* time the command is executed, but re-start it (the only difference is the new PID of the process and <bf>ps ax</bf> also shows this new PID). So, there is a question why it returns that [OK] when it is obvious that daemon is not stopped, but re-started. <p> <item>Well, if you are like me, you may also want to experiment with sysop's commands under <em>xfbbC</em> session. For example, "/R" command (Reboot PC) shuts down <em>xfbbC</em> and <bf>/usr/sbin/fbb status</bf> reports: <p> <tscreen><verb> Checking, the FBB daemon xfbbd dead but subsys locked </verb></tscreen> <p> while "/A" command (Stop BBS) does the same but returns: <tscreen><verb> Stop-request accepted, no connection. </verb></tscreen> <p> before shutting down <em>xfbbC</em> itself. <p> Further tries to re-start either <em>xfbbC</em> or fbbd (using <bf>/usr/sbin/fbb start</bf>) are not successful, unless <bf>/usr/sbin/fbb stop</bf> is executed in addition: <p> <tscreen><verb> Shutting down xfbbd: [FAILED] </verb></tscreen> <p> Then <bf>/usr/sbin/fbb status</bf> reports: <p> <tscreen><verb> Checking, the FBB daemon xfbbd is stopped </verb></tscreen> <p> so, daemon might be re-started again. Here it is also mysterious why it returns that [FAILED] when it is obvious that daemon is really stopped. <p> There are some other commands: "/K" (Reboot BBS with housekeeping), "/M" (Reboot BBS imediatelly) and "/L" (Reboot BBS, waiting users to disconnect) - all of them with slightly different behaviour. Anyway, those three have something in common: they re-start daemon (with different PIDs, of course). <p> <item>Finally, what I would like to have is to manage housekeeping and other maintaining tasks. 'Till now, that is not accomplished. I suppose that I should make some more customization of system paths. Any suggestion is welcomed. </itemize> <sect>Further information <p> <sect1>Copyright <p> Copyright (c) 2001 by Miroslav "Misko" Skoric, YT7MPB. <P> Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is available from <a href="http://www.fsf.org/licenses/fdl.html">http://www.fsf.org/licenses/fdl.html</a>. <sect1>Disclaimer <p> Use the information in this document at your own risk. I disavow any potential liability of this document. Use of the concepts, examples, and/or other content of this document is entirely at your own risk. All copyrights are owned by their owners, unless specifically noted otherwise. Use of a term in this document should not be regarded as affecting the validity of any trademark or service mark. Naming of particular products or brands should not be seen as endorsements. You are strongly recommended to take a backup of your system before major installation and backups at regular intervals. <sect1>News <p> This is not the first release of this mini-HOWTO. I hope to improve it whenever possible. Beside that, there are other documents that may help you to use amateur radio stuff on your computer. You may look for AX.25 (mini-)HOWTO at the same location where you get FBB mini-HOWTO. <em>This mini-HOWTO would be improved from time to time. If you think that the HOWTO on your Linux installation CD is some out-of-date, you may check for newest release on the Internet. It could be found within the main <url url="http://www.linuxdoc.org/" name="Linux Documentation Project"> homepage. </em> <sect1>Credits <p> <em>This version of mini-HOWTO can thanks to:</em> <tscreen><verb> Jean-Paul Roubelat, F6FBB, the author of FBB. Per Olsen, LA6CU, the author of FBB documentation. Jesus R., EB5AGF, the author of Protus. Jose Marte, HI8GN, the packager of 7.02g package. </verb></tscreen> Any comments or suggestions can be mailed to my email address: <htmlurl url="mailto:m.skoric@eunet.yu" name="m.skoric@eunet.yu">. <sect1>HOWTO <p> <nidx>disk!information resources!HOWTOs</nidx> These are intended as the primary starting points to get the background information as well as show you how to solve a specific problem. Some relevant HOWTOs are <tt/Bootdisk/, <tt/Installation/, <tt/SCSI/ and <tt/UMSDOS/. The main site for these is the <url url="http://metalab.unc.edu/LDP/" name="LDP archive"> at Metalab (formerly known as Sunsite). <sect1>Mini-HOWTO <p> <nidx>disk!information resources!mini-HOWTOs</nidx> These are the smaller free text relatives to the HOWTOs. Some relevant mini-HOWTOs are <tt/Backup-With-MSDOS/, <tt/Diskless/, <tt/LILO/, <tt/Large Disk/, <tt/Linux+DOS+Win95+OS2/, <tt/Linux+OS2+DOS/, <tt/Linux+Win95/, <tt/Linux+WindowsNT/, <tt/Linux+NT-Loader/, <tt/NFS-Root/, <tt/Win95+Win+Linux/, <tt/ZIP Drive/, <tt/FBB packet-radio BBS/. You can find these at the same place as the HOWTOs, usually in a sub directory called <tt/mini/. Note that these are scheduled to be converted into SGML and become proper HOWTOs in the near future. <sect1>Local Resources <p> <nidx>disk!information resources!local</nidx> In most distributions of Linux there is a document directory installed, have a look in the <htmlurl url="file:///usr/doc" name="/usr/doc"> directory. where most packages store their main documentation and README files etc. Also you will here find the HOWTO archive ( <htmlurl url="file:///usr/doc/HOWTO" name="/usr/doc/HOWTO">) of ready formatted HOWTOs and also the mini-HOWTO archive ( <url url="file:///usr/doc/HOWTO/mini" name="/usr/doc/HOWTO/mini">) of plain text documents. Many of the configuration files mentioned earlier can be found in the <htmlurl url="file:///etc" name="/etc"> directory. In particular you will want to work with the <htmlurl url="file:///etc/fstab" name="/etc/fstab"> file that sets up the mounting of partitions and possibly also <htmlurl url="file:///etc/mdtab" name="/etc/mdtab"> file that is used for the <tt/md/ system to set up RAID. The kernel source in <url url="file:///usr/src/linux" name="/usr/src/linux"> is, of course, the ultimate documentation. In other words, <em>use the source, Luke</em>. It should also be pointed out that the kernel comes not only with source code which is even commented (well, partially at least) but also an informative <url url="file:///usr/src/linux/Documentation" name="documentation directory">. If you are about to ask any questions about the kernel you should read this first, it will save you and many others a lot of time and possibly embarrassment. Also have a look in your system log file ( <htmlurl url="file:///var/log/messages" name="/var/log/messages">) to see what is going on and in particular how the booting went if too much scrolled off your screen. Using <tt>tail -f /var/log/messages</tt> in a separate window or screen will give you a continuous update of what is going on in your system. You can also take advantage of the <htmlurl url="file:///proc" name="/proc"> file system that is a window into the inner workings of your system. Use <tt/cat/ rather than <tt/more/ to view the files as they are reported as being zero length. Reports are that <tt/less/ works well here. <sect1>Web Pages <p> <nidx>disk!information resources!WWW</nidx> <nidx>disk!information resources!web pages</nidx> There is a huge number of informative web pages out there and by their very nature they change quickly so don't be too surprised if these links become quickly outdated. A good starting point is of course the <url url="http://www.linuxdoc.org/" name="Linux Documentation Project"> home page, an information central for documentation, project pages and much, much more. Please let me know if you have any other leads that can be of interest. <sect>Getting help <p> <nidx>(your index root)!assistance, obtaining</nidx> In the end you might find yourself unable to solve your problems and need help from someone else. The most efficient way is either to ask someone local or in your nearest Linux user group, search the web for the nearest one. Another possibility is to ask on Usenet News in one of the many, many newsgroups available. The problem is that these have such a high volume and noise (called low signal-to-noise ratio) that your question can easily fall through unanswered. No matter where you ask it is important to ask well or you will not be taken seriously. Saying just <it/my disk does not work/ is not going to help you and instead the noise level is increased even further and if you are lucky someone will ask you to clarify. Instead describe your problems in some detail that will enable people to help you. The problem could lie somewhere you did not expect. Therefore you are advised to list up the following information on your system: <descrip> <tag/Hardware/ <itemize> <item>Processor <item>DMA <item>IRQ <item>Chip set (LX, BX etc) <item>Bus (ISA, VESA, PCI etc) <item>Expansion cards used (Disk controllers, video, IO etc) </itemize> <tag/Software/ <itemize> <item>BIOS (On motherboard and possibly SCSI host adapters) <item>LILO, if used <item>Linux kernel version as well as possible modifications and patches <item>Kernel parameters, if any <item>Software that shows the error (with version number or date) </itemize> <tag/Peripherals/ <itemize> <item>Type of disk drives with manufacturer name, version and type <item>Other relevant peripherals connected to the same busses </itemize> </descrip> Remember that booting text is logged to <tt>/var/log/messages</tt> which can answer most of the questions above. Obviously if the drives fail you might not be able to get the log saved to disk but you can at least scroll back up the screen using the <tt/SHIFT/ and <tt/PAGE UP/ keys. It may also be useful to include part of this in your request for help but do not go overboard, keep it <em/brief/ as a complete log file dumped to Usenet News is more than a little annoying. </article>