
Xrouter KISSTCP port
Example of a KISSTCP port
INTERFACE=1
TYPE=TCP
ID=KISSTCP Direwolf
IOADDR=44.137.31.76
INTNUM=8001
PROTOCOL=KISS
KISSOPTIONS=NONE
MTU=1500
ENDINTERFACE
PORT=3
ID=144.850Mhz 1k2
INTERFACENUM=3
CHANNEL=A
QUALITY=203
MINQUAL=201
MHEARD=25
BCAST=MAIL
BCFROM=PI8LAP
FREQUENCY=144850000 ; 144.925 MHz
ENDPORT
Xrouter Axudp port
Example of a Xrouter Axudp port
INTERFACE=1
TYPE=AXUDP
MTU=256
ENDINTERFACE
PORT=8
ID=AXUDP LINK DK0WUE-7
INTERFACENUM=1
IPLINK=44.149.102.81
UDPLOCAL=10093
UDPREMOTE=10093
FRACK=2000
QUALITY=203
MINQUAL=201
MHEARD=25
BCAST=MAIL
BCFROM=PI8LAP
RESPTIME=200
RFBAUDS=56000
ENDPORT
Xrouter VaraHF port
Example of a Xrouter VaraHF port
INTERFACE=1 ID=VARA HF TYPE=VARA MTU=1500 IOADDR=44.137.31.75 INTNUM=8300 CONFIG=MYCALL PI1LAP-7 PI8LAP PI1LAP-4 PI8LAP-10 CONFIG=BW500 CONFIG=LISTEN ON CONFIG=P2P SESSION ENDINTERFACE PORT=1 ID=VARA HF INTERFACENUM=1 MHEARD=25 ENDPORT
Xrouter Config

After running BPQ32 for years, I needed something to get the fire going again. I chose Xrouter. Below are some configuration examples of Xrouter. These are small steps.
This line (!ddmm.mmN/dddmm.mmE) but then with “” was killing my wordpress website 🙂 There is always something.
# XROUTER.CFG - Main Configuration file for XRPi / XRLin
#===================================================================
#
# Primary Identity for AX25 NetRom.
#
NODECALL=PI1LAP-7
NODEALIAS=NDRLND
PMSALIAS=LAPBBS
PMSCALL=PI8LAP
PMSQUAL=255
PMSTYPE=4
PMSHADDR=.#ZLD.NLD.EURO
#
#
# QTH specifies where the node is located.
#
QTH=Kortgene, JO11VN
#
#
# Callsign for console operations. You can set this independently
# of NODECALL or you may set them the same. You may at any time
# override this callsign using the "linked as" command.
#
CONSOLECALL=PD9Q
#
#
# Chat server callsign. This may be the same as the nodecall, but
# must use a different SSID, preferably -8.
#
CHATCALL=PI1LAP-4
CHATALIAS=LAPCHT
CHATLINKS=+PE1NNZ-4,+PI1ZTM-2
CHATQUAL=255
CHATLOG=128
CHATPORT=3600
LOCATOR=JO11VN
IPADDRESS=44.137.31.68
DOMAIN=ampr.org
HOSTNAME=linux.pd9q.ampr.org
DNS=44.137.0.1
HTTPPORT=1080 1080
HTTPROOT=/home/pd9q/HTTP
RLOGINPORT=1013 0
POP3PORT=110 110
TELNETPORT=6023
MQTTPORT=1883
LOG=32555
CONTACT=pd9q(@)packet-radio.net
MAPCOMMENT=XRLin (XRouter for 64bit Linux) test node
#
CTFLAGS=2
SORTBYCALL=1
AGWPORT=8001
# Hamlib
RADIO=1
NAME=ICOM 7300
TYPE=6
COM=44.137.31.75:4532
ENDRADIO
CTEXT
PI1LAP-7 AX25/IP Router
Type ? for list of commands.
***
#
#
# This text is the response to the 'I' command
#
INFOTEXT
XRLin Packet Router, Kortgene, NL, JO11VN
***
#
# This ID message is sent every IDINTERVAL.
# Only the first line is sent.
# If your APRS-format static position code is included, starting
# within the first 40 characters, you will be visible on APRS maps
# and the MHeard function will record distances to heard stations.
# The format is (!ddmm.mmN/dddmm.mmE) where dd represents degrees
# of latitude/longitude and mm.mm represents minutes to two decimal
# places. "N" and "E" may be replaced by "S" and "W"
# as appropriate.
#
#5133.52N/00348.15E
IDTEXT
!5133.52N/00348.15E PI1LAP-7 / PI8LAP
***
#
#
#
# =======================================================================
# Interface definitions - These MUST precede any port definitions
# =======================================================================
#
# Loopback interface
# Please note: This loopback is internal to XRouter only. It does NOT
# interface with Linux! It is purely for testing, and you should remove
# it once you are up and running, otherwise it WILL confuse you.
#
INTERFACE=1
TYPE=LOOPBACK
MTU=256
PROTOCOL=KISS
ENDINTERFACE
#
INTERFACE=2
ID=enp1s0
TYPE=EXTERNAL
PROTOCOL=ETHER
MTU=1064
ENDINTERFACE
INTERFACE=3
TYPE=TCP
ID=KISSTCP Direwolf
IOADDR=44.137.31.76
INTNUM=8001
PROTOCOL=KISS
KISSOPTIONS=NONE
MTU=1500
ENDINTERFACE
INTERFACE=4
TYPE=TCP
ID=KISSTCP QTSM
IOADDR=44.137.31.75
INTNUM=8100
PROTOCOL=KISS
KISSOPTIONS=NONE
MTU=1500
ENDINTERFACE
INTERFACE=5
ID=VARA Tests
TYPE=VARA
MTU=1500
RADIONUM=1
IOADDR=44.137.31.75
INTNUM=8300
CONFIG=MYCALL PI1LAP-7 PI8LAP PI1LAP-4 PI8LAP-10
CONFIG=BW500
CONFIG=LISTEN ON
CONFIG=P2P SESSION
ENDINTERFACE
INTERFACE=10
TYPE=AXUDP
MTU=256
ENDINTERFACE
#
# =====================================================================
# Port definitions. Each one begins with PORT and ends with ENDPORT
# =====================================================================
#
# Port "attached" to interface 1
PORT=1
ID=Loopback port
INTERFACENUM=1
ENDPORT
#
PORT=2
ID=Ethernet
INTERFACENUM=2
IPADDRESS=44.137.31.68
NETMASK=255.255.255.224
ENDPORT
PORT=3
ID=144.850Mhz 1k2
INTERFACENUM=3
CHANNEL=A
QUALITY=203
MINQUAL=201
MHEARD=25
BCAST=MAIL
BCFROM=PI8LAP
FREQUENCY=144850000 ; 144.925 MHz
ENDPORT
PORT=4
ID=AFSK 850Hz IL2P+CRC
INTERFACENUM=4
CHANNEL=A
MHEARD=25
NODESINTERVAL=0
QUALITY=0
PACLEN=80
RETRIES=10
RFBAUDS=300
BCAST=MAIL
BCFROM=PI8LAP
FREQUENCY=7049450
SESSLIMIT=2
USERS=2
IDTEXT=!5133.52N/00348.15E PI1LAP-7 / PI8LAP
ENDPORT
PORT=5
ID=AFSK 1000Hz
INTERFACENUM=4
CHANNEL=B
MHEARD=25
NODESINTERVAL=0
QUALITY=0
PACLEN=80
RETRIES=10
RFBAUDS=300
BCAST=MAIL
BCFROM=PI8LAP
FREQUENCY=7049450
SESSLIMIT=2
USERS=2
IDTEXT=!5133.52N/00348.15E PI1LAP-7 / PI8LAP
ENDPORT
PORT=6
ID=BFSK 2150Hz IL2P+CRC
INTERFACENUM=4
CHANNEL=C
MHEARD=25
NODESINTERVAL=0
QUALITY=0
PACLEN=80
RETRIES=10
RFBAUDS=300
BCAST=MAIL
BCFROM=PI8LAP
FREQUENCY=7049450
SESSLIMIT=2
USERS=2
IDTEXT=!5133.52N/00348.15E PI1LAP-7 / PI8LAP
ENDPORT
PORT=7
ID=VARA HF
INTERFACENUM=5
MHEARD=25
ENDPORT
PORT=8
ID=AXUDP LINK DK0WUE-7
INTERFACENUM=10
IPLINK=44.149.102.81
UDPLOCAL=10093
UDPREMOTE=10093
FRACK=2000
QUALITY=203
MINQUAL=201
MHEARD=25
BCAST=MAIL
BCFROM=PI8LAP
RESPTIME=200
RFBAUDS=56000
ENDPORT
PORT=10
ID=AXUDP LINK PA8F
INTERFACENUM=10
IPLINK=44.137.1.82
UDPLOCAL=10093
UDPREMOTE=10093
FRACK=2000
QUALITY=203
MINQUAL=201
MHEARD=25
BCAST=MAIL
BCFROM=PI8LAP
RESPTIME=200
RFBAUDS=56000
ENDPORT
PORT=11
ID=AXUDP LINK GB7BED
INTERFACENUM=10
IPLINK=gb7bed.packetnode.net
UDPLOCAL=10093
UDPREMOTE=10093
FRACK=2000
QUALITY=203
MINQUAL=201
MHEARD=25
BCAST=MAIL
BCFROM=PI8LAP
RESPTIME=200
RFBAUDS=56000
ENDPORT
PORT=12
ID=AXUDP LINK PI1ZTM
INTERFACENUM=10
IPLINK=44.137.2.174
UDPLOCAL=10093
UDPREMOTE=10093
FRACK=2000
QUALITY=203
MINQUAL=201
MHEARD=25
BCAST=MAIL
BCFROM=PI8LAP
RESPTIME=200
RFBAUDS=56000
ENDPORT
PORT=13
ID=AXUDP LINK PE1NNZ
INTERFACENUM=10
IPLINK=44.137.24.150
UDPLOCAL=10093
UDPREMOTE=10193
FRACK=2000
QUALITY=203
MINQUAL=201
MHEARD=25
BCAST=MAIL
BCFROM=PI8LAP
RESPTIME=200
RFBAUDS=56000
ENDPORT
PORT=15
ID=AXUDP LINK F8COD-2
INTERFACENUM=10
IPLINK=80.119.24.209
UDPLOCAL=10093
UDPREMOTE=10093
FRACK=2000
QUALITY=203
MINQUAL=201
MHEARD=25
BCAST=MAIL
BCFROM=PI8LAP
RESPTIME=200
RFBAUDS=56000
ENDPORT
PK88 in to kiss.

An old Packet friend asked me if I had a script that could get an AEA pk88 in and out of KISS. No, I didn’t. But I do have a PK88. So why not try and see if I can make it work?
It gives me a headache. With 3x Ctrl-C, you can get it out of KISS in under a second. I mean, you have to type 3x Ctrl-C in one second. I had set the terminal speed to 9600 baud. I couldn’t get it to work until I set it to 19200 baud.
After quickly pressing Ctrl-C three times, I managed to get it out of Kiss. ​​Now I can write a little script.
Kiss-on.sh
#!/bin/bash # # Script to put TNC's into KISS mode. # Set you terminal speed to 19200 (TBAUD 19200). # # Set KISS ON, Keep It Simple Stupid :) BAUD="19200" stty $BAUD < /dev/ttyUSB0 echo -ne 'KISS ON\r' > /dev/ttyUSB0 sleep 1
Kiss-off.sh
#!/bin/bash # # Script to get TNC's out of KISS mode. # Set you terminal speed to 19200 (TBAUD 19200). # BAUD="19200" stty $BAUD < /dev/ttyUSB0 echo -ne "\x03" > /dev/ttyUSB0 echo -ne "\x03" > /dev/ttyUSB0 echo -ne "\x03" > /dev/ttyUSB0 sleep 1 echo -ne "RESTART\r" > /dev/ttyUSB
So nice, that works….
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 nodes 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 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 digid 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 digid 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 isnt 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 dont 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 dont 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 dont
; need one. The APRS Mapping Application (BPQAPRS) sets a filter when it starts,
; and if you arent running an APRS application, there isnt 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

9600 bps Packet Radio only twice as fast as 1200

AX25 V2.2
Most AX.25 connected mode implementations were written in the previous Century and are based on the standard from 1984. They were not updated when the protocol was enhanced in 1998.
The newer version has several improvements that make bulk transfer of data more efficient.
- Larger packets.
- Larger window size. (number of information frames that can be sent before waiting for an ack.)
- More efficient acknowledgements.
- Much more efficient retransmission for lost packets.
- Completely interoperable with the v2.0 standard.
I also make the case that using a KISS TNC for connected mode packet is greatly lacking because the connection oriented protocol does not know about the radio status or the transmit queue length in the TNC.
More in-depth description can be found here:
https://raw.githubusercontent.com/wb2osz/direwolf/dev/doc/Why-is-9600-only-twice-as-fast-as-1200.pdf

Aprs Documentation project of WB2OSZ

It’s hard to find good information on APRS. A web search produces mostly outdated misinformation and little of value. This is the beginning of a collection of the essential documentation.
Source  https://github.com/wb2osz/aprsspec?tab=readme-ov-file
- APRS-Digipeater-Algorithm.pdf
- APRS-Digpeaters-in-Space.pdf
- APRS-Information-Services.pdf
- APRS12b.pdf
- APRS12c.pdf
- How-to-Get-Started-in-APRS.pdf
- The-Best-APRS-Presentations.pdf
- Understanding-APRS-Packets.pdf
- What-is-APRS.pdf
