BPQ32 running config of PI1LAP-7 / PI8LAP

;*\
;Packet/Switch netwerk Kortgene.
;*/

LOCATOR=JO11VN
MAPCOMMENT=PI1LAP-7 Network Node, Kortgene JO11VN

PASSWORD=*****

NODECALL=PI1LAP-7       ; Node callsign
NODEALIAS=NDRLND ; Node alias (6 characters max)

IDMSG:
PI1LAP-7 - PI8LAP - JO11VN
***

BTEXT:                          ; UI broadcast text from BCALL to destination UNPROTO=
PI1LAP-7 - PI8LAP((Lin)BPQ) Ax25 - Net/rom - BBS - JO11VN
***

INFOMSG:                        ; The INFO command text follows:

PI1LAP-7:PI8LAP LinBPQ Packet/Switch Node

Computer : Raspberry PI 3B
Software : Raspbian GNU/Linux 10 / Linbpq 6.0.24.*
Rx/Tx    : Icom 7300 / Yaesu FT7900
Modem    : Scs PTC11pro / Qtsoundmodem 300 Baud / Ardopc / Vara / il2p
Antenne  : HyendFed 20m / X-510n

***
CTEXT:                          ; The CTEXT text follows:
Connected to PI1LAP-7,

PI1LAP-7 > BBS,RMS,C,B,I,N,R,P,U,V,S,MH
***                     ; Denotes end of CTEXT text

MQTT=1
MQTT_HOST=44.137.31.76
MQTT_PORT=1883
MQTT_USER=pd9q
MQTT_PASS=********


HFCTEXT=HF node PI1LAP-7

EnableM0LTEMap=1

FULL_CTEXT=1            ; 0=send CTEXT to L2 connects to NODEALIAS only
                        ; 1=send CTEXT to all connectees
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=25        ; Nodes broadcast interval in minutes
IDINTERVAL=10           ; 'IDMSG' UI broadcast interval in minutes, 0=OFF
BTINTERVAL=15           ; The BTEXT broadcast interval in minutes, 0=OFF
L3TIMETOLIVE=25         ; Max L3 hops
L4RETRIES=5             ; 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=15             ; Max level 2 links
MAXNODES=512            ; Max nodes in nodes table
MAXROUTES=60           ; Max adjacent nodes
MAXCIRCUITS=256         ; Max L4 circuits
MINQUAL=161             ; 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=6               ; INP3 hop limit to add to tables
MAXRTT=90               ; INP3 max RTT in seconds
BUFFERS=999             ; Packet buffers - 999 means allocate as many as
SAVEMH=1

; TNC default parameters:

PACLEN=128              ; Max packet size (236 max for net/rom)
; Level 2 Parameters:
; T1 (FRACK), T2 (RESPTIME) and N2 (RETRIES) are now in the PORTS section
;T3=120                 ; Link validation timer in seconds
T3=900  ; will poll other nodes every 900 seconds, or 15 min.
IDLETIME=10000          ; Idle link shutdown timer in seconds

; Configuration Options:

AUTOSAVE=0              ; Saves BPQNODES.dat upon program exit
BBS=1                   ; 1 = BBS support included, 0 = No BBS support
NODE=1                  ; Include switch support
HIDENODES=0             ; 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

; Port Definitions:

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


; automatically switches bands and updates frequency every 5 seconds
RADIO 1
;Under Connectors then Data Mod set to acc
/dev/ttyICOM 19200 ICOM IC7300 94 PTT_SETS_INPUT AUX HAMLIB=4532
00:00
5,14.102300,USB,F1,D,P123
06:00
5,7.049450,USB,F1,D,P123
19:00
5,14.102300,USB,F1,D,P123
****

PORT
 PORTNUM=1
 ID=AFSK300 HF IL2P +850Hz
 INTERLOCK=1
 DRIVER=UZ7HO
 CHANNEL=A
 PACLEN=100
 CONFIG
  ADDR 44.137.31.70 8101
  BEACONAFTERSESSION
  UPDATEMAP
  MAXSESSIONS=1
  RADIO=1
;WL2KREPORT PUBLIC,api.winlink.org,80,PI8LAP,JO11VN,00-23,7049450,VARA500,50,35,3
;WL2KREPORT PUBLIC,api.winlink.org,80,PI8LAP,JO11VN,00-23,7049450,ARDOP500,50,35,3
;WL2KREPORT PUBLIC,api.winlink.org,80,PI8LAP,JO11VN,00-23,7049450,PKT300,50,35,3
;WL2KREPORT PUBLIC,api.winlink.org,80,PI8LAP,JO11VN,00-23,144850000,PKT1200,10,20,5,0
;WL2KREPORT PUBLIC,api.winlink.org,80,PI8LAP,JO11VN,00-23,7054000,P123,50,35,3
;WL2KREPORT PUBLIC,api.winlink.org,80,PI8LAP-10,JO11VN,00-23,7049500,ROBUST,50,35,3
ENDPORT

PORT
 PORTNUM=2
 ID=AFSK300 HF +1000Hz
 INTERLOCK=1
 DRIVER=UZ7HO
 CHANNEL=B
 PACLEN=100
 CONFIG
  ADDR 44.137.31.70 8101
  BEACONAFTERSESSION
  UPDATEMAP
  MAXSESSIONS=1
  RADIO=1
ENDPORT

PORT
 PORTNUM=3
 INTERLOCK=1
 HIDE=0
 ID=ARDOP500
 DRIVER=ARDOP
 CONFIG
 ADDR 44.137.31.70 8515 PTT CAT
 ARQBW 500MAX
 LEADER 200
 ENABLEPINGACK
 BUSYDET 5
 CONSOLELOG 3
 LOGLEVEL 3
 CWID TRUE
 MONITOR TRUE
 GRIDSQUARE JO11VN
 RADIO=1
  ****
ENDPORT

PORT
 PORTNUM=4
 INTERLOCK=1
 HIDE=0
 ID=VARA500
 DRIVER=VARA
 CONFIG
 ADDR 44.137.31.70 8300 PTT CAT
 RADIO=1
 BW500
 MYCALLS PI1LAP-7 PI8LAP PI1LAP-4 PI8LAP-10
 SESSIONTIMELIMIT 15
 P2P SESSION
 BUSYWAIT 30
 ****
ENDPORT

PORT
 PORTNUM=5
 HIDE=0
 ID=BPSK300 IL2P +2150Hz
 DRIVER=UZ7HO
 CHANNEL=C
 PACLEN=100
 CONFIG
  ADDR 44.137.31.70 8101
  MAXSESSIONS=2
  BEACONAFTERSESSION
  UPDATEMAP
  RADIO=1
ENDPORT


PORT
 ID=Pactor SCS
 COMPORT=/dev/ttySCS ;  COM Port Address
 SPEED=19200          ; COM Port Speed
 DRIVER=SCSPactor
 PORTCALL=PI8LAP
 INTERLOCK=1

 CONFIG                 ; Driver-Specific Configuration
 RADIO=1
 ;USERAPPLCALLSFORPACTOR
 ****
 MAXLEVEL=3
 PSKA 250
 FSKA 250
 MARK 1600
 SPACE 1400
 AQ 1
 STATUS 2
 BUSYHOLD 1                      ; This defines the time the software waits after the Controller has reported the channel free before considering it free.
 BUSYWAIT 20                     ; This changes the time the software will wait for a clear channel before failing a connect request.
 DEBUGLOG 1  ; To activate the SCSLog_xxx_xx.txt files in the logs directory

ENDPORT

PORT
 PORTNUM=7              ; Optional but sets port number if stated
 ID=AX/IP/UDP           ; Displayed by PORTS command
 DRIVER=BPQAXIP         ; Uses BPQAXIP capability of bpq32.dll
 QUALITY=203            ; Quality factor applied to node broadcasts heard on
                        ; this port, unless overridden by a locked route
                        ; entry. Setting to 0 stops node broadcasts
 MINQUAL=161            ; 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=3000             ; Level 2 timout in milliseconds
 RESPTIME=1000          ; Level 2 delayed ack timer in milliseconds
 RETRIES=15             ; Level 2 maximum retry value
 PACLEN=236             ; Max = 236

 CONFIG                 ; BPQAXIP.cfg has been deprecated.  Instead the AXIP
                        ; configuration occurs here:
 MHEARD ON              ; Opens AXIP MHEARD window
;UDP 93                        ; Listens for UDP packets on this UDP port number
 UDP 10093
;AUTOADDMAP            ; This option automatically adds the node call and
                        ; address of a node for which you do not have a
                        ; pre-arranged fixed entry in bpqaxip.cfg.  If the
                        ; option DONTCHECKSOURCECALL is specified then the
                        ; AUTOADDMAP option is ignored.
 BROADCAST NODES


 MAP OK2PEN-5 44.63.16.*** B
 MAP K5DAT-7 0.0.0.0 TCP-Slave 10200 B
 MAP PI1ZTM 44.137.2.*** KEEPALIVE 180 UDP 10093 B
 MAP GB7BED-5 gb7bed.****.** UDP 10093 B
 MAP VE2PKT-2 44.135.49.*** B
 MAP PE1NNZ 44.137.24.*** KEEPALIVE 180 UDP 10193 B
 MAP OL7M SEEVER.****.*** KEEPALIVE 180 UDP 10094 B
 MAP IW2OHX-15 44.134.175.*** KEEPALIVE 180 UDP 10093 B
 MAP PD0LPM-9 213.10.245.*** KEEPALIVE 180 UDP 10093 B
 MAP PA8F-2 44.137.1.*** KEEPALIVE 180 UDP 10093 B
 MAP PD9Q 44.137.31.*** KEEPALIVE 180 UDP 10093 B
 MAP F8COD-2 80.119.24.*** KEEPALIVE 180 UDP 10093 B
ENDPORT

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

CONFIG
 LOGGING=1
 DisconnectOnClose=1
 CMS=1
 CMSCALL=PI8LAP
 CMSPASS=*******
 CMDPORT=7300 7301 6001 6002
 CMSLOGGING=1
 FALLBACKTORELAY=1
; RELAYHOST=127.0.0.1
 RELAYAPPL=BBS
 TCPPORT=6370
 FBBPORT=6380
 HTTPPORT=8081
; SNMPPORT=161
 SECURETELNET=1
 LOGINPROMPT=User:
 PASSWORDPROMPT=Password:
 MAXSESSIONS=10
 CTEXT=Welcome to PI1LAP`s Telnet Server.\nPress ? For list of commands \n\n
 USER=pd9q,******,pd9q,,SYSOP
 USER=pi8lap,******,pi8lap,,SYSOP
ENDPORT

;PORT
; PORTNUM=9
; ID=AFSK 300Baud QO-100 RX-only
; DRIVER=UZ7HO
; CHANNEL=A
; CONFIG
;  ADDR 192.168.1.212 8101
;  UPDATEMAP
;  MAXSESSIONS=1
;ENDPORT

;PORT
; PORTNUM=10
; ID=BPSK 1200Baud QO-100 RX-only
; DRIVER=UZ7HO
; CHANNEL=B
; CONFIG
;  ADDR 192.168.1.212 8101
;  UPDATEMAP
;  MAXSESSIONS=1
;ENDPORT

PORT
 PORTNUM=9                     ; Optional but sets port number if stated
 ID=144.850Mhz FM 1k2                  ; Displayed by PORTS command
 TYPE=ASYNC                    ; Port is RS232 Com
 PROTOCOL=KISS                 ; TNC is used in KISS, JKISS or BPQKISS mode
 FULLDUP=0                     ; Only meaningful for KISS, JKISS or BPQKISS devices
 IPADDR=44.137.31.76
 TCPPORT=8001                  ; 1 = SERIAL PORT COM1 ETC.
 CHANNEL=A                     ; A for single channel TNC, A or B for multichannel
 PERSIST=160                   ; PERSIST=256/(# of transmitters-1)
 SLOTTIME=180                  ; CMSA interval timer in milliseconds
 TXDELAY=270                   ; Transmit keyup delay in milliseconds
 TXTAIL=23                     ; TX key down, in milliseconds, at packet end
 QUALITY=203                   ; Quality factor applied to node broadcasts heard on
                                ; this port, unless overridden by a locked route
                                ; entry. Setting to 0 stops node broadcasts
 MINQUAL=201                   ; 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=5000                    ; Level 2 timout in milliseconds
 RESPTIME=1000                 ; Level 2 delayed ack timer in milliseconds
 RETRIES=25                    ; Level 2 maximum retry value
 PACLEN=128                    ; Default max packet length for this port
 UNPROTO=APBPQ1,WIDE1-1         ; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
 BCALL=PI1LAP-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
ENDPORT

PORT
 PORTNUM=10                      ; Optional but sets port number if stated
 ID=144.800Mhz FM Aprs                  ; Displayed by PORTS command
 TYPE=ASYNC                     ; Port is RS232 Com
 PROTOCOL=KISS                  ; TNC is used in KISS, JKISS or BPQKISS mode
 IPADDR=44.137.31.76
 TCPPORT=8001
 CHANNEL=B                      ; A for single channel TNC, A or B for multichannel
 NOKEEPALIVES=1
 PERSIST=160                    ; PERSIST=256/(# of transmitters-1)
 SLOTTIME=180                   ; CMSA interval timer in milliseconds
 TXDELAY=270                    ; Transmit keyup delay in milliseconds
 TXTAIL=23                      ; 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=201                    ; 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=5000                     ; Level 2 timout in milliseconds
 RESPTIME=1000                  ; Level 2 delayed ack timer in milliseconds
 RETRIES=25                     ; Level 2 maximum retry value
 PACLEN=128                     ; Default max packet length for this port
 UNPROTO=APBPQ1,WIDE1-1         ; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
 BCALL=PI1LAP-7                   ; BTEXT call. unstated defaults to APPL1CALL
 L3ONLY=1                       ; 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=11
 ID=Robust 600Baud ;(RPR and HF Packet)
 TYPE=EXTERNAL
 COMPORT=/dev/ttyTRK
 SPEED=38400
 DRIVER=SCSTracker
 INTERLOCK=1
 CONFIG
****
  M UISC
  O 4                   ; MAXFRAME
  F 190                 ; FRACK
  T 8                   ; TX Delay
  FORCE ROBUST
  DEFAULT ROBUST        ; Default mode is RP
  USEAPPLCALLS          ; Accept connects to all APPLCALLS
  BEACONAFTERSESSION    ; Beacon after session
  %L 1500               ; Centre Freq for Normal Packet (Default is 1500)
  @I 64                 ; Paclen = 60
  %T 1                  ; TX Autotracking 1 = on
  %N 10
  %B R600
ENDPORT


ROUTES:                         ; Locked routes (31 maximum)
; CALLSIGN,QUALITY,PORT[,MAXFRAME,FRACK,PACLEN,INP3Enable]
; PD9Q-15,203,7,0,0,0,0
***                                     ; Denotes end of locked routes

;IPGATEWAY
;  Adapter eth0
; IPADDR 44.137.31.84
;  IPNETMASK 255.255.255.224
;  ;ENABLESNMP
;****


APRSDIGI

DISTKM=1

 APRSCall=PI1LAP-8
 StatusMsg=PI1LAP-8 ARPS DIGI JO11VN ZLD

 Symbol=n         ; Icon to display for station.
 Symset=/         ; This is a "B" in a Red Diamond.

 ;
 ;    Specify a Dest Addreess 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
 ;
 ;    Note if you specify APRS as the destination call it will be replaced by the current BPQ32 APRS
 ;    identification destination - APBPQ1. If you really want to send APRS, specify APRS-0.

;  APRSPath 1=APRS,WIDE1-1             ; Dest and up to 8 digis
;  APRSPath 3=APRS,WIDE1-1
  APRSPath 10=APRS,WIDE1-1
;  APRSPath 9=APRS,WIDE1-1

  BeaconInterval=25                   ; Send Beacon every 30 minute. Minimum is 5 mins
  MAXAGE=120

 ;    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
 ;    If you dont want to digi on a port, specify Digimap n=
 ;
 ;    If you only have one APRS port, you probably don't need a Digimap statement


; Digimap 1=1,IS            ; Packets from 1 to 9, but not APRS-IS
; Digimap 3=3,IS
 Digimap 10=10,IS
; Digimap 9=9,IS

 ;    Define Digipeating parameters

 TraceCalls=WIDE,TRACE  ; Calls for CALLN-n Processing with Trace
 FloodCalls=NLD         ; Calls for CALLN-n Processing without Trace
 DigiCalls=PI1LAP-8         ; 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.

 ;    Specify position. You can specify a fixed LAT/LONG, or use GPS

 LAT=5133.52N           ; Must be in standard APRS Format (ddmm.mmN/S)
 LON=00348.15E          ; Must be in standard APRS Format (dddmm.mmE/W)

 GPSPort=/dev/ttyUSB0              ; if specified, lat/lon will be taken from a GPS,
 GPSSpeed=9600             ; overriding the values set above.


 ; The Digi can generate Object and Item reports.
 ; The format is pretty strict - a single space between param=value pairs,
 ; a comma but no spaces in PATH and PORT string.
 ; Minimum interval is 10 mins. You can have as many OBJECT lines as you need.
 ; See thr APRS specification for information on how to format an Object or Item string.

;  OBJECT PATH=APRS,WIDE1-1 PORT=1 INTERVAL=10 TEXT=;PD9Q*111111z5133.52N/00348.15EIPD9Q-10 Linbpq APRS Station
; OBJECT PATH=APRS,WIDE1-1 PORT=3 INTERVAL=14 TEXT=;PI1LAP-8*111111z5133.52N/00348.15EIPI1LAP-8 ((Lin)bpq) APRS Station NLD
  OBJECT PATH=APRS,WIDE1-1 PORT=10 INTERVAL=16 TEXT=;PI1LAP-8*111111z5133.52N/00348.15EIPI1LAP-8 ((lin)BPQ) APRS Station NLD
;  OBJECT PATH=APRS,WIDE1-1 PORT=2 INTERVAL=17 TEXT=;PI1LAP-10*111111z5133.52N/00348.15EIPI1LAP-10 ((Lin)BPQ) APRS Station

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

 ISHost=euro.aprs2.net
 ISPort=14580              ; Normal port for a filtered feed
 ISPasscode=****              ; If you don't already have a passcode I can issue you one
 ;
 ; You can specify a filter command to be sent when you log on to APRS-IS. Normally you don't
 ; need one. The APRS Mapping Application (BPQAPRS) sets a filter when it starts,
 ; and if you aren't running an APRS application, there isn't much point in getting info from APRS-IS
 ;
 ;ISFilter=m/500              ; Filter Command if needed

; WXCall=PI1LAP-8
; WXFileName=/home/pi/linbpq/current.txt
; WXComment=/PI1LAP-8 Weather Station JO11VN
; WXPortList=6,9,IS            ; comma separated list - include IS to send to APRS-IS
; WXInterval=18            ; mins
 ;
****

LINMAIL
LINCHAT

APPLICATION 1,BBS,,PI8LAP,LAPBBS,255
APPLICATION 2,CHAT,,PI1LAP-4,LAPCHT,255
APPLICATION 3,DXC,C 8 HOST 0 S,PI1LAP-2,LAPDXC,255
APPLICATION 4,RMS,C 8 CMS,PI8LAP-10,LAPRMS,255
;APPLICATION 5,RMS,C 11 ON0SEA-10,PI8LAP-10,LAPRMS,255
APPLICATION 6,SYSINFO,C 8 HOST 1 S

BPQ32 and Ardopcf

I’ve been running John G8BPQ’s ArdopC for a while now. Peter LaRue AI7YN has made a frok of ArdopC called ArdopCF.

https://github.com/pflarue/ardop

I want to use QtSoundmodem at the same time as ArdopCF. For this I need to create a “.asoundrc” in my home directory.

pcm.dsnooped0 {
    type dsnoop
    ipc_key 50000
    ipc_key_add_uid false   # let multiple users share
    ipc_perm 0666           # IPC permissions for multi-user sharing (octal, default 0600)
    slave {
        pcm "hw:1,0"
        channels 1
    }
}

pcm.dmix0 {
    type dmix
    ipc_key 60000
    ipc_key_add_uid false   # let multiple users share
    ipc_perm 0666           # IPC permissions for multi-user sharing (octal, default 0600)
    slave {
        pcm "hw:1,0"
        rate 48000
    }
}

# Point ARDOP to ARDOP2IN and ARDOP2OUT for rate conversion

pcm.ARDOP2IN {type rate slave {pcm "plug:dsnooped0" rate 48000}}
pcm.ARDOP2OUT {type rate slave {pcm "plug:dmix0" rate 48000}}


# combine the capture and playback
pcm.asymwine {
        type asym
        playback.pcm "ARDOP2OUT"
        capture.pcm "ARDOP2IN"
}

# make a default plug for it
pcm.!default {
        type plug
        slave.pcm "asymwine"
}

# define a plug for /dev/dsp
pcm.dsp {
        type plug
        slave.pcm "asymwine"
}

QtSoundModem config

[Init]
CM108Addr=
DispMode=1
DualChan=1
DualPTT=1
FLRigHost=127.0.0.1
FLRigPort=12345
HamLibHost=44.137.31.70
HamLibPort=4532
MinimizetoTray=0
PTT=HAMLIB
PTTBAUD=19200
PTTMode=17
PTTOffString=
PTTOnString=127.0.0.1
RXSampleRate=12000
SCO=1
SndRXDeviceName=:dsnooped0
SndTXDeviceName=:dmix0
SoundMode=0

ArdopCF

pd9q@linux:~/ardop$ ./ardopcf 8515 ARDOP2IN ARDOP2OUT -A -G 8514
ardopcf Version 1.0.4.1.3 (https://www.github.com/pflarue/ardop)
Copyright (c) 2014-2024 Rick Muething, John Wiseman, Peter LaRue
See https://github.com/pflarue/ardop/blob/master/LICENSE for licence details including
  information about authors of external libraries used and their licenses.
ARDOPC listening on port 8515
Capture Devices

Card 0, ID `PCH', name `HDA Intel PCH'
  Device hw:0,0 ID `ALC3234 Analog', name `ALC3234 Analog', 1 subdevices (0 available)

Playback Devices

Card 0, ID `PCH', name `HDA Intel PCH'
  Device hw:0,0 ID `ALC3234 Analog', name `ALC3234 Analog', 1 subdevices (0 available)

Using Both Channels of soundcard for RX
Using Both Channels of soundcard for TX
Opening Playback Device ardopout Rate 12000
Opening Capture Device ardopin Rate 12000
ardopcf listening on port 8515
Webgui available at port 8514.
Setting ProtocolMode to ARQ.

BPQ32 config

PORT
 PORTNUM=3
 INTERLOCK=1
 HIDE=0
 ID=ARDOP500
 DRIVER=ARDOP
 CONFIG
 ADDR 44.137.31.70 8515 PTT CAT
 ARQBW 500MAX
 LEADER 200
 ENABLEPINGACK
 BUSYDET 5
 CONSOLELOG 3
 LOGLEVEL 3
 CWID TRUE
 MONITOR TRUE
 GRIDSQUARE JO11VN
 RADIO=1
 ****
ENDPORT

Webgui

 

Watchdog

I use watchdog to monitor my RPI. Do services go offline or the RPI is not responding, watchdog kicks in and restart the system. Now I also want watchdog to watch my Linbpq. This is possible with watchdog, watchdog looks at a PID file. As far as I know, no PID file is created when starting Linbpq.

Now there is a possibility that when starting Linbpq with systemd a command can be given so that a PID file is created.

This is my linbpq.service file from systemd

pd9q@packet:~ $ sudo cat /etc/systemd/system/linbpq.service
[Unit]
Description=Linbpq Daemon
After=network.target
After=direwolf.target
StartLimitInterval=0

[Service]
Type=simple
Restart=always
RestartSec=5
ExecStartPost=/bin/sh -c "echo $MAINPID > /home/pd9q/linbpq/run/linbpq.pid"
ExecStart=/bin/bash /home/pd9q/linbpq/linbpq.start
WorkingDirectory=/home/pd9q/linbpq

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

This command creates a linbpq.pid file, now it is possible that watchdog monitors linbpq.

ExecStartPost=/bin/sh -c "echo $MAINPID > /home/pd9q/linbpq/run/linbpq.pid"
pd9q@packet:~ $ sudo ls -l /home/pd9q/linbpq/run
-rw-r--r-- 1 root root 4 Oct 14 18:36 linbpq.pid
pd9q@packet:~ $

At the end of my watchdog configuration file (/etc/watchdog.conf) I have added the following line.

# Check if Linbpq is running
pidfile         = /home/pd9q/linbpq/run/linbpq.pid

Take a look at what happens when you stop Linbpq.

sudo systemctl stop linbpq.service

Yes the system is ReBoOtInG (I hoop)

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.

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.

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

 

Direwolf to LinBPQ config

John WQ6N has found a solution for direwolf and Linbpq that works very well for HF.

Direwolf.conf

/etc/direwolf/direwolf.conf
ADEVICE plughw:1,0
ACHANNELS 1
CHANNEL 0
MODEM 300 2130:2230 D
SERIALKISS /dev/ptyp0 19200
KISSPORT 0
DWAIT 0
SLOTTIME 12
PERSIST 63
TXDELAY 40
TXTAIL 10
FIX_BITS 1 AX25
LOGDIR /var/log/direwolf

bpq32.cfg

/linbpq/bpq32.cfg (HFGW Port)
PORT
PORTNUM=XX                       ; Optional but sets port number if stated
ID=BPQ HFGW                     ; Displayed by PORTS command
TYPE=ASYNC                       ; Port is RS232 Com
PROTOCOL=KISS           ; TNC is used in KISS, JKISS or BPQKISS mode
FULLDUP=0                        ; Only meaningful for KISS, JKISS or BPQKISS devices
COMPORT=/dev/ttyp0
SPEED=19200                      ; RS232 COM PORT SPEED
CHANNEL=A                        ; A for single channel TNC, A or B for multichannel
NOKEEPALIVES=1
PERSIST=63                       ; PERSIST=256/(# of transmitters-1)
SLOTTIME=120            ; CMSA interval timer in milliseconds
TXDELAY=300             ; Transmit keyup delay in milliseconds
TXTAIL=100                       ; TX key down, in milliseconds, at packet end
QUALITY=0               ; Quality factor applied to node broadcasts heard on
MINQUAL=0               ; Entries in the nodes table with qualities greater or
MAXFRAME=1                       ; Max outstanding frames (1 thru 7)
FRACK=5000                       ; Level 2 timout in milliseconds
RESPTIME=1000           ; Level 2 delayed ack timer in milliseconds
RETRIES=15                       ; Level 2 maximum retry value
PACLEN=60                        ; Default max packet length for this port
UNPROTO=<URNODE>             ; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
BCALL=<URCALL-SSID>            ; BTEXT call. unstated defaults to APPL1CALL
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
journalctl -o cat -af -u direwolf
Opened /dev/ptyp0 for serial port KISS.
KISS protocol set TXDELAY = 30 (*10mS units = 300 mS), port 0
KISS protocol set Persistence = 63, port 0
KISS protocol set SlotTime = 12 (*10mS units = 120 mS), port 0
KISS protocol set TXtail = 10 (*10mS units = 100 mS), port 0
KISS protocol set FullDuplex = 0, port 0