Information here applies to the Linux and MAC versions of BPQ32 as well as the Windows version.
The BPQ32 Node is configured by editing the file bpq32.cfg. Previous versions used file bpqcfg.txt, which had to be converted
using program bpqcfg.exe. This is no longer necessary.
Most configuration statements take the form of a KEYWORD=VALUE pair. A few take the form:
NAME:
One or more lines of text
****
Comments may be included. Anything following a ; in a source line is
ignored. Multiline comments may also be included, delimited by /* and
*/. For example:
; This is a comment line
KEYWORD=VALUE ; This is a comment on a configuration statement
/*
This is a multiline comment
Line 2
*/
C programmers please note - unlike C, /* and */ must start in column 1.
If you do not want to run any ax.25 links (ie only WINMOR or PACTOR), there is a simplified configuration option. See here
These set the basic software environment.
LOCATOR
This enables reporting to the node map. See here for details.
MAPCOMMENT
Include addtional text in the NodeMap display.
PASSWORD
This replaces the PASSWORD.BPQ file, and sets the password for the node SYSOP feature.
See here for details.
AUTOSAVE
Tells Node to save Nodes and Routes information on closedown
SAVEMH
Tells Node to save and restore MH lists when shut down and restarted
BBS
This enables application support. If your system does not provide
access to any application programs, then you could set BBS=0, but
leaving it at 1 will do no harm.
NODE
This allows users to connect to your node, and then
connect out to other stations. If NODE=0, then uses will only be able
to connect to your applications, and not to the node command handler.
IPGATEWAY
Enables the IP Gateway feature. This enables you to handle IP over ax.25.
APRSDIGI
Enables the APRS Digipeater/IGate feature.
ENABLE_LINKED
This controls the *** LINKED command, which is intended for use by gateway software.
It can take one of three values:
ENABLE_LINKED=Y Allows unrestricted use.
ENABLE_LINKED=A Allows use by application programs.
ENABLE_LINKED=N Disables the command
As unrestricted use could be a security problem, I suggest it is set to A unless there are good reasons to do otherwise
C_IS_CHAT
This controls whether a CONNECT command without a
callsign is interpreted as a request for Application #2. If BPQTERMINAL
has the option "Enable Chat" set, it accepts connections for Appl #2,
allowing a user to "chat" to you by typing C.
The following set the size of internal tables. Memory for these is
allocated from the same pool as used for Buffers, so if you define many
more than you need you could run short of buffers.
MAXLINKS
Maximum Level 2 lines (Uplink, Downlink and Internode)
MAXNODES
Number of Nodes (L4 destinations)
MAXROUTES
Number of adjacent Nodes
MAXCIRCUITS
Number of L4 Circults. Each connection through
your node uses two L4 Circuit entries, so this should be at least twice
the number of simultaneous users you want to allow.
BUFFERS
Number of packet buffers to allocate - 999 means
allocate as many as possible. You are unlikely to use any other value,
unless testing what heppens when the node runs short of buffers.
BRIDGE
Bridging copies packet from one port to another unchanged. This could be used, for example to share a TNC between BPQ and other packet application(s).
BRIDGE 1=4,5 ; Send all packets received on Port 1 to Ports 4 and 5
BRIDGE 4=1 ; Send all packets received on Port 4 to Port 1
BRIDGE 5=1 ; Send all packets received on Port 5 to Port 1
NODECALL
The callsign used by the node
NODEALIAS
A symbolic name for the node.
IDMSG:
IDINTERVAL
IDMSG is sent every IDINTERVAL minutes. It is sent
from the PORT Callsign if one is defined, otherwise from NODECALL. The
main purpose of this is to satisfy the requirements of those
administrations that require a regular station identification in the
same mode as used for communication.
CTEXT:
Text to send to a user when he/she connects. If FULL_CTEXT is set to 1, it will be sent to all connects. If FULL_CETEXT is set
to 0, it will only be sent to users who connect directly to the Node Alias.
FULL_CTEXT
See above. Normally should be set to 1, unless you have problems with the CTEXT confusing a system that connects to you.
HFCTEXT=Text
Text to send to a user when he/she connects on HF (Pactor, WINMOR, etc). Normally would be shorter that the main CTEXT.
If not specified, the normal CTEXT will be sent.
You can also define a port specific CTEXT that overrides CTEXT or HFCTEXT. See Port Specific CTEXT
INFOMSG:
Text sent in response to the Node INFO (I) command.
BTEXT:
BTINTERVAL
BTEXT is the default beacon sent by the Node, every BTINTERVAL minutes.
Note that application programs may change this, or generate their own
beacons.
An APRS compatible position may be included, for example:
BTEXT:
=5828.54N/00612.69W- {BPQ32}
G8BPQ's Test Node
***
Most Level 2 parameters are specified in the PORTS section.
T3
Link Validation Timer. If there is no activity for T3
seconds, an RR(P) command will be sent to make sure the other station
is still there.
IDLETIME
If there is no traffic for IDLETIME seconds, the link will be closed.
PACLEN
PACLEN defines maximum size for packets generated by
the node. Many applications will obey the PACLEN parameter, but
unfortunately some do not.
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. When the node is accessed directly, things are a bit easier,
as we know at least something about the link. So 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.
A NETROM link can only handle packets of up to 236 bytes without fragmetation,
so don't go above this unless you don't have any NETROM links.
BPQ32 now includes the AGWPE Emulator previously provided by programs AGWtoBPQ.
This is enabled with the following statements:
; AGW Emulator Params AGWPORT=8000 ; Port Applications connect to AGWSESSIONS=5 ; Max sessions allowed AGWMASK=1 ; Application Mask. This os only needed for connects to the application, ; and can be specified in decimal or hex - ie 16 or 0x10
BPQ32 now includes the TNC Emulators previously provided by programs BPQTNC2, BPQHOSTMODES and BPQDED32.
Each TNC is defined by a set of statements of the form:
TNCPORT PARAM=VALUE .. .. ENDPORT
Possible PARAM values are:
COMPORT=PORT
Required. On Windows system, may be a real COM port, or a BPQ Virtual COM Port.
COMPORT=COM1
COMPORT=VCOM2
On linux, A pty (virtual com port) is created, and symlink'ed to the name given,
COMPORT=/home/john/com1
COMPORT=/home/john/.wine/dosdevices/com2 This would create a com2 under WINE
TYPE=TYPE
Required. TYPE may be TNC2, DED, KANT, SCS
APPLFLAGS=n
Optional. Value is the sum of these values
1 Pass Application Command to Application 2 Send 'CONNECTED' message to User 4 Send 'CONNECTED' message to Application 8 Look for ^d or ^D from remote user to disconnect session Common values are 6 for most cases and 14 for a session used for "talk to sysop"
APPLMASK=N
Optional. If you want users to connect to an application, set the APPLMASK corresponding to the defined APPLICATION. May be either a decimal or a hex value, preceded by 0x. eg
APPLMASK=1
APPLMASK=0x10 - the same as APPLMASK 16
APPLNUM=N
Alternative to Application Mask. Specify Application Number (1-32) instead of hex ApplMask.
CHANNELS=N
Defines the number of channels allowed. TNC2 only allows one. The DED protocol allows the program to set
the number, but if you are using Kantronics or SCS emulation you must set the number you need.
POLLDELAY=100
Optional. Only works on BPQ VCOM ports. Some programs loop reading the seial port, and so
consume all available CPU. POLLDELAY will add a delay to each com port read. Value is in milliseconds.
If using the TNC2 emulator you can specify some TNC Parameters
CONOK=1
AUTOLF=1
ECHO=1
Typical configurations could be
For use with Airmail Packet Server TNCPORT COMPORT=VCOM2 TYPE=SCS APPLMASK=0x20 CHANNELS=10 ENDPORT or for Linux "Chat to Sysop" Application using minicom TNCPORT COMPORT=/home/pi/linbpq/com8 TYPE=TNC2 APPLNUM=32 APPLFLAGS=14 CONOK=1 ECHO=1 AUTOLF=1 ENDPORT
This defines your external links - either to radios, or to other computers, modems, etc.
Each port is defined by a set of statements of the form:
PORT PARAM=VALUE .. .. ENDPORT Samples of various configurations are given later, but the full list of PARAM values supported is given below
PORTNUM=n
Number for use in PORTS display, connects, etc. Default is next
sequential number.
ID=text string
Up to 30 chars, appears on PORTS display
TYPE=ASYNC/I2C/DRSI/PC120/RLC100/INTERNAL/EXTERNAL/BAYCOM/PA0HZP
Hardware type.
ASYNC is for KISS or NETROM TNC connected to a serial port.
Also used for KISS over UDP or TCP connections
I2C is for KISS over I2C interface (eg for TNC-PI)
INTERNAL defines a 'loopback' port - anything sent on it will be
received. Intended to allow KISS applications (eg TCP/IP) to talk
to the switch.
EXTERNAL defines a port using a driver .dll.
PC120, DRSI, RLC100, BAYCOM, PA0HZP are the internal HDLC cards,
the first two support up to two channels, the others up to 4.
Note that support for HDLC Cards is experimental, and requires OS-specfic
hardware drivers. Contact me if you would like to try them.
DLLNAME=file.dll
DRIVER=DriverName
The driver to use if TYPE=EXTERNAL. Many of these drivers are now built in to bpq32.dll, but
they are still configured as if they were separate .dll files. Either DRIVER or DLLNAME may be specified.
The following drivers are provided:
PROTOCOL=HDLC/KISS/NETROM/PACTOR/WINMOR
Protocol to be used on the link.
NETROM is to connect to the async port of a real NETROM
KISS is to connect to a KISS TNC
IOADDR=xxxH
COMPORT=xxx
The COM Port Number for Async Cards. The base I/O address for HDLC cards. IOADDR is in hex. Alternatively
you can specify COMPORT in decimal. On Linux systems, COMPORT can also be a device name, eg /dev/ttyUSB0
IPADDR=n.n.n.n
UDPPORT=n
UDPRXPORT=n
UDPTXPORT=n
TCPPORT=n
Used instead of IOADDR or COMPORT for KISS over UDP or TCP. If you need to use different ports for each direction, use UDPTXPORT and UDPRXPORT.
I2CBUS=n
I2CDEVICE=n
Used instead of IOADDR or COMPORT for KISS over I2C
INTLEVEL=n
The interrupt level to be used for HDLC cards. Any spare level may be used, up to
7 on an 8 bit card, or 15 on a 16 bit card. More than one card
may share a level if the hardware has the necessary logic.
SPEED=nnnn
The radio speed for HDLC cards, or the async link speed for KISS
and NETROM links. If set to zero, the modem must supply a 1x clock.
(TXC on RTXC pin, RXC on TRXC pin.)
CHANNEL=A/B/..
Selects port on HDLC cards, dual port KISS (eg KPC4) or Multidropped KISS
BBSFLAG=NOBBS
Stops direct connects to the BBS on this port.
NOKEEPALIVES=0/1
If set, causes Nodes heard on this port to be added to the ROUTES table with the "No Keepalives" flag set.
Locked Routes will still have the Keepalive setting defined in the ROUTES: section.
QUALITY=nnn
Default quality for nodes heard on this port. Set to zero to suppress
all level 3/4 activity (including NODES broadcasts) on this port.
MAXFRAME=n
Maximum outstanding frames.
TXDELAY=nnn
TX Keyup delay in milliseconds
SLOTTIME=100
CSMA interval timer (milliseconds)
PERSIST=nnn
'Probability to transmit' value (1-255)
FULLDUP=0/1
Passed on to TNC if using KISS. Used to allow transmission whilst DCD
is active on HDLC cards, and to allow connection of a NETROM cluster
via a diode matrix.
SOFTDCD=0/1
If set to 1, system uses the detection of a valid frame to indicate that
the channel is busy, rather than the DCD signal from the modem. Used
only for HDLC cards.
TXTAIL=nnnn
TXTAIL timer in ms. Used only by KISS TNCs. If running on HF at 300 baud,
the default is probably too short. If others have trouble copying your
frames, try a value of 50 - 100.
FRACK=nnnn
Level 2 timout in milliseconds
RESPTIME=nnnn
Level 2 delayed ack timer in milliseconds
RETRIES=n
Level 2 maximum retry value
PACLEN=nnn
Default maximum packet length for this port
CWID=CALL
Only used on HDLC cards. CWID is sent every 29 mins.
CWIDTYPE=ONOFF
Send CWID using ON-OFF Keying. Without this param, the CWID will be sent
using normal modem tones. This is fine for low speed links, but faster
modems (eg the G3RUH) include scramblers which make it impossible to read
the CW. Note that the TX must have a pretty fast keying characteristic
to work with ON-OFF keying - certainly < 20mS.
PORTCALL=CALL
PORTALIAS=ALIAS
PORTALIAS2=ALIAS2
Additional callsign/alias for level 2 connects to the node for this port.
Should not be the same as BBSCALL
BCALL=CALL
Call used as the origin for beacons on this port
ALIAS_IS_BBS=0/1
If set then PORTCALL and PORTALIAS access the BBS instead of the node.
VALIDCALLS=CALLS
Up to about 40 callsigns, separated by single commas. If present, only
stations in the list will be allowed to connect to you on this port.
The SSID should not be specified, and multiple VALIDCALLS lines may be
included. End all but the last line with commas. The total length of the
list, including commas, is 256 bytes.
PERMITTEDAPPLS=APPLS
This limits which applications can be accesed via this port, and prevents direct connects to the Application Callsign or Alias. Parameter is a comma separated list of Appl Numbers allowed to connect. Default is to permit all applications.
MINQUAL=NNN
Defines the minimum quality for a destination to be included in a
'Nodes' broadcast on this port.
QUALADJUST=NNN
Percentage to reduce the quality of a NODE in the NODES broadcast, if
the best neighbour is on the same port as the broadcast. Designed to
improve throughput if more than one channel is available, by discouraging
routes which cause a node to send a packet on the same port that it
received it on.
NODESPACLEN=NNN
The maximum length of a NODES broadcast packet.
DIGIFLAG=0/1/255
Digipeat control flag for this port. 0 = dont digi, 1 = digi everything,
255 = digi UI frames only.
DIGIPORT=N
Port to send digied frames on. Zero means the port it was received on,
any other number means send on that port.
DIGIMASK=XXXX
If set, a packet to be digipeated will be sent to all ports that have the
corresponding bit set in DIGIMASK. This should only be used in conjunction
with DIGIFLAG=255 - sending other than UI frames to more than one port is
not a good idea!
XDIGI=CALL,N[,UI]
With DIGIPORT all frames are digi'ed to the same port. With XDIGI you can define additional
digipeater aliases for cross port digipeating, so frames could be digi'ed to different ports. Packets
with a digi of CALL will be sent to port N. If UI is set, only Unproto frames will be digi'ed, eg
XDIGI=XXXXX,1
XDIGI=YYYYY,9,UI
Any frame to XXXXX will go to port 1
UI frames to YYYYY will go to port 9
Note CALL is treated as a callsign, not an alias, so the SSID is significant
If you are digi-ing connected mode frames, you will need the reverse definition on the other port. So if the above were on port 3. on port 1 you'd need
XDIGI=XXXXX,3
You can have as many XDIGI lines as you need.
MAXDIGIS=N
Limits the number of digipeaters that can be used to access this port
USERS=N
This limits the number of L2 sessions to the supplied number. Zero means
no limit. The limit applies to all L2 sessions (even those with other
nodes), but is only checked for incoming connects (ie you can make
outgoing connects even when the limit is reached). Intended mainly to
control the number of users on busy user access ports (especially 2m).
UNPROTO=
Unproto destination and digi string for this port. Use commas between
calls, and don't include the VIA.
UIONLY=0/1
If set to 1 will stop any connects on this port ie it can only be used for UNPROTO traffic, such as APRS.
WL2KREPORT .....
Enables reporting of channel information to the Winlink Database. See here for details.
L3ONLY=0/1
If set to 1 will stop users (but not HOST sessions) issuing downlink
connects on this port.
IGNOREUNLOCKEDROUTES=0/1
If set to 1 NODES broadcasts will only be accepted from locked Routes.
INP3ONLY=0/1
If set to 1 only INP3 routing is allowed. NODES broadcasts are ignored, and any learned routes will use INP3.
INTERLOCK=n
Used with Pactor, WINMOR or similar ports to prevent two or more
ports being active at the same time (for example if using WINMOR and
Pactor on the same radio).
Also used with HDLC cards to allow groups of ports to be defined which will not transmit at the same
time. A value of zero indicates no locking, if any other value is specifed
the code will make sure that no two ports with the same value can transmit
at the same time.
TXPORT=n
Allows frames for this port to be transmitted on a different port.
This is for use when you are operating a central node, with a single
transmitter, and a number of receivers.
MHEARD=Y/N
Enables or disables the MHEARD function on this port. There is a slight
overhead in maintaining the MHEARD list, so if it is not needed (eg on
an internode port) it may be disabled. Default is enabled.
HIDE=0/1
If set to one hides the port from the PORTS display and the Port List in the AGW Emulator. The port is still visible via the management interface.
KISSOPTIONS=POLLED,CHECKSUM,ACKMODE,SLAVE,D700,PITNC,NOPARAMS,FLDIGI,TRACKER
The first 3 select my extended KISS mode.
These extended KISS options are supported by my BPQKISS EPROM for
the TNC2 and clones, the TNCPI and most Kantronics TNCs (where it is called XKISS).
POLLED selects multi-dropped mode, where the TNC only
transmits when requested (Polled) by the PC. This allows
several TNCs to share an async port any risk of
collisions.
CHECKSUM selects a mode where a checksum byte is appended
to each data message, and checked by the other end. This
reduces the risk of data corruption if errors occur on the
link from PC to TNCs. It may be used on its own, but should
always be used if POLLED mode is selected.
ACKMODE enables the transmission of 'ACK required' frames.
These cause the TNC to send a reply when the frame has been
transmitted. This will improve link performance by avoiding
the possibility of a retry being sent before the original
frame has even left the TNC. This mode should always be used
if the TNC support it.
SLAVE allows a PC to be multidropped along with one or more
KISS TNCs on a multidropped link. If you use SLAVE, you shouldn't
set POLLED, and you shouldn't use ACKMODE on either end.
D700 removes the risk of accidentally taking D700/D710 radios out of KISS Mode
PITNC is for use the the TNC-PI on a Raspberry PI
NOPARAMS - Don't send Parameters (TXDELAY, SLOTTIME, etc) to TNC;
FLDIGI - Set if you are using the "KISS over UDP" option in FLDIGI
TRACKER - Used with SCS Tracket to place it in KISS mode on initialisation
CONFIG
Some drivers require additional configuration (see the docs for each driver for details). The software
no longer supports using a separate config file, so this must be included in bpq32.cfg.
The config commands are preceded by the CONFIG
statement, and come immediately before ENDPORT.
NETROMCALL
Call used for NETROM Activity. Normally the node will use NODECALL for NETROM L3 functions (eg sending NODES broadcasts),
and as the Source Callsign for Node-Node Links. Occasionally there are advantages in using
a differene call for this. If not specified, defaults to NODECALL.
OBSINIT
Initial Obsolescence value
OBSMIN
Minimum Obsolescence value to be included in NODES broadcasts.
NODESINTERVAL
Time between NODES broadcasts (seconds)
L3TIMETOLIVE
Maximum Level 3 hops
L4RETRIES
Level 4 Retries
L4TIMEOUT
Level 4 Timeout
L4DELAY
Level 4 Delayed ACK timer
L4WINDOW
Level 4 Window
MINQUAL
Minimum Quality to add to NODES table.
HIDENODES
Suppresses the display of NODES with an Alias that starts with a # sign.
MAXRTT
Used for INP3 routing. The largest Round Trip Time to be added to your IMP3 routing table
MAXHOPS
Used for INP3 routing. The largest hop count to be added to your IMP3 routing table
AUTOSAVE
Causes the NODES and ROUTES tables to be saved to
file BPQNODES.DAT when the switch closes. They will be reloaded when
the program is restarted.
You can define additional Node commands that are available to your
users. These may connect to applications running on you computer, or be
aliases or 'shortcuts' to other node commands. For example you can
define the command "BBS". This can either be set up to connect to a BBS
running on your computer, or to be an alias for a command that connects
to a BBS on another system.
You can set up a callsign that if connected to will select the command,
and if required cause the call to be added to your NODES list. The callsign should be different from your NODECALL and any other application call.
There are two ways of defining this:
"New" Method
APPLICATION n,CMD,New Command,Call,Alias,Quality,L2Alias
n Application Number. You can define up to 32.
CMD The command the user types
New Command (optional) The Node command to be run
Call (optional) The call which directly invokes CMD
Alias and Quality (optional) If specified, causes an entry for Call and Alias to be added to your NODES table with the specified Quality
L2Alias (optional)is an additional Alias for direct (L2) connects to the Node. For example: APPLICATION 1,BBS,,G8BPQ,BPQBBS,200 APPLICATION 2,CHAT,,G8BPQ-1,BPQCHT,255 APPLICATION 3,DX,C DXCLUS
Legacy Method
APPLICATIONS=BBS,CHAT,DX/C DXCLUS
APPL1CALL=G8BPQ
APPL1ALIAS=BPQBBS
APPL1QUAL=200
APPL2CALL=G8BPQ-1
APPL2ALIAS=BPQCHT
APPL2QUAL=255
Note that only the first eight applications can be defined using the Legacy method.
The following three parameters are obsolescent. They are
aliases for APPL1CALL, APPL1ALIAS and APPL1QUAL. They are still
accepted for compatibility with old config files.
BBSALIAS
BBSCALL
BBSQUAL
Normally routes to other nodes are learned from NODES braodcasts,
but routes can be locked if you want to use other than the normal port
quality, change some of the L2 parameters, or enable INP3 Mode. If you set IGNOREUNLOCKEDROUTES=1 to a PORT config
only routes in this list will be added to your table.
Format is
CALLSIGN,QUALITY,PORT[,MAXFRAME,FRACK,PACLEN,INP3Flag]
MAXFRAME, FRACK and PACLEN if stated override the port defaults.
INP3Flag = 1 enables INP3, 0 or null disables. If using INP3 you should normally disable
normal Quality based routing by setting QUALITY to 1 - eg HISCAL-12,1,1,0,0,0,1
Normally the node will try to keep links open to all its neighbours. This can be disabled by setting INP3Flag to 2.
Note that locking a route with QUALITY=0 will prevent the station connecting to you.
The following six parameters were used by DOS BPQCODE, but are not used by BPQ32. They are accepted, but will be ignored
EMS
DEDHOST
DESQVIEW
HOSTINTERRUPT
TRANSDELAY
The following two parameters are no longer used by BPQ32.
L4APPL
UNPROTO (in the main section of the config file - it is still a PORT configuration parameter)
The configuration command SIMPLE sets the following values:
BBS = 1 BTINTERVAL = 60 BUFFERS = 999 C_IS_CHAT = 1 FULLCTEXT = 1 HIDENODES = 0 IDINTERVAL = 10 IDLETIME = 900 IPGATEWAY = 0 L3TIMETOLIVE = 25 L4DELAY = 10 L4RETRIES = 3 L4TIMEOUT = 60 L4WINDOW = 4 LINKEDFLAG = 'A' MAXCIRCUITS = 128 MAXNODES = 250 MAXHOPS = 4 MAXLINKS = 64 MAXROUTES = 64 MAXRTT = 90 MINQUAL = 150 NODE = 1 NODESINTERVAL = 30 OBSINIT = 6 OBSMIN = 5 PACLEN = 236 AUTOSAVE = 1 SAVEMH=1 T3 = 180
The following is an example of a configuration using SIMPLE mode.
; WINMOR to RMS configuration using SIMPLE Mode SIMPLE NODECALL=G8BPQ INFOMSG: G8BPQ's WINMOR to RMS Gateway *** PORT ID=WINMOR Port 1 DRIVER=WINMOR CONFIG ; Driver-Specific Configuration ADDR 127.0.0.1 8500 PATH C:\Program Files\bpq32\Winmor\Winmor TNC.exe CWID True BW 1600 DRIVELEVEL 100 ENDPORT APPLICATION 1,RMS,,G8BPQ-10
APPLnALIAS where n can be 1 to 8
APPLnCALL
APPLnQUAL
APPLICATION
APPLICATIONS
APRSDIGI
AUTOSAVE
BBS
BBSALIAS
BBSCALL
BBSQUAL
BRIDGE
BTEXT:
BTINTERVAL
BUFFERS
C_IS_CHAT
CTEXT:
DEDHOST
DESQVIEW
EMS
ENABLE_LINKED
FULL_CTEXT
HFCTEXT
HIDENODES
HOSTINTERRUPT
IDINTERVAL
IDLETIME
IDMSG:
INFOMSG:
IPGATEWAY
L3TIMETOLIVE
L4APPL
L4DELAY
L4RETRIES
L4TIMEOUT
L4WINDOW
LOCATOR
MAPCOMMENT
MAXCIRCUITS
MAXHOPS
MAXLINKS
MAXNODES
MAXROUTES
MAXRTT
MINQUAL
NETROMCALL
NODE
NODEALIAS
NODECALL
NODESINTERVAL
OBSINIT
OBSMIN
PACLEN
PASSWORD
PORT
ROUTES:
SAVEMH
SIMPLE
T3
TNCPORT
TRANSDELAY
The following is a typical configuration file with embedded comments.
; ; ; CONFIGURATION FILE FOR G8BPQ SWITCH SOFTWARE ; ; The order of parameters in not important, but they ; all must be specified - there are no defaults ; PASSWORD=ABCDEFGHILKLMNOPQRSTUVWXY ; SYSOP Passord LOCATOR=IO68VL ; Enable Map Reporting MAPCOMMENT=BPQ32 Test Node<BR>Skigersta, Isle of Lewis ; ; ; BBS enables the Application support system. If you have specified any of the APPLnCALLS, ; you should set BBS to 1. ; BBS=1 ; INCLUDE BBS SUPPORT ; ; NODE NODE=1 ; INCLUDE SWITCH SUPPORT ; The NODES and ROUTES tables can be saved, so that they can be reloaded when the software is restarted, ; rather than having to wait for the tables to be rebuilt. There is a program SAVENODES.exe and a command ; to the BPQ32 console to to this. By Setting AUTOSAVE=1, the tables will be saved each time the softare closes AUTOSAVE=1 ; Save Nodes File before exiting ; ; Station Identification. ; ; If a user connects to the NODE Callsign or Alias, he is linked ; to the switch code, and can use normal NetRom/TheNet commands ; ; If he connects to an Application Callsign or Alias he will be connected ; directly to the corresponding application. If not available, the connect will ; be rejected. See the section on Application Calls towards the bottom of the file for ; more information. ; ; Note that for compatibility with the DOS version, and older versions of BPQ32, BBSCALL is an alias for APPL1CALL, ; and BBSALIAS is an alias for APPL1ALIAS. If both BBSCALL and APPL1CALL are specified, the BBSCALL will be ignored. ; NODECALL=G8BPQ-2 ; NODE CALLSIGN NODEALIAS=BPQ ; 'ID' MESSAGE - SENT EVERY IDINTERVAL MINS ; ; WILL BE ADDRESSED FROM THE PORT CALLSIGN (IF DEFINED) ; ELSE FROM THE NODE CALL ; ; The main purpose of this is to satisfy the requrements of those administations that require a regular station ; identification in the same mode as used for communication. IDMSG: Network node (BPQ) *** ; ; 'I' COMMAND TEXT ; ; INFOMSG: G8BPQ Win32 Test Switch, Skigersta, Isle of Lewis. *** ; BTEXT is the default beacon sent by the Node. Note that application programs may change this, or ; generate their own beacons. ; An APRS compatible position may be included. BTEXT: =5828.54N/00612.69W- {BPQ32} G8BPQ's Test Node *** IDINTERVAL=15 ; 'ID' BROADCAST INTERVAL (UK Regs require an AX25 ID every 15 mins) BTINTERVAL=15 ; BTEXT is sent at this interval ; ; CTEXT - Normally will only be sent when someone connects to ; the NODE ALIAS at level 2. If FULL_CTEXT is set to 1, it ; will be sent to all connectees. Note that this could confuse BBS ; forwarding connect scripts. ; CTEXT: Welcome to G8BPQ's Test Switch in Skigersta Type ? for list of available commands. *** FULL_CTEXT=0 ; SEND CTEXT TO EVERYBODY HFCTEXT=BPQ32 Node, Skigersta ; Network System Parameters. ; ; These are my values. Many other node sysops use other values. If in doubt, liase with ; those running nodes that you link to OBSINIT=5 ; INITIAL OBSOLESCENCE VALUE OBSMIN=4 ; MINIMUM TO BROADCAST NODESINTERVAL=60 ; 'NODES' INTERVAL IN MINS L3TIMETOLIVE=25 ; MAX L3 HOPS L4RETRIES=4; ; LEVEL 4 RETRY COUNT ; L4TIMEOUT=60; ; LEVEL 4 TIMEOUT L4DELAY=10 ; LEVEL 4 DELAYED ACK TIMER L4WINDOW=4 ; DEFAULT LEVEL 4 WINDOW ; MINQUAL=140 ; MINIMUM QUALITY TO ADD TO NODES TABLE ; The following MAX params set the limits for various tables. ; ; Although significantly larger values can be used, a common area is used ; for these tables and the buffer pool, so don't increase them more than ; necessary. MAXLINKS=100 ; MAX LEVEL 2 LINKS (UP,DOWN AND INTERNODE) MAXNODES=300; ; MAX NODES IN SYSTEM MAXROUTES=30 ; MAX ADJACENT NODES MAXCIRCUITS=150 ; NUMBER OF L4 CIRCUITS BUFFERS=999 ; PACKET BUFFERS - 999 MEANS ALLOCATE AS MANY ; AS POSSIBLE - NORMALLY ABOUT 600, DEPENDING ; ON OTHER TABLE SIZES ; ; TNC DEFAULT PARAMS ; PACLEN=236 ; MAX PACKET SIZE ; ; 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 of my nodes about than 'real'
; 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 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 Node PACLEN command can be used to override the defaults.
;
; 236 is the largest that can be sent over a NETROM link without fragmetation.
; so don't go above this unless you don't have ant NETROM links.
;
; Level 2 Parameters
;
; Most Level 2 parametes are specified in the PORTS section'
;
T3=180 ; LINK VALIDATION TIMER (3 MINS)
IDLETIME=900 ; IDLE LINK SHUTDOWN TIMER (15 MINS)
;
;
HIDENODES=0 ; IF SET TO 1, NODES STARTING WITH # WILL
; ONLY BE DISPLAYED BY A NODES * COMMAND
;
; THE *** LINKED COMMAND IS INTENDED FOR USE BY GATEWAY SOFTWARE, AND
; CONCERN HAS BEEN EXPRESSED THAT IT COULD BE MISUSED. I RECOMMEND THAT
; IT IS DISABLED IF NOT NEEDED.
;
ENABLE_LINKED=A ; CONTROLS PROCESSING OF *** LINKED COMMAND
; Y ALLOWS UNRESTRICTED USE
; A ALLOWS USE BY APPLICATION PROGRAM
; N (OR ANY OTHER VALUE) DISABLE
;
; AX25 PORT DEFINITIONS
;
; These define the external links - normally to radios, but possibly
; to other computers, modems, etc.
;
; The KISS protocol supports dual port TNC's such as the KAM and KPC4.
; You should define two port entries with the same IO addr
; and SPEED - set CHANNEL=A for the first and B for the second.
;
; Note that all timer values are in ms intervals. Most TNC's
; use different units for the various timers, so be careful!
;
; All parameters should be set for all ports, but not all
; drivers support all features. For instance, the NETROM driver
; does not use the TXDELAY, SLOTTIME and PERSIST values. The NETROM
; driver only works in FULL DUPLEX mode, and the HDLC only in
; HALF DUPLEX.
;;
; CWID works only on DRSI and PC120 cards, and can be suppressed
; by omitting the parameter.
;
; BECAUSE OF OUR ODD LICENCING CONDITIONS YOU MAY WISH TO BAN
; CONNECTIONS TO THE BBS CALLSIGN ON SOME PORTS - USERS MAY STILL
; CONNECT USING L4, OR CONNECT TO THE NODE ADDR, AND USE BBS
; COMMAND. PUT 'BBSFLAG=NOBBS' TO ACTIVATE THIS FUNCTION.
; 'BBSFLAG=BBSOK', OR NO PARM, MEANS BEHAVE AS NORMAL
;
; You can have an extra callsign and alias for each
; port for user access only. The callsigns defined in NODECALL and
; BBSCALL are used for all networking activity.
;
PORT
ID=LOOPBACK
TYPE=INTERNAL
PROTOCOL=KISS
CHANNEL=A
QUALITY=0
MAXFRAME=6
FULLDUP=0
FRACK=10000
RESPTIME=3000
RETRIES=10
PACLEN=200
TXDELAY=500
SLOTTIME=100
PERSIST=64
DIGIFLAG=1
UNPROTO=FBB
ENDPORT
PORT
ID=AXIP Link
TYPE=EXTERNAL
DLLNAME=BPQAXIP.DLL
QUALITY=200
MAXFRAME=4
FRACK=5000
RESPTIME=1000
RETRIES=10
PACLEN=236
MINQUAL=150
UNPROTO=FBB ; DEFAULT UNPROTO ADDR
BCALL=GM8BPQ ; Call for Beacons
CONFIG
UDP 10093 # Optional. Enables UDP support, and defines the port
# AX.IP listens on. You can specify more than one
# UDP line if you need to listen on more than one port
MHEARD # Optional - opens a window to display a "Heard List"
BROADCAST NODES
MAP G8BPQ-7 G8BPQ.NO-IP.COM UDP 10093 B
; Steve Conrad, VE9SC, provides a service which displays a map of BPQMailChat
; nodes dynamically updated: http://guardian.no-ip.org/bpqmap/ChatNetwork.htm
; The following line causes your Chat Node to be included on the map.
MAP DUMMY chatmap.g8bpq.net UDP 10090
ENDPORT
PORT
ID=BPQEther Link
TYPE=EXTERNAL
DLLNAME=BPQETHER.DLL
QUALITY=200
IOADDR=2
CHANNEL=A
MAXFRAME=7
FRACK=5000
RESPTIME=1000
RETRIES=10
PACLEN=236
MINQUAL=255
UNPROTO=MAIL ; DEFAULT UNPROTO ADDR
CONFIG
TXMODE BPQ # BPQ or RLI
RXMODE BPQ # BPQ or RLI
TYPE 08FF # Ethernet Type
DEST 01-42-50-51-00-00 # Target Ethernet Addr - Multicast as used in DOS BPQCODE
SOURCE 02-FF-60-BA-5C-9E # Source Ethernet Addr
ADAPTER \Device\NPF_{959094A1-C20D-4FFD-AF68-D43229E4854B} # Adapter Name
ENDPORT
;
; WINMOR Port
;
PORT
ID=WINMOR Port 1
TYPE=EXTERNAL
DLLNAME=WINMOR.DLL
INTERLOCK=4
CONFIG
ADDR 127.0.0.1 8506 PTT DTR
RIGCONTROL COM61 4800 ICOM IC718 5E 5 3.573/u1nA1 7.077/u1 10.133/u1 10.146/u1wA3 14.1105/u1w
CWID True
BW 1600
DRIVELEVEL 100
BUSYLOCK False
ENDPORT
PORT
ID=KAM PACTOR COM 100
TYPE=EXTERNAL
PROTOCOL=PACTOR
IOADDR=64
SPEED=9600
DLLNAME=KAMPACTOR.DLL
QUALITY=0
INTERLOCK=4
CONFIG ; Driver-Specific Configuration
APPL RMS ; Autoconnect to BPQ32 RMS Application
RIGCONTROL COM2 19200 ICOM IC700 70 4 14.103/U1W 14.112/U1 18.1/U1N 10.12/L1
OLDMODE ; Optional - Causes controller to be set to PACTOR mode instead of TOR mode XMITLVL 50/35; ENDPORT PORT ID=SCS PACTOR COM 103 DRIVER=SCSPACTOR COMPORT=103 SPEED=38400 PORTCALL=GM8BPQ CONFIG ; Driver-Specific Configuration APPL RMS ; Autoconnect to BPQ32 RMS Application RIGCONTROL COM2 19200 ICOM IC700 70 4 14.103/U1W 14.112/U1 18.1/U1N 10.12/L1
PSKA 140 ; PSK TX Output level. FSKA 100 ; TX Level for FSK modes. ENDPORT PORT ID=KISS COM53 TYPE=ASYNC PROTOCOL=KISS COMPORT=53 SPEED=9600 INTLEVEL=4 CHANNEL=A QUALITY=0 MAXFRAME=6 FULLDUP=0 FRACK=10000 RESPTIME=3000 RETRIES=10 PACLEN=200 TXDELAY=500 SLOTTIME=100 PERSIST=64 DIGIFLAG=1 ; ; KISSOPTIONS=ACKMODE ; KISSOPTIONS=POLLED,CHECKSUM UNPROTO=FBB ENDPORT PORT ID=VKISS COM2 Link to MIXW DRIVER=BPQVKISS QUALITY=200 COMPORT=2 CHANNEL=A MAXFRAME=4 FRACK=5000 RESPTIME=1000 RETRIES=10 PACLEN=120 DIGIFLAG=1 DIGIMASK=65535 ; Digi UI Frames to all ports ENDPORT PORT ID=AGW Port 1 DRIVER=BPQtoAGW QUALITY=0 IOADDR=1F41 CHANNEL=A MAXFRAME=4 FRACK=7000 RESPTIME=1000 RETRIES=10 PACLEN=120 UNPROTO=MAIL ; DEFAULT UNPROTO ADDR ; ENDPORT ROUTES: ; ; ROUTES TO LOCK IN ; ; specify Callsign, Quality and Port. You can now also specify ; MAXFRAME, FRACK, PACLEN (in that order) to override the port ; defaults. ; ; AE5E-14,200,2,0,0,0,2 ; No Keepalives ;G4RFG,0,1 ; Marginal, So lock out by setting QUALITY = 0 ;G0GDR-1,100,2,1,6000,100 ; not always very good, so MAXFRAME = 1 *** ; ; APPLICATIONS SUPPORTED ; ; NAMES STARTING WITH * ARE NOT INCLUDED IN 'VALID COMMANDS' DISPALY ; APPLICATION 1,RMS,,GM8BPQ-10,BPQRMS,0 APPLICATION 2,CHAT,,G8BPQ-4,BPQCHT,255 APPLICATION 3,FBB,,GM8BPQ-3,BPQFBB,0 APPLICATION 4,BBS,,G8BPQ,BPQBBS,255
John Wiseman G8BPQ
October 2011
Updated February 2021