Xfbb interface with Linbpq

In bpq32.cfg add

TNCPORT
COMPORT=/home/pi/fbbded
TYPE=DED
STREAMS=1
APPLMASK=4
ENDPORT

This creates a DED Host mode TNC on device /home/pi/fbbded, accessible from the LinBPQ Node as Application 3. Change APPLMASK and APPLICATION line if you already use APPL 3

APPLICATION 3,FBB,,PI1LAP,LINBBS,255

This allows uses to connect to FBB. You can add the usual Call, Alias and Quality if you want to be able to access FBB directly instead of via the Node.

Change APPLMASK and APPLICATION line if you already use APPL 3

In /usr/local/etc/ax25/fbb/port.sys#

# FBB7.0.8-beta8
#
#Ports TNCs
1 1
#
#Com Interface Adress (Hex) Baud
1 9 /home/pi/fbbded 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 6 1 1 250 2 1 10 00/15 DUWYL 145
#
# End of file.
#

This tells fbb to use /home/pi/fbbded as a DED Mode TNC.

Installing Direwolf and LinBPQ on Raspian Stretch

Jeff KP3FT has written a nice document about the installation of Direwolf and Linbpq on a Raspberry with raspbian Stretch. Download the complet document here.

Dire Wolf

Installing Direwolf and linBPQ on a new Raspian Stretch installation.  It’s a combination from various websites and documentation, condensed down into a straightforward walkthrough.  This doesn’t include configuration of most BPQ settings, only enough to get it to use Direwolf as a modem.

Older Raspian versions like Jessie may require Pulse Audio removed first, prior to installing Direwolf.  Raspian Stretch by default does not have Pulse Audio installed.  My Raspian config settings have SSH and VNC enabled.

First:

sudo apt-get update
sudo apt-get upgrade
sudo reboot now

After it restarts, install libasound:

sudo apt-get install libasound2-dev

Optionally install the following if you want to enable Direwolf to use the GPIO pin on certain USB sound devices for PTT:

sudo apt-get install libudev-dev

Then install Direwolf (as of this writing, version 1.5 is the latest):

cd ~
git clone https://www.github.com/wb2osz/direwolf
cd ~/direwolf
git tag
git checkout 1.5
make -j 
sudo make install 
make install-rpi
make install-conf

Plug your USB sound device(s) into the RPi, open a terminal, and run the following to verify the system sees the USB sound device(s).

aplay -l (the smallcase letter "l", not the number "1")

If the Raspberry pi’s onboard audio is enabled, it will show up as Card 0, Device 0.  The USB sound device should show up as Card 1, Device 0.  A second USB sound device will show up as Card 2, Device 0, and so on.

Open the direwolf.conf file in a text-editor, scroll down, and enable the correct USB sound device by removing the # at the beginning of the appropriate line.  For example, on mine it is:

ADEVICE  plughw:1,0

Scroll down and change “N0CALL” to your callsign in the line:

MYCALL N0CALL

Enable the modem speed you want.  In my case, I enable 300-baud:

MODEM 300

Scroll down and enable the appropriate PTT option for your setup.
Further down, enable and change the AGWPORT and KISSPORT settings for your setup.
Optionally disable all the APRS-related lines if you don’t want to use those functions.

Save the file and run Direwolf by double-clicking the desktop icon, or test-run it from Terminal with:

cd ~
direwolf

You should see packet activity if the radio is tuned on the right frequency and audio level is good.

Close Direwolf for now (CTRL-C) and install pilinBPQ (skip down to the Direwolf port section if pilinBPQ is already installed):

sudo mkdir linbpq
cd linbpq
sudo wget http://www.cantab.net/users/john.wiseman/Downloads/Beta/pilinbpq
sudo mv pilinbpq linbpq
sudo chmod +x linbpq
sudo su
setcap "CAP_NET_ADMIN=ep CAP_NET_RAW=ep CAP_NET_BIND_SERVICE=ep" linbpq
su pi
sudo mkdir HTML
cd HTML
sudo wget http://www.cantab.net/users/john.wiseman/Downloads/Beta/HTMLPages.zip
sudo unzip HTMLPages.zip
cd ~/linbpq
sudo mkdir BPQAPRS
cd BPQAPRS
sudo wget http://www.cantab.net/users/john.wiseman/Documents/Samples/APRSHTML.zip
sudo unzip APRSHTML.zip
cd ~
sudo chown -R pi:pi linbpq

Copy an existing Linux bpq32.cfg from another source to /pi/linbpq. I have an old bpq32.cfg file here which would need some substantial editing for your own setup:

https://www.qsl.net/swlkp3/Packet/bpq32(Linux).cfg .

Be sure to rename it to bpq32.cfg .If you don’t use the above bpq32.cfg file, and add one or both of these Direwolf ports in the ports section of whatever copy of bpq32.cfg you have, depending on how many Direwolf modems you want to run.  Change the port numbers to whatever works with your particular setup.  The timing settings can also be changed; these are what worked with my setup for 300-baud HF packet and 1200-baud VHF packet.

;******PORT 1 Direwolf 300-baud*****
PORT
   PORTNUM=1                 ; Port number
   ID=HF Packet 300-baud     ; PORTS command text
   TYPE=ASYNC                ; RS232 connection
   IPADDR=127.0.0.1          ; DIREWOLF
   TCPPORT=8001              ; DIREWOLF
   SPEED=19200
   CHANNEL=A                 ; TNC channel
   MAXFRAME=1                ; Max outstanding frames
   FRACK=5000                ; Level 2 timeout (ms)
   RESPTIME=40               ; Level 2 delayed ACK (ms)
   RETRIES=10                ; Level 2 max retries
   PACLEN=40                 ; Max packet length (bytes)
   TXDELAY=100               ; Transmit keyup delay (ms)
   SLOTTIME=100            ; CMSA interval timer (ms)
   TXTAIL=30
   PERSIST=63     ; Persistence (256/(# transmissions-1)
   DIGIFLAG=1       ; Allow Digipeat on this port
ENDPORT
;****** PORT 2 Direwolf 1200-baud *****
PORT
   PORTNUM=2                 ; Port number
   ID=VHF Packet 1200-baud   ; PORTS command text
   TYPE=ASYNC                ; RS232 connection
   IPADDR=127.0.0.1          ; DIREWOLF
   TCPPORT=8003              ; DIREWOLF
   SPEED=19200
   CHANNEL=A                 ; TNC channel
   MAXFRAME=1                ; Max outstanding frames
   FRACK=5000                ; Level 2 timeout (ms)
   RESPTIME=40               ; Level 2 delayed ACK (ms)
   RETRIES=10                ; Level 2 max retries
   PACLEN=236                 ; Max packet length (bytes)
   TXDELAY=100               ; Transmit keyup delay (ms)
   SLOTTIME=100            ; CMSA interval timer (ms)
   TXTAIL=30
   PERSIST=63     ; Persistence (256/(# transmissions-1)
   DIGIFLAG=1       ; Allow Digipeat on this port
ENDPORT

Save the file.

Start Direwolf.

Open another Terminal and start linBPQ:

cd ~/linbpq
sudo -u pi ./linbpq

It should connect to Direwolf(s) on port 127.0.0.1:8001 or whatever port(s) you set up.

Notes:
——
Multiple instances of Direwolf can run at the same time.  Each instance has its own “.conf” file.  Each conf file needs to be edited to enable whatever port and USB sound device will be used.  To do that, just edit the original “direwolf.conf” file and save it under a new name, such as “direwolf_HF.conf”, etc.  Start each instance in Terminal using the “-c” switch to point Direwolf to the correct “.conf” file.  In my setup, I start the first Direwolf instance in Terminal with “direwolf -c direwolf.conf”.  The second instance is started in another Terminal with “direwolf -c direwolf_HF.conf”.

Direwolf has several options that can be used in the command line.  Three that I find particularly useful are the “-q”, -T”, and “-x” options.  By default, Direwolf shows audio in/out levels in its Terminal screen.  This can be turned off with “-q h”.  For example, when I run my HF 300-baud instance of Direwolf to disable audio reports, I run “direwolf -c direwolf_HF.conf -q h”

To show timestamps of sent and received packet frames, use the “-T” option with “%H:%M:%S”.  Example: “direwolf -c direwolf_HF.conf -q h -T %H:%M:%S” to disable audio reporting and show timestamds in hours-minutes-seconds format.

The “-x” option immediately starts Direwolf transmitting calibration tones, which I use mostly to key the transciever for tuning the antenna when I switch bands.  Example: “direwolf -c direwolf_HF.conf -q h -T %H:%M:%S -x”.  Enter CNTRL-C to stop the transmit.

The complete list of command-line options are in the Direwolf user guide, pages 126 through 128: https://github.com/wb2osz/direwolf/tree/master/doc

Fldigi and BPQ32

KP3FT post a example of how to setup FLdigi and BPQ32.

In the bpq.cfg driver settings, you will have to make changes for your own setup, but it does work.  For example, set the path to wherever your FLdigi executable is on your computer.  Also, set the default FLDigi mode to what you want.  In mine, the line “DEFAULTMODEM=PSK250R/1300” sets it to start FLDigi’s robust version of PSK-250 at 1300-hz waterfall frequency

bpq32.cfg

; FLDIGI KISS AX25
PORT
 PORTNUM=3
 ID=FLDigi
 DRIVER=fldigi
 KISSOPTIONS=FLDIGI
 PACLEN=30
 CONFIG
  ADDR 127.0.0.1 7342 PATH C:\fldigi4016-17\Fldigi-4.0.16.07\fldigi.exe
  TIMEOUT=10
  RETRIES=6
  WINDOW=16
  DEFAULTMODEM PSK250R/1300
  UPDATEMAP
ENDPORT

FLdigi Setup

 

Bpq32 Log options

John G8BPQ has made it possible to move the log dir of linbpq and pilinbpq. Nice

I’ve uploaded versions of linbpq and pilinbpq to my beta download site
that allow you to move the log directory. Start with a command line
parameter of logdir=directory, eg

../pilinbpq logdir=/dev/shm

 

You can download the new version here.

http://www.cantab.net/users/john.wiseman/Documents/Downloads.html

LinBPQ Applications Interface.

LinBPQ has a facility to make a tcp connection from the node to an application running on the same machine. This was originally intended to connect to a shell to enable basic configuration editing, but has been generalised to allow connects to other tcp ports, thus allowing you to write your own applications to be used with LinBPQ.

Edit
Henk, pointed out that there was something missing in this story. Nowadays we mainly work with Systemd in the newer version of Linux. So the inetd (internet super server) is no longer part of this. But you can still install it. “sudo apt-get install inetutils-inetd” or the successor to inetd the Xinetd “sudo apt-get install xinetd”
Thank you Henk…

Ok, that sounds nice. Let give it a try.

Fist setup Linbpq, add de “cmdport” to the telnet port section.

PORT
 PORTNUM=4                      ; Optional but sets port number if stated
 ID=Telnet
 DRIVER=Telnet

CONFIG
 CMS=1
 CMSCALL=PI1LAP
 CMSPASS=**********
 LOGGING=1
 DisconnectOnClose=1
 CMDPORT 63000
 TCPPORT=6309
 FBBPORT=6306
 HTTPPORT=****
 LOGINPROMPT=User:
 PASSWORDPROMPT=Password:
 MAXSESSIONS=10
 CTEXT=Welcome to PI1LAP`s Telnet Server.\nPress ? For list of commands \n\n
 USER=pd9q,pass,PD9Q,,SYSOP
ENDPORT

I have add “CMDPORT 63000” but it can by any number.

Now add a Application at the end of de bpq32.cfg

APPLICATION 7,APP,C 4 HOST 0 S

Now we have to add some stuff to /etc/services and /etc/inetd.conf

/etc/services

# Local services
bpqdemo        63000/tcp   # BPQ Demo App

/etc/inetd.conf

bpqdemo    stream    tcp    nowait    pd9q  /usr/local/linbpq/testapp.pl

Now restart inetd. sudo killall -1 inetd

I have found a small script on the internet and make some adjustments.
This script is using some perl modules that has to be installed.

cpanm Linux::SysInfo
cpanm Sys::Info
cpanm Sys::Load
cpanm Sys::MemInfo
cpanm Sys::CpuLoad

The testapp.pl script. /usr/local/linbpq/testapp.pl

#!/usr/bin/perl -w -T

# Simple information script 10/2018. PD9Q/PI1LAP

use strict;
use Sys::Info;
use Sys::Info::Constants qw( :device_cpu );
use Sys::Load qw/getload uptime/;
use Sys::MemInfo qw(totalmem freemem totalswap);
use Sys::CpuLoad;

   my $info = Sys::Info->new;
   my $cpu = $info->device('CPU');
   my $os  = $info->os;

   my $old_fh = select(STDOUT);
$| = 1;
select($old_fh);

my $line = <STDIN>;

   print "Hello " . $line . "Welcome to the LinBPQ System Info App of PI1LAP.\n";
   printf "\nWe have %s ", scalar $cpu->count;
   printf "%s-bit CPU", scalar $cpu->bitness;
   printf " %s\n", scalar $cpu->identify;
   printf "The CPU speed is: %s\n\n", scalar $cpu->speed;
   print "Operating System is\n", $os->name( long => 1 );

   print "\n\nSystem load: ", (getload())[0], "\n";
   print "System uptime: ", int uptime(), "\n\n";

   print 'load average: ',
       join(',', Sys::CpuLoad::load()), "\n\n";

   print "Total memory: ".(&totalmem / 1024)."\n";
   print "Free memory:  ".(&freemem / 1024)."\n";

   print "Total swap: ".(&totalswap / 1024)."\n";
   print "Free swap:  ".(Sys::MemInfo::get("freeswap") / 1024)."\n\n";
   print "Type exit to close\n";

while( my $line = <STDIN> )
{
    $line =~ s/\r?\n$//;
    if ($line =~ /exit/)
    {
                die "shutting down, bye,bye\n";
        }

        # do your processing here!

        print "  $line\n";
}

Now we can run the script from linbpq. Let give it a try.

root@gw:/usr/local/linbpq# telnet localhost 6309
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
User:pd9q
Password:

Welcome to PI1LAP`s Telnet Server.
Press ? For list of commands

app
Connected to APP
Hello PD9Q
Welcome to the LinBPQ System Info App of PI1LAP.

We have 1 32-bit CPU Intel(R) Pentium(R) 4 CPU 3.00GHz
The CPU speed is: 2992.432

Operating System is
Debian Linux 8.10 (kernel: 3.16.0-4-686-pae)

System load: 0.07
System uptime: 1211163

load average: 0.07,0.04,0.00

Total memory: 2062392
Free memory:  440452
Total swap: 2783228
Free swap:  2745472

Type exit to close
exit
shutting down, bye,bye
Returned to Node LAPBPQ:PI1LAP-9

http://www.cantab.net/users/john.wiseman/Documents/LinBPQ%20Applications%20Interface.html

LinBPQ with Winmor port.

With the help of the config file of Jerry, N9LYA and some help from John, G8BPQ I have setup a Winmor port on my Linbpq.I use a Microham USB II as soundcard device connected to my Windows PC and a direct Cat kabel from my Linux PC to control the TRX.

Here is the section for the Winmor port. (BPQ32.CFG)

PORT
 PORTNUM=2
 ID=HF WINMOR
 TYPE=EXTERNAL
 PROTOCOL=WINMOR
 DLLNAME=WINMOR.DLL
; INTERLOCK=6
 QUALITY=0

CONFIG

ADDR 192.168.1.145 18500 PTT CAT PATH REMOTE:C:\WINMOR\WINMOR TNC.EXE
RIGCONTROL
/dev/ttyUSB0 4800 Yaesu FT100
7,7.050,USB,W2
7,14.110,USB,W2
****
WL2KREPORT PUBLIC, api.winlink.org, 80, PI1LAP-10, JO11VN, 00-23, 7051500, WINMOR1600, 25, 50, 0, 360
WL2KREPORT PUBLIC, api.winlink.org, 80, PI1LAP-10, JO11VN, 00-23, 14111500, WINMOR1600, 25, 50, 0,360
WL2KREPORT PUBLIC, api.winlink.org, 80, PI1LAP-10, JO11VN, 00-23, 430950000, PKT9600, 10, 60, 9, 0
WL2KREPORT PUBLIC, api.winlink.org, 80, PI1lAP-10, JO11VN, 00-23, 144850000, PKT1200, 10, 60, 9, 0
CWID TRUE
DEBUGLOG True
BW 1600
DRIVELEVEL 100
MODE AUTO
ROBUST False
SHOW True
BUSYLOCK False
BUSYHOLD 5
BUSYWAIT 12

ENDPORT

WINMOR TNC.ini

[WINMOR TNC Form]
ResponseDelay=300
LeaderExtension=0
Disable=False
Waterfall=True
Spectrum=False
Top=22
Left=22
MyCallsign=PI1LAP-10
Registration=
TCP Control Port=8500
MyGridsquare=JO11VN
StartMinimized=False
DebugLog=True
CommandTrace=False
CaptureDevice=Lijningang (High Definition Audio-apparaat)-61
PlaybackDevice=Luidsprekers (High Definition Audio-apparaat)-e9
TCP Address=192.168.1.145

Winmor Status screen from Linbpq

Winmor

Tnx for the help Jerry and John.

Complex BPQ32.cfg from N9LYA

N9LYA has setup a complex system using multi modes and multi ports. Using Packet 1k2 and 9k6, Hf Packet 300Baud, Robust packet, Winmor, Ardop, Pactor, Fldigi, Axip, Telnet.

http://www.n9lya.com/

;N9LYA`s BPQ system Last Edited 9/23/18 (SCS TRACKERS FW V1.7L)
LOCATOR=EM68SR
MAPCOMMENT=BPQ32 Lawrence County In Node, City of Mitchell<BR>All Stations are welcome<BR>n9lya@n9lya.#sin.in.usa.noam
PASSWORD=******
NODECALL=N9LYA-8	; Node callsign
NODEALIAS=LYANOD		; Node alias (6 characters max)
IDMSG:			; UI broadcast text from NODECALL to fixed dest ID
Node: N9LYA - OPEN-NET - APRS & BBS NETWORK NODE LYANOD/N9LYA-8 Mitchell, IN Lawrence County - MidWest HF Skipnet Hub.
***			; Denotes end of IDMSG text
BTEXT:			; UI broadcast text from BCALL to destination UNPROTO=
Node:        N9LYA-8
BBS:         N9LYA 
RMS Gateway: K9BBS-10
CHAT Server: K9BBS-14
Midwest HF Skipnet HUB
***			; Denotes end of BTEXT text
INFOMSG:		; The INFO command text follows:
Type ? for Help BPQ32_6.0.16.30 N9LYA/K9BBS
Type BBS To Access The N9LYA Full Service-BBS:
Type RMS To Access The K9BBS-10 WL2K RMS Gateway:
Type CHAT TO Access The K9BBS-14 CHAT Server:
Type DX TO Access The N9LYA-6 DX Spider Server:
***			; Denotes end of INFOMSG text
CTEXT:			; The CTEXT text follows:
Welcome to LYANOD:N9LYA-7 Network Node Server, Mitchell, Indiana
Commands:
BBS RMS CHAT DX JNOS URONOD MSYS CONNECT INFO MHEARD LISTEN (port) NODES PORTS ROUTES USERS
***			; Denotes end of CTEXT text
FULL_CTEXT=0		; 0=send CTEXT to L2 connects to NODEALIAS only
			; 1=send CTEXT to all connectees

; Network System Parameters:

OBSINIT=6		; Initial obsolescence set when a node is included
			; in a received nodes broadcast. This value is then
			; decremented by 1 every NODESINTERVAL.
OBSMIN=4		; When the obsolescence of a node falls below this
			; value that node`s information is not included in
			; a subsequent nodes broadcast.
NODESINTERVAL=20	; Nodes broadcast interval in minutes
IDINTERVAL=10		; 'IDMSG' UI broadcast interval in minutes, 0=OFF
BTINTERVAL=60		; The BTEXT broadcast interval in minutes, 0=OFF
L3TIMETOLIVE=25		; Max L3 hops
L4RETRIES=3		; Level 4 retry count
L4TIMEOUT=60		; Level 4 timeout in seconds s/b > FRACK x RETRIES
L4DELAY=2		; Level 4 delayed ack timer in seconds
L4WINDOW=4		; Level 4 window size
MAXLINKS=63		; Max level 2 links
MAXNODES=550		; Max nodes in nodes table
MAXROUTES=64		; Max adjacent nodes
MAXCIRCUITS=128		; Max L4 circuits
MINQUAL=143		; Minimum quality to add to nodes table
MAXHOPS=4		; INP3 hop limit to add to tables
MAXRTT=90		; INP3 max RTT in seconds	
  		; possible, normally about 130, depending upon other
			; table sizes.
;



; TNC default parameters:

PACLEN=236		; Max packet size (236 max for net/rom)

LINMAIL
LINCHAT

/*
PACLEN is a problem! The ideal size depends on the link(s) over which a packet
will be sent. For a session involving another node, we have no idea what is at
the far end. Ideally each node should have the capability to combine and then
refragment messages to suit each link segment - maybe when there are more BPQ
nodes about than 'other' ones, I'll do it. When the node is accessed directly,
things are a bit easier, as we know at least something about the link. So,
currently there are two PACLEN params, one here and one in the PORTS section.
This one is used to set the initial value for sessions via other nodes and for
sessions initiated from here. The other is used for incoming direct (Level 2)
sessions. In all cases the TNC PACLEN command can be used to override the
defaults.
*/

; Level 2 Parameters:

; T1 (FRACK), T2 (RESPTIME) and N2 (RETRIES) are now in the PORTS section

T3=120			; Link validation timer in seconds
IDLETIME=3600		; Idle link shutdown timer in seconds

; Configuration Options:

AUTOSAVE=1		; Saves BPQNODES.dat upon program exit
BBS=1			; 1 = BBS support included, 0 = No BBS support
NODE=1			; Include switch support
HIDENODES=1		; If set to 1, nodes beginning with a #
			; require a 'N *' command to be displayed.

; The *** LINKED command is intended for use by gateway software, and concern
; has been expressed that it could be misused. It is recommended that it be
; disabled (=N) if unneeded.

ENABLE_LINKED=A		; Controls processing of *** LINKED command
			; Y = allows unrestricted use
			; A = allows use by application program
			; N = disabled

;

;
IPGATEWAY
Adapter eth1
44ENCAP 192.168.1.17
IPADDR 44.48.0.42
IPNetmask 255.255.255.248   
IPPorts 3,5,8,9,10,11,12,13
****
;
;
;-----------------------------
; BPQAPRS

APRSDIGI
 APRSCall N9LYA-3
 StatusMsg=BPQ32 VHF-APRS/wview-WMR968-Weather Station. {linbpq}
 Symbol=_        ; Icon to display for station. Default is House if omitted
 Symset=/
 ;
 ;    Specify a Dest and Path for each port you want to use for APRS. No dest means receive only port
 ;	  Ports without an APRSPath statement will not be used by the Digi
 ;
;APRSPath 1=APRS,WIDE1-1,WIDE2-2                         
APRSPath 1=APRS,IN1-1                                      ;Per Dwight
APRSPath 2=                                                ; Receive only port
APRSPath 3=
APRSPath 4=
APRSPath 5=                      
APRSPath 6=
APRSPath 7=
APRSPath 8=
APRSPath 9=
APRSPath 10=
APRSPath 11=
APRSPath 12=APRS,WIDE1-1,WIDE2-2
APRSPath 13=
APRSPath 14=		  
APRSPath 15=
APRSPath 16=
APRSPath 17=	
APRSPath 18=APRS,WIDE1-1,WIDE2-2
APRSPath 19=

;
  BeaconInterval=30                   ; Send Beacon every 30 minute

 ;    Define Crossport Digi. For each port, a list of ports to send a packet to (IS means send to APRS-IS)
 ;    If a Digimap isn`t specified for a port, digi out on the port the packet arrived on,
 ;	  	  and send to APRS-IS (if enabled)
 ;    If you want to digi on same port, but not send to APRS-IS, Specify Digimap n=n 
 
 ;Digimap 5=5,16,             ; Packets from 5 to 16, but not APRS-IS
Digimap 1=1,           ; Packets from 1 to 1 and NO APRS-IS
 
 ;TraceCalls=WIDE,TRACE  ; Calls for CALLN-n Processing with Trace
 TraceCalls=WIDE,IN        ; Calls for CALLN-n Processing with Trace
 FloodCalls=LYA         ; Calls for CALLN-n Processing without Trace
 DigiCalls=n9lya-3       ; Calls for Normal (ie no SSID manipulation) Digi
                        ; For a Local "Fillin" Digi, you could include WIDE1-1 and leave out TraceCalls and FloodCalls
						
 ReplaceDigiCalls       ; Replace DigiCalls with APRSCall. Omit if you want the call to be left as it is received.
						
 MaxTraceHops=2         ; Max value of n in CALLN-n processing. If a packet is received with n greater than
 MaxFloodHops=2         ; this, the value will be replaced BEFORE it is decremented.

; GPSPort=/dev/ttyACM0              ; if specified, lat/lon will be taken from a GPS
; GPSSpeed=9600
; GPSSetsLocator=1 

 ; You can specify a fixed LAT/LONG instead of using GPS

LAT=3844.42N           ; Must be in standard APRS Format
LON=08628.33W          ; Must be in standard APRS Format

 ;IGATE Params. If specified you will gate RF packets and your beacons to APRS-IS

 ;ISHost=rotate.aprs.net    ; APRS-IS Host Name
 ;ISPort=14580              ; Normal port for a filtered feed
 ;ISPasscode=12418          ; If you don`t already have a passcode I can issue you one.

 ;WXFileName=/dev/shm/aprs.pkt
 WXFileName=/var/www/mitchellwx/formateddata.txt
 WXComment=/MITWXN Mitchell IN N9LYA-3 KINMITCH1 Weather Station (linBPQ)
 WXPortList=1            ; comma separated list - include IS to send to APRS-IS
 WXInterval=3            ; mins
 
***

; Port Definitions:

PORT			;144.390 APRS 1200
 PORTNUM=1
 ID=APRS 144.390 Icom2200H    	; Displayed by PORTS command
 TYPE=ASYNC		; Port is RS232 Com
 PROTOCOL=KISS		; TNC is used in KISS mode
 FULLDUP=0		; Only meaningful for KISS devices
 COMPORT=/dev/ttyUSB7              ; # = SERIAL COM PORT 
 SPEED=38400		; RS232 COM PORT SPEED
 CHANNEL=A		; A for single channel TNC, A or B for multichannel
 PERSIST=230		; PERSIST=256/(# of transmitters-1)
 SLOTTIME=100		; CMSA interval timer in milliseconds
 TXDELAY=350		; Transmit keyup delay in milliseconds
 TXTAIL=0		; TX key down, in milliseconds, at packet end
 QUALITY=0		; Quality factor applied to node broadcasts heard on
			; this port, unless overridden by a locked route
			; entry. Setting to 0 stops node broadcasts
 MINQUAL=95		; Entries in the nodes table with qualities greater or
			; equal to MINQUAL will be sent on this port. A value
			; of 0 sends everything.
 MAXFRAME=2		; Max outstanding frames (1 thru 7)
 FRACK=6000		; Level 2 timout in milliseconds
 RESPTIME=1000		; Level 2 delayed ack timer in milliseconds
 RETRIES=5		; Level 2 maximum retry value
 PACLEN=128		; Default max packet length for this port
 UNPROTO=:		; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
 BCALL=N9LYA		; BTEXT call. unstated defaults to APPL1CALL
 L3ONLY=0		; 1=No user downlink connects on this port
 DIGIFLAG=1		; Digipeat: 0=OFF, 1=ALL, 255=UI Only
 DIGIPORT=0		; Port on which to send digi`d frames (0 = same port)
 USERS=0		; Maximum number of L2 sessions, 0 = no limit
ENDPORT
;
;
;
PORT			; 
 PORTNUM=2		; Optional but sets port number if stated
 ID=OpenNET 223.600 9.6k Backup
 TYPE=ASYNC		; Port is RS232 Com
 PROTOCOL=KISS		; TNC is used in KISS mode
 NOKEEPALIVES=1
 FULLDUP=1		; Only meaningful for KISS devices
 COMPORT=/dev/ttyUSB7 ; # = SERIAL COM PORT 
 SPEED=38400    	; RS232 COM PORT SPEED
 CHANNEL=B		; A for single channel TNC, A or B for multichannel
 PERSIST=64		; PERSIST=256/(# of transmitters-1)
 SLOTTIME=100		; CMSA interval timer in milliseconds
 TXDELAY=250		; Transmit keyup delay in milliseconds
 TXTAIL=0	; TX key down, in milliseconds, at packet end;
 QUALITY=192		; Quality factor applied to node broadcasts heard on
			; this port, unless overridden by a locked route
			; entry. Setting to 0 stops node broadcasts
 MINQUAL=175		; Entries in the nodes table with qualities greater or
			; equal to MINQUAL will be sent on this port. A value
			; of 0 sends everything.
 MAXFRAME=4		; Max outstanding frames (1 thru 7)
 FRACK=2000		; Level 2 timout in milliseconds
 RESPTIME=1000		; Level 2 delayed ack timer in milliseconds
 RETRIES=15		; Level 2 maximum retry value
 PACLEN=64		; Default max packet length for this port
 UNPROTO=Node:		; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
 BCALL=n9lya-7		; BTEXT call. unstated defaults to APPL1CALL
 L3ONLY=0		; 1=No user downlink connects on this port
 DIGIFLAG=1		; Digipeat: 0=OFF, 1=ALL, 255=UI Only
 DIGIPORT=0		; Port on which to send digi`d frames (0 = same port)
 USERS=0		; Maximum number of L2 sessions, 0 = no limit
 NOKEEPALIVES=1
 WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23, 223600000, PKT9600, 60, 35, 9
 
ENDPORT
;
;
PORT            ; AXIP/UDP Port (Internet Link) 
 PORTNUM=3		; Optional but sets port number if stated
 ID=AX/IP/UDP	(Internet Linking)	; Displayed by PORTS command
 TYPE=EXTERNAL		; Calls an external module
 DRIVER=BPQAXIP		; Uses BPQAXIP.DLL
 QUALITY=192		; Quality factor applied to node broadcasts heard on
			; this port, unless overridden by a locked route
			; entry. Setting to 0 stops node broadcasts
 MINQUAL=168		; Entries in the nodes table with qualities greater or
			; equal to MINQUAL will be sent on this port. A value
			; of 0 sends everything.
 MAXFRAME=5		; Max outstanding frames (1 thru 7)
 FRACK=5000		; Level 2 timout in milliseconds
 RESPTIME=1500		; Level 2 delayed ack timer in milliseconds
 RETRIES=5		; Level 2 maximum retry value
 PACLEN=236		; Max = 236
 NOKEEPALIVES=1
 DIGIFLAG=1
 DIGIPORT=14
 CONFIG			
 UDP 10093
 MHEARD			;Opens AXIP MHEARD window	
 AUTOADDMAP
 BROADCAST NODES
 BROADCAST QST
 MAP W9ABA-7 *.*.*.* udp 10093 B	
 MAP AE5E-14 *.*.*.* UDP 10093 B 
 MAP n0kfq-4 *.*.*.* UDP 10093 B
 MAP N4ZKF-5 *.*.*.* UDP 10093 B
 MAP KQ0I-7 *.*.*.* UDP 10093 B
 MAP VK2DOT *.*.*.* UDP 10093 B
 MAP K7MT *.*.*.* UDP 10093 B
 MAP KB8PMY-5 *.*.*.* UDP 10093 B	
 MAP N9UMJ-7 *.*.*.* UDP 10093 B
 MAP KJ6IX-4 *.*.*.* UDP 10093 B
 
;-----------------------------------------------------------------
;
PORT
 PORTNUM=4
 ID=HF_SkipNET Pactor 746Pro
 TYPE=EXTERNAL
 COMPORT=/dev/ttyUSB10            ; # = SERIAL COM PORT 
 SPEED=57600            ;COM Port Speed
 DLLNAME=SCSPactor.DLL
 QUALITY=0
 INTERLOCK=4            ;Optional - set if you have two ports sharing the same radio.
                        ; Set the same Interlock value on both ports.
 
 CONFIG                 ; Driver-Specific Configuration
 

RIGCONTROL
/dev/746-RC 19200 ICOM IC746 66 
7,3.58700,usb,f1,d,p123,w2
7,14.11100,usb,F1,d,p123,w2
7,18.10800,usb,F1,d,p123,w2
****
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23, 3587000, P123, 50, 50, 6
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23, 14112500, P123, 50, 50, 8
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23, 14112500, ARDOP1000, 50, 50, 8
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23, 18109500, P12, 50, 50, 6
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23, 18109500, ARDOP500, 50, 50, 6
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23, 14112500, WINMOR1600, 50, 50, 8
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23, 18109500, WINMOR500, 50, 50, 6 6
#
# Note that the PTC is sent the RESTART command before being initialised, so only non-default
# parameters need to be set
#
PAC BAUD 300 	; Sets the PTC Packet Modem to Packet Mode
PAC TXD 600
SCANFORROBUSTPACKET 7	; The PTC will listen for HF Packet calls for the first n seconds
#			; of each scan interval, and for Pactor the rest.
PAC MCON 6
PAC MON 6
#
 UseAPPLCallsforPactor
 TONES 4		; Standard Pactor III tones  1500 Hz audio center
 MAXERR 60		; Max retries 
 MODE 2			; ASCII mode, no PTC II compression (Forwarding will use FBB Compression)
 MAXSUM 60		; Max count for memory ARQ
 MAXDOWN 5
 MAXLEVEL 3
 MAXT 2
 MAXUP 3
 CWID 0 2		; CW ID disabled
 ADDLF 0		; Auto Line Feed disabled
 ARX 1			; Amtor Phasing disabled
 AP 100			;
 AQ 1			; Automatic Frequency Parameter
 BELL 1			; Disable Bell
 BC 0			; FEC reception is disabled
 BR 7			; 
 BKCHR 2		; Breakin Char = 2
 CHOBELL 1		; Changeover Bell off
 CMSG 0			; Connect Message Off
 CONT 3
 CWID 0 3 
 CWSPEED 100
 FREE MODE 0
 LFIGNORE 0		; No insertion of Line feed
 LISTEN 1		; Pactor Listen disabled
 LSB
 MAIL 0			; Disable internal mailbox reporting
 MYCALL N9LYA		;
 MYSELC NLYA		;
 REMOTE 0		; Disable remote control
 FSKA 750		;
 PSKA 750		; TX Output level. May need optimising. Default is 140
 STATUS 2		; Automatic Status must be enabled for BPQ32
 PTCHN 31		; Pactor must use Host Mode Chanel 31
 PDUPLEX 1		; PDuplex must be set. The Node code relies on automatic IRS/ISS changeover
 PDTIMER 6		; 5 second duplex timer 
 BUSYHOLD 8		;Busy Detect Augmentation
 BUSYWAIT 12		;
ENDPORT

;
PORT			; 440 9600 Baud 
 PORTNUM=5		; Optional but sets port number if stated
 ID=OpenNET 432.250 9.6k 	TEKK; Displayed by PORTS command
 TYPE=ASYNC		; Port is RS232 Com
 PROTOCOL=KISS		; TNC is used in KISS mode
 NOKEEPALIVES=1
 FULLDUP=0		; Only meaningful for KISS devices
 COMPORT=/dev/ttyUSB8              ; # = SERIAL COM PORT 
 SPEED=19200		; RS232 COM PORT SPEED
 CHANNEL=A		; A for single channel TNC, A or B for multichannel
 PERSIST=64		; PERSIST=256/(# of transmitters-1)
 SLOTTIME=50		; CMSA interval timer in milliseconds
 TXDELAY=150		; Transmit keyup delay in milliseconds
 TXTAIL=100		; TX key down, in milliseconds, at packet end
 QUALITY=192		; Quality factor applied to node broadcasts heard on
			; this port, unless overridden by a locked route
			; entry. Setting to 0 stops node broadcasts
 MINQUAL=175		; Entries in the nodes table with qualities greater or
			; equal to MINQUAL will be sent on this port. A value
			; of 0 sends everything.
 MAXFRAME=2		; Max outstanding frames (1 thru 7)
 FRACK=4000		; Level 2 timout in milliseconds
 RESPTIME=100		; Level 2 delayed ack timer in milliseconds
 RETRIES=15		; Level 2 maximum retry value
 PACLEN=128		; Default max packet length for this port
 UNPROTO=Node:		; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
 BCALL=N9LYA-8		; BTEXT call. unstated defaults to APPL1CALL
 L3ONLY=0		; 1=No user downlink connects on this port
 DIGIFLAG=1		; Digipeat: 0=OFF, 1=ALL, 255=UI Only
 DIGIPORT=0		; Port on which to send digi`d frames (0 = same port)
 USERS=0		; Maximum number of L2 sessions, 0 = no limit
 WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23, 432250000, PKT9600, 35, 35, 9, 205
ENDPORT
;
PORT
 PORTNUM=6
 ID=Skipnet RPR/HF 706MKIIG;(RPR and HF Packet) ;COM30
 TYPE=EXTERNAL 
 COMPORT=/dev/TrackerN40
 SPEED=38400
 DLLNAME=SCSTRACKER.DLL
 INTERLOCK=6
 CONFIG
  ;APPL BBS
RIGCONTROL
/dev/706-RC 19200 ICOM IC706 58  
7,7.1010,usb,F1,r2,w2
7,7.1030,usb,F1,r2,w2
7,7.1095,lsb,F1,h1,w1
****
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23,  7104500, ROBUST, 50, 35, 3
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23,  7102500, ROBUST, 50, 35, 3
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23,  7102500, WINMOR500, 50, 35, 3
WL2KREPORT PUBLIC, api.winlink.org, 80, K9BBS-10, EM68SR, 00-23,  7102500, ARDOP500, 50, 35, 3
#
  O 4              	; MAXFRAME
  F 190	             	; FRACK
  T 8 			; TX Delay
  DEFAULT ROBUST     	; Default mode is RP
  USEAPPLCALLS      	; Accept connects to all APPLCALLS
  %L 1500      		; Centre Freq for Normal Packet (Default is 1500)
  @I 64			;Paclen = 60
  %T 1          	:TX Autotracking 1 = on
  %N 10
ENDPORT
;
PORT
 PORTNUM=7
 ID=Telnet Server
 Driver=Telnet

CONFIG
 LOGGING=1
 DisconnectOnClose=1
 TCPPORT=8010 
 FBBPORT=8011 8012 8013 8014
 LOGINPROMPT=user:
 PASSWORDPROMPT=password:
 MAXSESSIONS=26 ;was 12
 HTTPPORT=8080
 CMS=1 
 CMSCALL=K9BBS
 CMSPASS=*********
 

  CTEXT=Welcome to K9BBS`s Telnet Server\Enter ? for list of commands

USER=N9LYA,********,N9LYA,"",SYSOP
ENDPORT
;
;
PORT
 PORTNUM=8		; WINMOR port Tracker Pair
 ID=Skipnet WINMOR 706MKIIG 7.101U
 TYPE=EXTERNAL
 PROTOCOL=WINMOR
 DLLNAME=WINMOR.DLL
 INTERLOCK=6
 QUALITY=0

CONFIG			; Winmor config
ADDR 192.168.1.12 18500 PATH REMOTE:C:\WINMORII\WINMOR TNC.EXE
CAPTURE USB audio CODEC-01
PLAYBACK USB audio CODEC-01
CWID FALSE
DEBUGLOG True
BW 1600
DRIVELEVEL 100
MODE AUTO
ROBUST False
SHOW True
BUSYLOCK False
BUSYHOLD 5             
BUSYWAIT 12  
ENDPORT
;
;
PORT
 PORTNUM=9		; WINMOR port Pactor Pair
 ID=Skipnet WINMOR 746Pro 14.111U
 TYPE=EXTERNAL
 PROTOCOL=WINMOR
 DLLNAME=WINMOR.DLL
 INTERLOCK=4
 QUALITY=0

CONFIG			; Winmor config
ADDR 192.168.1.12 18600 PATH REMOTE:C:\WINMOR\WINMOR TNC.EXE
CAPTURE USB audio CODEC-02
PLAYBACK USB audio CODEC-02
CWID FALSE
DEBUGLOG True
BW 1600
DRIVELEVEL 100
MODE AUTO
ROBUST False
SHOW True
BUSYLOCK False
BUSYHOLD 5             
BUSYWAIT 12  
ENDPORT
;
;
PORT
   PORTNUM=10
   ID=OpenNET 223.600 9.6k
   COMPORT=/dev/555;        COM Port Address
   SPEED=38400;       COM Port Speed
   DRIVER=TRKMULTI

   QUALITY=192          ;Setting to 0 stops node broadcasts on this port
   MINQUAL=175
   PACLEN=128         ;Max = 236 if using NETROM links  
   

   CONFIG             ; Driver-Specific Configuration
   M UISC
   PACKETCHANNELS 5   ; Limit to 5 simultaneous connections
   R 0                ; Digipeating OFF
   F 600             ; FRACK: Setting to 3 seconds.
   N 10               ; RETRY: Setting to 10
   O 2                ; MAXFRAME: Setting to 2
   T 35               ; TXDELAY: Setting to 1/2 second (50 * 10)
   @T2 150            ; RESPTIME: Setting interval before ack of received packet to 1.5 seconds.
   %N 5               ; TXTAIL - new TXTAIL (fw 1.5v) setting in 10ms increments.
   ; Comment out the desired speed.
   ;%B 1200            ; 1200 is the poweron default, but setting it anyway.
   %B 9600            ; 9600 
   ;
   %L +500           ; AFSK
   %XA 880           ; Set 300/1200 output amplitude to 3 kHz Peak deviation per measurement.
   %XF 1600           ; Set 9600/19k2 output amplitude to 400 mV PP per ID-880H manual.
   %E 2               ; Set lower tone in 1200 mode (fw 1.5s) to 1/2 voltage 6 dB down from high.
   
ENDPORT   
;
;
PORT
   PORTNUM=11
   ID=OpenNET 145.050 1.2k
   COMPORT=/dev/050;        COM Port Address
   SPEED=38400;       COM Port Speed
   DRIVER=TRKMULTI

   QUALITY=192          ;Setting to 0 stops node broadcasts on this port
   MINQUAL=175
   PACLEN=128         ;Max = 236 if using NETROM links  
   

   CONFIG             ; Driver-Specific Configuration
   M UISC
   PACKETCHANNELS 5   ; Limit to 5 simultaneous connections
   R 0                ; Digipeating OFF
   F 600             ; FRACK: Setting to 3 seconds.
   N 10               ; RETRY: Setting to 10
   O 2                ; MAXFRAME: Setting to 2
   T 35               ; TXDELAY: Setting to 1/2 second (50 * 10)
   @T2 150            ; RESPTIME: Setting interval before ack of received packet to 1.5 seconds.
   %N 5               ; TXTAIL - new TXTAIL (fw 1.5v) setting in 10ms increments.
   ; Comment out the desired speed.
   %B 1200            ; 1200 is the poweron default, but setting it anyway.
   ;%B 9600            ; 9600 
   ;
   %L +500           ; AFSK
   %XA 880           ; Set 300/1200 output amplitude to 3 kHz Peak deviation per measurement.
   %XF 1200           ; Set 9600/19k2 output amplitude to 400 mV PP per ID-880H manual.
   %E 2               ; Set lower tone in 1200 mode (fw 1.5s) to 1/2 voltage 6 dB down from high.
            
ENDPORT  
;
;
PORT
 PORTNUM=12
 ID=Tracker 10.1473 USB ;(RPR APRS) 
 TYPE=EXTERNAL 
 COMPORT=/dev/098
 SPEED=38400
 DLLNAME=SCSTRACKER.DLL
 INTERLOCk=12
 CONFIG
****
#
  O 4              	; MAXFRAME
  F 190	             	; FRACK
  T 8 			; TX Delay
  DEFAULT ROBUST     	; Default mode is RP
  USEAPPLCALLS      	; Accept connects to all APPLCALLS
  %L 1500      		; Centre Freq for Normal Packet (Default is 1500)
  @I 64			;Paclen = 60
  %T 1          	:TX Autotracking 1 = on
  %N 10
ENDPORT
;
;
PORT
 PORTNUM=13
 ID=HF_Skipnet NET105  ;(RPR and HF Packet Pair) 14.105 
 TYPE=EXTERNAL 
 COMPORT=/dev/105;
 SPEED=38400
 DLLNAME=SCSTRACKER.DLL
 INTERLOCK=13
 CONFIG
****
#
  O 4              	; MAXFRAME
  F 700	             	; FRACK
  T 50 			; TX Delay
  DEFAULT HFPACKET     	; Default mode is 300 Baud Packet
  USEAPPLCALLS      	; Accept connects to all APPLCALLS
  %L 1500      		; Centre Freq for Normal Packet (Default is 1500)
  @I 64			;Paclen = 60
  %T 1          	:TX Autotracking 1 = on
  %N 10
ENDPORT
;
;
PORT
PORTNUM=14
ID=HF_Skipnet ARDOP1 706MKIIG
DRIVER=ARDOP 
INTERLOCK=6
CONFIG
ADDR 192.168.1.12 8520 PATH REMOTE:C:\ARDOP1\ARDOP_WIN.EXE 
DEBUGLOG TRUE
CMDTRACE TRUE
CWID FALSE
DRIVELEVEL 100
BUSYDET 8
BUSYWAIT 20
GRIDSQUARE EM68SR
FECREPEATS 0

ENDPORT
;
;
PORT
PORTNUM=15
ID=HF_Skipnet ARDOP1 746Pro
DRIVER=ARDOP 
INTERLOCK=4
CONFIG
ADDR 192.168.1.12 8515 PATH REMOTE:C:\ARDOP2\ARDOP_WIN.EXE
DEBUGLOG TRUE
CMDTRACE TRUE
CWID FALSE
DRIVELEVEL 100
BUSYDET 8
BUSYWAIT 20
GRIDSQUARE EM68SR
FECREPEATS 0

ENDPORT
;
;
PORT
PORTNUM=16
ID=HF_Skipnet ARDOP2 746Pro
DRIVER=ARDOP 
INTERLOCK=4
CONFIG
ADDR 192.168.1.12 8522 PATH REMOTE:C:\ARDOP1\ARDOP_2WIN.EXE
DEBUGLOG TRUE
CMDTRACE TRUE
CWID FALSE
DRIVELEVEL 100
BUSYDET 8
BUSYWAIT 20
GRIDSQUARE EM68SR
FECREPEATS 0

ENDPORT
;
;
PORT
PORTNUM=17
ID=HF_Skipnet ARDOP2 706MKIIG
DRIVER=ARDOP 
INTERLOCK=6
CONFIG
ADDR 192.168.1.12 8526 PATH REMOTE:C:\ARDOP2\ARDOP_2WIN.EXE
DEBUGLOG TRUE
CMDTRACE TRUE
CWID FALSE
DRIVELEVEL 100
BUSYDET 8
BUSYWAIT 20
GRIDSQUARE EM68SR
FECREPEATS 0

ENDPORT
;
;
PORT
PORTNUM=18
ID=OpenNET ARDOP 147.555 
DRIVER=ARDOP 
INTERLOCK=16
CONFIG
ADDR 127.0.0.1 8517 PATH /home/jerry/ardop/ardopc 8517
CAPTURE USB audio CODEC
PLAYBACK USB audio CODEC
DEBUGLOG TRUE
CMDTRACE TRUE
CWID FALSE
DRIVELEVEL 100
BUSYDET 8
BUSYWAIT 20
GRIDSQUARE EM68SR
FECREPEATS 0

ENDPORT
;
/*
;
 PORT
PORTNUM=19 
ID=FLDigi-1 OpenNET
DRIVER=fldigi
PACLEN=64
INTERLOCK=8
CONFIG
 ADDR 192.168.1.12 7342 PATH REMOTE:C:\FLDIGI\FLDIGI.exe
 TIMEOUT=10
 RETRIES=5
 DEFAULTMODEM MFSK32/1000 ;5XPSK63R/1000
 UPDATEMAP
ENDPORT
;
;
;
 PORT
PORTNUM=20 
ID=FLDigi-2 OpenNET
DRIVER=fldigi
PACLEN=64
INTERLOCK=12
CONFIG
 ADDR 192.168.1.12 7442 PATH REMOTE:C:\FLDIGIII\FLDIGI.exe  
 TIMEOUT=10
 RETRIES=15
 DEFAULTMODEM MFSK32/1500 ;5XPSK63R/1000
 UPDATEMAP
ENDPORT
;
*/
;
PORT
PORTNUM=19 ;loopback
TYPE=INTERNAL
ENDPORT
;
;
ROUTES:			; Locked routes (31 maximum)
;N9PMO-2,1,3,0,0,0,1			
;
; CALLSIGN,QUALITY,PORT[,MAXFRAME,FRACK,PACLEN] 
; The values in [...] if stated override the port defaults.
***			; Denotes end of locked routes
;
APPLICATION 1,BBS,,N9LYA,INBBS,255
APPLICATION 2,RMS,C 7 CMS,K9BBS-10,INRMS,255
APPLICATION 3,CHAT,,K9BBS-14,INCHAT,255
APPLICATION 4,DX,C 3 DXLYA s,N9LYA-6,255
APPLICATION 5,JNOS,C 3 INNOS s,N9LYA-5,255
APPLICATION 6,FBB,C 3 BBSLYA s,n9lya-4,255
APPLICATION 7,URONOD,C 3 IN105 s,N9LYA-7,255
APPLICATION 8,MSYS,C 3 BBSBBS,W9BBS,255

 

DireWolf/Linpq with Systemd.

I have a bad time behind me, I have had a lot of arguments with Systemd to start DireWolf and Linpq when booting 🙂
If you like Systemd, you can read some about it here https://en.wikipedia.org/wiki/Systemd

I want Linbpq to run under /dev/tty2 and DireWolf under /dev/tty3. This is because if I login remotely I can view the monitor from DireWolf with “conspy”. “conspy 3” Hit esc a few times to leave conspy.

Systemd does not want to accept the start line with >/dev/tty3 &

ExecStart=/usr/local/bin/direwolf -c /home/pd9q/direwolf.conf -l /home/pd9q/direwolf.log >/dev/tty3

This upper start line does not work.

So I had to come up with something else for that. So i wrote a start file. “direwolf.start”

cd /usr/local/bin
./direwolf -c /home/pd9q/direwolf.conf -l /home/pd9q/direwolf.log >/dev/tty3

Now i wrote a unit file to start DireWolf on boot.
/etc/systemd/system/direwolf.service

[Unit]
Description=DireWolf Deamon
After=network.target
After=sound.target
After=syslog.target

[Service]
Type=simple
ExecStart=/bin/bash /home/pd9q/linbpq/direwolf.start

[Install]
WantedBy=multi-user.target
Alias=direwolf.service

Now DireWolf is starting very nice on /dev/tty3

pd9q@packet:~ $ systemctl status direwolf.service
● direwolf.service - DireWolf Deamon
   Loaded: loaded (/lib/systemd/system/direwolf.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-09-12 10:58:51 UTC; 1h 18min ago
 Main PID: 463 (bash)
   CGroup: /system.slice/direwolf.service
           ├─463 /bin/bash /home/pd9q/linbpq/direwolf.start
           └─474 ./direwolf -c /home/pd9q/direwolf.conf -l /home/pd9q/direwolf.log

Sep 12 10:58:51 packet systemd[1]: Started DireWolf Deamon.
pd9q@packet:~ $

I had the same problem with Linbpq, which I solved in the same way.

Linbpq start file “runbpq”

cd /home/pd9q/linbpq
sudo ./linbpq  >/dev/tty2

The unit file “linbpq.service”

[Unit]
Description=Linbpq Daemon
After=network.target
After=direwolf.target
StartLimitInterval=0

[Service]
Type=simple
Restart=always
RestartSec=5
ExecStart=/bin/bash /home/pd9q/linbpq/runbpq
WorkingDirectory=/home/pd9q/linbpq

[Install]
WantedBy=multi-user.target
Alias=linbpq.service

Ok, let’s see if it is running

pd9q@packet:~ $ systemctl status linbpq.service
● linbpq.service - Linbpq Daemon
   Loaded: loaded (/lib/systemd/system/linbpq.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-09-12 10:58:51 UTC; 1h 23min ago
 Main PID: 464 (bash)
   CGroup: /system.slice/linbpq.service
           ├─464 /bin/bash /home/pd9q/linbpq/runbpq
           ├─473 sudo ./linbpq
           └─501 ./linbpq

Sep 12 12:13:36 packet LINBPQ[501]: BPQ32 Heartbeat Buffers 102
Sep 12 12:14:31 packet LINBPQ[501]: BPQ32 Heartbeat Buffers 99
Sep 12 12:15:27 packet LINBPQ[501]: BPQ32 Heartbeat Buffers 102
Sep 12 12:16:22 packet LINBPQ[501]: BPQ32 Heartbeat Buffers 102
Sep 12 12:17:17 packet LINBPQ[501]: BPQ32 Heartbeat Buffers 102
Sep 12 12:18:12 packet LINBPQ[501]: BPQ32 Heartbeat Buffers 100
Sep 12 12:19:07 packet LINBPQ[501]: BPQ32 Heartbeat Buffers 102
Sep 12 12:20:03 packet LINBPQ[501]: BPQ32 Heartbeat Buffers 102
Sep 12 12:20:58 packet LINBPQ[501]: BPQ32 Heartbeat Buffers 102
Sep 12 12:21:53 packet LINBPQ[501]: BPQ32 Heartbeat Buffers 102
pd9q@packet:~ $

Now have a look at /dev/tty2 “conspy 2”

G8BPQ AX25 Packet Switch System Version 6.0.16.30 July 2018
Copyright ▒ 2001-2018 John Wiseman G8BPQ
Current Directory is /home/pd9q/linbpq

Configuration file Preprocessor.
Using Configuration file /home/pd9q/linbpq/bpq32.cfg
Conversion (probably) successful

PORTS 1d9784 LINKS 1dce14 DESTS 1dfc58 ROUTES 1f9c58 L4 1fd058 BUFFERS 22f170

Initialising Port 01     TCPKISS IP 127.0.0.1 Port 8001 Chan A
Initialising Port 02     AXIP
Initialising Port 03     Telnet Server
Initialising Port 04     Loopback

 

SCS Tracker TNC and new BPQ32 Node

Sample config file based on a system off John, kx4o.

-------------------------------
LOCATOR=FM18
NODECALL=W4VPN
NODEALIAS=VAPN

IDMSG:    ; UI broadcast text from NODECALL to fixed dest ID
This is the IDMSG text.
***        ; Denotes end of IDMSG text

BTEXT:    ; UI broadcast text from BCALL to destination UNPROTO=
This is the BTEXT text.
***        ; Denotes end of BTEXT text

INFOMSG:    ; The INFO command text follows:
This is the INFOMSG text.
***        ; Denotes end of INFOMSG text

CTEXT:    ; The CTEXT text follows:
Minimal VAPN BPQ32 installation successful.
VAPN:W4VPN} CONNECT BYE INFO NODES ROUTES PORTS USERS MHEARD
***        ; Denotes end of CTEXT text

FULL_CTEXT=0    ; 0=send CTEXT to L2 connects to NODEALIAS only
                    ; 1=send CTEXT to all connectees

; Network System Parameters:
OBSINIT=6        ; Initial obsolescence set when a node is included
                    ; in a received nodes broadcast. This value is then
                    ; decremented by 1 every NODESINTERVAL.
OBSMIN=4            ; When the obsolescence of a node falls below this
                    ; value that node`s information is not included in
                    ; a subsequent nodes broadcast.
NODESINTERVAL=60    ; Nodes broadcast interval in minutes
IDINTERVAL=0        ; 'IDMSG' UI broadcast interval in minutes, 0=OFF
BTINTERVAL=0        ; The BTEXT broadcast interval in minutes, 0=OFF
L3TIMETOLIVE=25    ; Max L3 hops
L4RETRIES=3            ; Level 4 retry count
L4TIMEOUT=60        ; Level 4 timeout in seconds s/b > FRACK x RETRIES
L4DELAY=10            ; Level 4 delayed ack timer in seconds
L4WINDOW=4            ; Level 4 window size
MAXLINKS=63            ; Max level 2 links
MAXNODES=512        ; Max nodes in nodes table
MAXROUTES=64        ; Max adjacent nodes
MAXCIRCUITS=128    ; Max L4 circuits
MINQUAL=168            ; Minimum quality to add to nodes table
; INP3 Routing is experimental.  The two parms which follow will be ignored
; unless activated in the ROUTES: section.
MAXHOPS=4            ; INP3 hop limit to add to tables
MAXRTT=90            ; INP3 max RTT in seconds
;BUFFERS=255        ; This parameter is no longer used in the Win32 version.
                    ; BPQ32 allocates an adequate number automatically.
                    ; I have the line commented out just to remind me it`s gone!!
                    
; TNC default parameters:
PACLEN=127        ; Max packet size (236 max for net/rom)
                    ; 236 is suitable for reliable and fast connections, such
                    ; as AX/IP/UDP or a dedicated 9600 RF Link
                    ; 120 is suitable for a typical shared VHF packet radio connection
                    ; PACLEN is defined for each port individually in the ports sections
TRANSDELAY=1    ; Transparent node send delay in seconds

; Level 2 Parameters:
; T1 (FRACK), T2 (RESPTIME) and N2 (RETRIES) are now in the PORTS section
T3=120            ; Link validation timer in seconds
IDLETIME=720    ; Idle link shutdown timer in seconds

; Configuration Options:
AUTOSAVE=1        ; Saves BPQNODES.dat upon program exit
BBS=1                ; 1 = BBS support included, 0 = No BBS support
NODE=1           ; Include switch support
HIDENODES=1        ; If set to 1, nodes beginning with a #
                    ; require a 'N *' command to be displayed.
/*
The *** LINKED command is intended for use by gateway software, and concern
has been expressed that it could be misused. It is recommended that it be
disabled (=N) if unneeded.
*/
ENABLE_LINKED=N    ; Controls processing of *** LINKED command
                    ; Y = allows unrestricted use
                    ; A = allows use by application program
                    ; N = disabled
/*
AX25 port definitions:
The LOOPBACK port simulates a connection by looping input to output. To test,
start BPQTerminal and enter: 'C 1 MYNODE via MYCALL'
In this example '1' is the LOOPBACK port number. The LOOPBACK port is provided
for testing purposes and would rarely be included in an established system.
*/
; LOOPPACK Port Specification
#PORT
# PORTNUM=1            ; Optonal but sets port number if stated
# ID=LOOPBACK        ; Defines the Loopback port name
# TYPE=INTERNAL        ; Loopback is an internal type
#ENDPORT

; SCS Tracker Port Specification
PORT
    PORTNUM=1
    ID=HF 30m Port
    COMPORT=/dev/tnc-30m;        COM Port Address
    SPEED=38400;       COM Port Speed
    DRIVER=TRKMULTI

    QUALITY=0          ;Setting to 0 stops node broadcasts on this port
    MINQUAL=168

    MHEARD=N
    ;MAXFRAME=2         ;Max outstanding frames (1 thru 7)
    ;RESPTIME=1000      ;Level 2 delayed ack timer in milliseconds
    ;RETRIES=2          ;Level 2 maximum retry value
    PACLEN=200          ;Max = 236 if using NETROM links
    ;TXDELAY=500        ;Pretty quick TX/RX radio
    ;TXTAIL=300         ;

    CONFIG             ; Driver-Specific Configuration
    ;DEBUGLOG 1
    PACKETCHANNELS 5   ; Limit to 5 simultaneous connections
    R 0                ; Digipeating OFF
    F 600              ; T1 - FRACK: in 10mS steps.
    @T2 0              ; T2 - RESPDELAYTIME: in 10mS steps.
    @T3 30000          ; T3 - Sign of life timer in 10mS steps
    N 10               ; RETRY: Setting to 10
    O 7                ; MAXFRAME
    T 25               ; TXDELAY: Setting to 1/4 second (25 * 10ms)
    P 32               ; PERSISTENCE (p) (default 32 of 255)
    W 10               ; Slottime in milliconds (default 10)
    %N 0               ; TXTAIL - in 10ms increments.
    ; Comment out the desired speed.
    %B R300            ; 1200 is the poweron default, so setting to R300
    ;
    ;%F 1700            ; For HFPacket only and should only be used if not using 1700 default.
    %L 1500             ; For RPR only. Lately required since this doesn`t always default to 1500.
    ;%XA 880            ; Set 300/1200 output amplitude to 3 kHz Peak deviation per measurement.
    ;%XF 1600           ; Set 9600/19k2 output amplitude to 400 mV PP per ID-880H manual.
    %XR 900           ; Set RPR output amplitude in mV for TS-480 Menu #40 = 1.
    ;%XR 200           ; Set RPR output amplitude in mV for TS-480 Menu #40 = 4.
ENDPORT

; SCS Tracker Port Specification
PORT
    PORTNUM=2
    ID=VHF 2m Port
    COMPORT=/dev/tnc-02m;        COM Port Address
    SPEED=38400;       COM Port Speed
    DRIVER=TRKMULTI

    QUALITY=0          ;Setting to 0 stops node broadcasts on this port
    MINQUAL=168

    MHEARD=N
    ;MAXFRAME=2         ;Max outstanding frames (1 thru 7)
    ;RESPTIME=1000      ;Level 2 delayed ack timer in milliseconds
    ;RETRIES=2          ;Level 2 maximum retry value
    PACLEN=128         ;Max = 236 if using NETROM links
    ;TXDELAY=500        ;Pretty quick TX/RX radio
    ;TXTAIL=300         ;

    CONFIG             ; Driver-Specific Configuration
    ;DEBUGLOG 1
    PACKETCHANNELS 5   ; Limit to 5 simultaneous connections
    R 0                ; Digipeating OFF
    F 500              ; T1 - FRACK: in 10mS steps.
    @T2 0              ; T2 - RESPDELAYTIME: in 10mS steps.
    @T3 18000          ; T3 - Sign of life timer in 10mS steps
    N 10               ; RETRY: Setting to 10
    O 7                ; MAXFRAME: Setting to 7
    T 50               ; TXDELAY: Setting to 1/2 second (50 * 10ms)
    P 32               ; Persistence (p) (default 32)
    W 10               ; Slottime in milliconds (default 10)
    %N 0               ; TXTAIL - in 10ms increments.
    ; Comment out the desired speed.
    %B 1200            ; 1200 is the poweron default, but setting it anyway.
    ;%B 9600            ; 9600 
    ;
    %F 2000            ; I assume this has no effect on 1200 mode, but setting anyway..
    %XA 880            ; Set 300/1200 output amplitude to 3 kHz Peak deviation per measurement.
    %XF 1600           ; Set 9600/19k2 output amplitude to 400 mV PP per ID-880H manual.
    %E 2               ; Set lower tone in 1200 mode (fw 1.5s) to 1/2 voltage 6 dB down from high.
ENDPORT

;; Test of KISS
;PORT
; PORTNUM=2            ; Optional but sets port number if stated
; ID=BPQ 145.030 MHz    ; Displayed by PORTS command
; TYPE=ASYNC            ; Port is RS232
`; PROTOCOL=KISS        ; TNC is used in KISS or JKISS mode
;; The KISSOPTIONS statement should not be included for KISS or JKISS tnc`s.
;; See ..\RelatedFiles\KissRoms\KissRoms.zip for details.
;; KISSOPTIONS=CHECKSUM,ACKMODE    ; Using BPQKISS eprom w/o polling
; FULLDUP=0            ; Only meaningful for KISS devices
; ;IOADDR=1            ; 1 = SERIAL PORT COM1 ETC.
; COMPORT=/dev/ttyUSB0;        COM Port Address
; SPEED=38400;       COM Port Speed
; CHANNEL=A            ; A for single channel TNC, A or B for multichannel
; PERSIST=64            ; PERSIST=256/(# of transmitters-1)
; SLOTTIME=100        ; CMSA interval timer in milliseconds
; TXDELAY=300        ; Transmit keyup delay in milliseconds
; TXTAIL=30            ; TX key down, in milliseconds, at packet end
; QUALITY=192        ; Quality factor applied to node broadcasts heard on
;                    ; this port, unless overridden by a locked route
;                    ; entry. Setting to 0 stops node broadcasts
; MINQUAL=168        ; Entries in the nodes table with qualities greater or
;                    ; equal to MINQUAL will be sent on this port. A value
;                    ; of 0 sends everything.
; FRACK=8000            ; Level 2 timout in milliseconds
; RESPTIME=1500        ; Level 2 delayed ack timer in milliseconds
; RETRIES=10            ; Level 2 maximum retry value
; MAXFRAME=2            ; Max outstanding frames (1 thru 7)
; PACLEN=120            ; Default max packet length for this port.
;                    ; PACLEN is ignored for APRS packets
; UNPROTO=APBQ1        ; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
; ;BCALL=A1ABC-14        ; BTEXT call. Unstated defaults to NODECALL
; L3ONLY=0            ; 1=No user downlink connects on this port
; DIGIFLAG=0            ; Digipeat: 0=OFF, 1=ALL, 255=UI Only
; DIGIPORT=0            ; Port on which to send digi`d frames (0 = same port)
; USERS=0            ; Maximum number of L2 sessions, 0 = no limit
;ENDPORT


PORT
    PORTNUM=3
    ID=Telnet Server
    DRIVER=Telnet
    CONFIG
    LOGGING=1
    DisconnectOnClose=1
    TCPPORT=8010
    FBBPORT=8015
    HTTPPORT=8080
    LOGINPROMPT=user:
    PASSWORDPROMPT=password:
    MAXSESSIONS=10

    CMS=1
    CMSCALL=CMSCALL   ; CMS Access Callsign (with SSID if used)
    CMSPASS=CMSPASSWD ; Secure CMS Password
   
    CTEXT=Welcome to W4VPN's Telnet Server\nEnter ? for list of commands\n\n
    USER=John,somepass1,KX4O,"",SYSOP
    USER=Mark,somepass2,KD6AKC,"",SYSOP
    USER=Logan,somepass3,KJ4FAJ
    USER=JohnBBS,somepass4,kx4o,BBS
    USER=ANON,somepass5
ENDPORT

LINMAIL
LINCHAT

APPLICATION 1,BBS,,W4VPN-2,VPNBBS,255
APPLICATION 2,CHAT,,W4VPN-3,VPNCHT,255
APPLICATION 3,CMS,C 3 CMS,CMSCALL,BPQCMS,255
-------------------------------

Jeff have made some comments about it.

On HF I`d recommend starting with a maxframe other than 7.
With the Tracker`s intelligence I found it best to start 
connections on HF with a conservative value of maxframe = 1 then 
let the modem ramp things up if band/link conditions support it. 
Also suggest keeping a few hundred ms of @T2 in there to help slower radios.

Obviously VHF/UIHF is a different story, but suggest load testing 
different values and being careful if you`re going to have users with the 
Tasco (D72, D74, D700, D710 or KISS mode TNCs with no/minimal buffering connecting in. 
Be sure to test with transfers both ways and large enough 
(at least 7-8kb on the link) to bring buffering issues to light or nasty surprises may lurk.


73
Jeff
WA4ZKO

 

SCS Tracker Driver for BPQ32 switch

SCSTracker.dll

This driver allows BPQ32 applications to make and receive Robust Packet or HF Packet calls using the SCS Tracker TNC. This driver is intended for using the Tracker on HF for forwarding, and only allows one connect at a time. For normal VHF operation or user access on HF, there is a separate driver, SCSTrackerMulti, that supports multiple connections (but not scanning).

Although the Tracker is an ax.25 controller, the driver only allows it to be used by one session at a time, so you must use the ATTACH command to allocate the port before making a call. So if your Tracker port is BPQ32 port 3, enter

ATTACH 3

Possible responses are:

#BPQ11:GM8BPQ-2} Ok

#BPQ11:GM8BPQ-2} Error – Invalid Port   // Port is not a Tracker port.

#BPQ11:GM8BPQ-2} Error – Port in use   // Port is in use.

Once attached to a port, you can issue commands to the TNC. These are the same as you would use to control the Tracker from a terminal, except that you don’t type an ESC before each command.

You can also select which mode a connect will be made in be entering HFPACKET or RPACKET. So to make a Robust call, enter

ATT 3
RPACKET
C CALLSIGN

For a normal (300 Baud HF Packet) call enter:

ATT 3
HFPACKET
C CALLSIGN

Configuration.

The driver configuration is specified in the bpq32.cfg file

The driver is defined to BPQ32 as an External port, and needs some driver-specific configuration

The first line of the config defines what BPQ Application incoming calls should connect to. If omitted, calls go to the command handler.

If you are using the Rig Control feature for scanning, add the RIGCONTROL command next.

If you want to listen for both normal and Robust packet connects, use the SWITCHMODES n command. This specifes how long to spend in each mode. Note Rigcontrol will override this.

If you want users to be able to connect to any of your applications, use the USEAPPLCALLS command.

If you want the controller to start in Robust mode, and return to that mode after a connect, use DEFAULT ROBUST

All commands that are essential to run with BPQ32 are sent automatically. You only need to include any special setup you need.

The commands that are preset are in two groups. One set is sent before the commands you specify, so can be changed. The others are sent after your commands, as they are essential for correct operation with BPQ32.

Sent before your config

M UISC           ; Monitoring Enabled (needed for APPLCALL support)
%F 1500          ; Use the same centre frequency for normal and Robust packet.

Sent after your config

Z 0              ; No Flow Control
Y 1              ; One Channel
E 1              ; Echo - Restart process needs echo
%B R600 or %B 300 ; Depending if DEFAULT ROBUST is set

MYCALL is set to the PORT config PORTCALL if specified, otherwise to NODECALL. Any MYCALL in the config file is ignored.

Other possible configuraton parameters are:

FORCE ROBUST
Only use Robust Packet. Disable any switch to Normal Packet

WL2KREPORT
send Frequency info to the WINLINK database. See here for details.

UPDATEMAP
The modem logs connects to the Nodemap if you have specified a LOCATOR in your BPQ32.cfg. If you specify UPDATEMAP, stations heard will also be sent to the map.

BEACONAFTERSESSION
Send Beacon after each session

Sample SCS Trcker Configuration

PORT
 ID=Tracker
 COMPORT=1;             COM Port Address
 SPEED=38400;           COM Port Speed
 DRIVER=SCSTracker
 INTERLOCK=n;           ; Optional - set if you have two ports sharing the same radio.
                        ; Set the same Interlock value on both ports.
 
 CONFIG                 ; Driver-Specific Configuration
 
 APPL RMS               ; Autoconnect to BPQ32 RMS Application
 
 RIGCONTROL
 COM2 19200 ICOM IC700 70
 15,14.103,USB,F1,R2
 15,14.103,USB,F1,H1
 ****
 
 SWITCHMODES 15            ; Change between Robust and normal packet every 15 seconds.
                           ; Note this will be ignored if you are using RIGCONTROL
						   
 USEAPPLCALLS              ; Listen for calls to any of your APPLnCALLS
 DEFAULT ROBUST            ; Return to Robust mode after connections
 BEACONAFTERSESSION        ; Send Beacon after each session 

ENDPORT

© John Wiseman GM8BPQ/G8BPQ