===== HOWTO: Interface FBB BBS with XRouter (XrLin / XrPi / XrWin) ===== [[packet:xrouter:howtos|Back to XRouter HOWTOs Page]] 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. [[packet:xrouter:howtos|Back to XRouter HOWTOs Page]]