Example bpq32.cfg

Node configuration file for ABNGDN as at 2022-04-15

Station Context

Linbpq is running on Ubuntu 22.04 LTS on a MacMini. I installed and built Hamlib from source, then the Direwolf Dev release - you have to install Hamlib first or Direwolf won't include Hamlib Support, and the Dev release is required for IL2P support. For RF I have:

I have configured Direwolf to connect to the IC-705 through Hamlib's rigctld rather than direct; this then allows linbpq to control the radio too. I simply have it set up to switch to the right frequency and mode when the node starts, but it could be used for example to listen on different bands at different parts of the day, or to set a frequency for say Vara HF to connect.

; *************************************************************************************************
; Global settings 
; *************************************************************************************************
SIMPLE
; 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


NODECALL=G6FJI                           ; Node callsign
NODEALIAS=ABNGDN                         ; Node alias (6 characters max)

; Shows station on map at http://nodemap.g8bpq.net:81/
; Enabled if locator set
;LOCATOR=IO91iq                           ; Maidenhead locator
;MAPCOMMENT=Attended Experimental node on 144.950Mhz and 7052.3kHz

AUTOSAVE=1                               ; Tells Node to save Nodes and Routes information on closedown
SAVEMH=1                                 ; Tells Node to save and restore MH lists when shut down and restarted

BBS=1                                    ; 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=1                                   ; 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.

; this should exclude these users from all access - including being recorded from a Nodes broadcast
; @@@ does't seem to work on Nodes at least
; trying to exclude these for example:
; 2RZCON	VK2RZ
; 2RZBBS	VK2RZ-1
; 2RZRMS	VK2RZ-10
; 2RZCHT	VK2RZ-4
; 2RZBPQ	VK2RZ-7
; ATMNOD	VK3ATM-2
; AYMNOS	VK3AYM

EXCLUDE=K6BDE N2NOV VK2RZ VK3ATM VK3AYM

PASSWORD=<your node sysop password>
EnableEvents=1                           ; allows certin 'events' to cause an external program to be run

IDMSG:                                   ; UI broadcast text from NODECALL to fixed dest ID
BPQ node G6FJI/alias ABNGDN martinontheroad@gmail.com  IO91iq. 144.950 / 7.0523
***                                      ; Denotes end of IDMSG text

INFOMSG:                                 ; The INFO command text follows - shown when you type INFO at the node command prompt:
G6FJI - attended BPQ Node in Abingdon - experimental!
***                                      ; Denotes end of INFOMSG text

CTEXT:                                   ; The CTEXT text follows - shown when you connect
BPQ node G6FJI, alias ABNGDN, run by Martin G6FJI in Abingdon.
Type  ?  for Help
***                                      ; Denotes end of CTEXT text

; If FULL_CTEXT is set to 1, CTEXT will be sent to all connects. If FULL_CETEXT is set to 0, CTEXT will only be sent to users who connect directly to the Node Alias
FULL_CTEXT=0

BTEXT:                                   ; broadcast identifier
G6FJI/ABNGDN - Node in Abingdon IO91iq. Node=G6FJI/ABNGDN Chat=ABICHT BBS=ABIBBS. Sysop martinontheroad@gmail.com
***

; Network System Parameters. 
; There are defaults from John G8BPQ but liase with those running nodes that you link to
OBSINIT=5                                ; INITIAL OBSOLESCENCE VALUE
OBSMIN=4                                 ; MINIMUM TO BROADCAST
NODESINTERVAL=45                         ; '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

; @@@ Seems to work but...
; - How does this interact with quality and minqual in port config?
; - it doesn't always work!  I have 5 nodes from NBA with qual 3 or 4
MINQUAL=35                               ; MINIMUM QUALITY TO ADD TO NODES TABLE
                                         ; was 140 but that excludes most of NBA broadcast!

; 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

; Rig Control - see https://www.cantab.net/users/john.wiseman/Documents/RigControl.html
; RADIO NUMBER [DEBUG] [AUTH Passcode] PORT SPEED MAKE MODEL [CI-V Addr] [PTTMUX COMn] [PTT_SETS_INPUT] [DATAPTT] [HAMLIB=PORT]
; NUMBER is used to link a RADIO definition with one or more PORT definitions. 
; DEBUG enables logging of Rigcontrol actions to the system debug log, and shouldn't normally be used.
; AUTH Passcode enables authenticated access to the Rigcontrol module over the network. Normally only applications on the same machine can use rigcontrol.
; PORT and SPEED are normally Serial Port Name and Baud Rate for Serial Interfaces. See here for info on defining a CM108 PTT interface.
; To use HAMLIB's rigctld replace PORT SPEED MAKE MODEL with HAMLIB HostIPAddr:Port, eg HAMLIB 127.0.0.1:4532
; To use FLRIG replace PORT SPEED MAKE MODEL with FLRIG HostIPAddr:Port, eg FLRIG 127.0.0.1:12345

; FTM-300D - uses vox, not controllable here
;RADIO 1
;****

; IC-705 - uses Hamlib and CI-V controls
; rigctl settings would be
; freq: F 7052300
; mode: M PKTUSB 2400
; scan definitions use comma-separated but no space in definitions
;  dwell time in seconds
;  F in MHZ
;  Mode 
;  Bandwidth (not documented)
RADIO 2 
 DEBUG
 HAMLIB 127.0.0.1:4532
 86400,7.052300,PKTUSB,2400
****

; Tait 2010ii - connected via TNC in kiss mode, not controllable here
;RADIO 3
;****


; *************************************************************************************************
; Individual Port Settings
; documnetatation at https://www.cantab.net/users/john.wiseman/Documents/BPQCFGFile.html##Port
; *************************************************************************************************
PORT
  PORTNUM=1
  ID=VHF 2m
  INTERLOCK=1                            ; needed if rig control enabled
                                         ; ports that use the same rig need the same interlock group

  QUALITY=192                            ; quality for nodes heard on this port
  MINQUAL=10                             ; min quali for nodes broadcast
  
  ; this port is using a KISS modem over TCP
  TYPE=ASYNC
  PROTOCOL=KISS
  IPADDR=127.0.0.1
  TCPPORT=8001

  ; This tells the modem what channel (ie radio) to use
  ; Direwolf puts channels A&B on first sound card, C&D on second - stereo inputs can support two
  CHANNEL=A
  DIGIFLAG=1                             ; 0 = dont digi, 1 = digi everything, 255 = digi UI frames only.
  DIGIPORT=0                             ; Port to send digied frames on. Zero means the port it was received on, any other number means send on that port.

  ; Tuning for SignaLink USB on VHF
  RETRIES=4                              ; Level 2 maximum retry value
  PACLEN=150                             ; max is 255 but also depends on other nodes along the link
  SLOTTIME=100                           ; CSMA interval timer, ms
  PERSIST=63                             ; Probability to transmit (out of 255)
  TXDELAY=150                            ; keyup delay in ms
  TXTAIL=50                              ; Passed to Kiss TNCs - try 50-100 on HF if trouble decoding
  FULLDUP=0                              ; Passed to Kiss TNCs - just ignore!

  ; Could set a default application to connect to on this port
  ; APPL BBS                             ; Autoconnect to BBS Application
ENDPORT

PORT
  PORTNUM=2
  ID=HF 40m
  INTERLOCK=2                            ; seems to be needed if rig control enabled
                                         ; ports that use the same rig need the same interlock group

  QUALITY=192                            ; quality for nodes heard on this port
  MINQUAL=140                            ; min quali for nodes broadcast - set high for HF to reduce chatter

  ; this port is using a KISS modem over TCP
  TYPE=ASYNC
  PROTOCOL=KISS
  IPADDR=127.0.0.1
  TCPPORT=8001

  ; This tells the modem what channel (ie radio) to use
  ; Direwolf puts channels A&B on first sound card, C&D on second - stereo inputs can support two
  CHANNEL=C

  ; BPQ has rig control!
  RADIO=2                                ; use IC-705; must setup interlock if used
  ; could use different radios for tx and rx
  ;TXRADIO=1
  ;RXRADIO=3

  DIGIFLAG=1                             ; 0 = dont digi, 1 = digi everything, 255 = digi UI frames only.
  DIGIPORT=0                             ; Port to send digied frames on. Zero means the port it was received on, any other number means send on that port.

  ; Needs tuning for HF on IC-705
  ; Tuning for SignaLink USB
  RETRIES=5                              ; Level 2 maximum retry value
  PACLEN=80                              ; shorter is better on HF but not too short
  SLOTTIME=100                           ; CSMA interval timer, ms
  PERSIST=63                             ; Probability to transmit (out of 255)
  TXDELAY=150                            ; keyup delay in ms
  TXTAIL=100                             ; Passed to Kiss TNCs - try 50-100 on HF if trouble decoding
  FULLDUP=0                              ; Passed to Kiss TNCs - just ignore!

ENDPORT

PORT
  PORTNUM=3
  ID=Telnet
  INTERLOCK=3                            ; seems to be needed if rig control enabled - though shouldn't matter for Telnet!
                                         ; ports that use the same rig need the same interlock group

  QUALITY=201                            ; quality for nodes heard on this port
  MINQUAL=10                             ; min quali for nodes broadcast
  
  ; driver line has to be before CONFIG
  ; Documentation: https://www.cantab.net/users/john.wiseman/Documents/TelnetServer.htm
  DRIVER=Telnet

  CONFIG                                 ; "Driver-Specific Configuration" - everything between here and ENDPORT
  SECURETELNET=1                         ; otherwise there is a gaping security hole
  DisconnectOnClose=0                    ; 1 = closes window when you bye
  TCPPORT=8010
  FBBPORT=8011
  HTTPPORT=8008
  LOGINPROMPT=user:
  PASSWORDPROMPT=password:
  MAXSESSIONS=10 
  LOGGING=1                              ; only an option for telnet

  CTEXT=Welcome to G6FJI Telnet Server\n Enter ? for list of commands\n\n
  USER=G6FJI,<your node telnet password<,G6FJI,,SYSOP

  ; for RMS / WinLink.  Default server can be overridden
  ; see also https://www.cantab.net/users/john.wiseman/Documents/PATSupport.html
  ; CMSSERVER=cms.winlink.org
  CMS=1
  CMSCALL=G6FJI
  CMSPASS=<your winlink password>
  CMSLOGGING=1

  ; See https://www.cantab.net/users/john.wiseman/Documents/TelnetServer.htm#:~:text=10%2CBPQRMS%2C255-,RMS%20Relay%20Emulation
  RELAYAPPL=BBS                          ; or RMS  

  CMDPORT 63000 63001                    ; custom application ports
ENDPORT

; Example for AXIP linking - not tested by G6FJI
;PORT
; PORTNUM=N
; ID=AXIPUDP
; DRIVER=BPQAXIP                           ; Uses BPQAXIP.DLL
; QUALITY=200                              ; Quality factor applied to node broadcasts heard on
;                                          ; this port, unless overridden by a locked route
;                                          ; entry. Setting to 0 stops node broadcasts
; MINQUAL=0                                ; 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=7                               ; Max outstanding frames (1 thru 7)
; FRACK=7000                               ; Level 2 timout in milliseconds
; RESPTIME=1000                            ; Level 2 delayed ack timer in milliseconds
; RETRIES=10                               ; Level 2 maximum retry value
; UNPROTO=ID                               ; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
; ;BCALL=NOCALL                            ; BTEXT call. unstated defaults to APPL1CALL
;CONFIG
; UDP 10093                                ;Listens for UDP packets on this UDP port number
; UDP 10092
; MHEARD ON
;; AUTOADDMAP
; BROADCAST NODES
; BROADCAST ID
;
; ;MAP CALL IP-ADDRESS UDP 10093 B
; MAP GB7CIP-5 82.70.39.222 UDP 10093 B
;ENDPORT

; *************************************************************************************************
; Global settings that came after nodes
; *************************************************************************************************
LINMAIL
LINCHAT

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.
; Examples
; 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
; 
; MB7NBA is good,on port 1 (RF)
; MB7NBA,200,1
***

; Applications
; For walkthrough of adding custom applications see https://wiki.oarc.uk/packet:linbpq_custom_applications 
; https://www.cantab.net/users/john.wiseman/Documents/LinBPQ%20Applications%20Interface.html
; 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,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.

APPLICATION 1,BBS,,G6FJI-2,ABIBBS,254
APPLICATION 2,CHAT,,G6FJI-1,ABICHT,254
APPLICATION 3,HARS,C 1 HARS S
APPLICATION 4,PADDLE,C 3 HOST 0 S,G6FJI
APPLICATION 5,HELLO-WORLD,C 3 HOST 1 S,G6FJI