Installing BPQ on the Raspberry Pi and TNC-Pi or Beaglebone Black and TNC-Black

Willem AC0KQ heeft een grafische bpq-config programmaatje schreven. Hier onder de uitleg.
(bron http://www.prinmath.com/ham/bpqHOWTO.htm)

Tevens is er een Quickstart guide http://www.prinmath.com/ham/howto/quickstart/

Het perl script wat Willem AC0KQ heeft geschreven http://www.prinmath.com/ham/bpq-config

Willem A. Schreüder AC0KQ

The purpose of this HOWTO is to describe how to install BPQ on a Linux Single
Board Computer (SBC) such as the Raspberry Pi or Beaglebone Black.

BPQ is a very sophisticated NET/ROM compatible packet switch written by John
Wiseman G8BPQ. BPQ can be configured to be a sophisticated Packet BBS, a
WinLink2000 RMS gateway, an APRS iGate, or any combination of these.

One of the hurdles to setting up BPQ is that the configuration file can be
rather difficult to set up. To ease this, this HOWTO uses a program named
bpq-config which makes it easy to create the initial configuration.
While bpq-config is primarily intended to create the initial
configuration file which you can then modify, it is actually capable of creating
a fairly sophisticated configuration file using a menu-driven interface.

Much more detail about BPQ are provided at
G8BPQ Home Page

At this time bpq-config only supports the Raspberry Pi and Beagle Bone
Black with John Hansen’s TNC-Pi and TNC-Black. This is because these are fairly
predictable environments. However, with little modification bpq-config
can also be used with other systems.

If you have any corrections or comments about this HOWTO or bpq-config, please
email me. I get lots of junk mail, so
add BPQ to the subject line to get it by my spam filters.

Authorization

If you want to use BPQ as an RMS gateway to WinLink, you need to obtain authorization from the WinLink folks. See this link on how to do that.

To send APRS position reports to the APRS-IS via the APRS Tier 2 Network a
password is required. However, bpq-config contains a function to
generate that password for you, so no additional authorization is required.

Computer Hardware

The Raspberry Pi and Beaglebone Black are available from numerous sources. The
price for a Raspberry Pi 2 or 3 is $35 from mail order vendors such as
MCM Electronics.

The Raspberry Pi B or B+ is sufficiently fast to run BPQ, so you can use that if
you happen to have one. The TNC-Pi works with all of these models.

The Raspberry Pi has the advantage of a very active user community, which makes
it the best supported device. The disadvantage of the Raspberry Pi is that it
has only one serial port, so if you want to use more than one TNC you need to
use the I2C bus to address the TNCs, which requires a bit more work.

The Beaglebone Black is has a street price around $50. It has the advantage of
a more mechanically stable mounting arrangement and four serial ports which
makes multiple TNC easy to mount and use.

The disadvantage of the Beagle Bone black is that it is not as well supported as
the Raspberry Pi so getting it configured is a bit more work.

TNC Hardware

  • The TNC-Pi is available at Coastal Chipworks
    either built or as a kit. Get the kit, it is easy to build and lots of fun.
    The instructions are almost as good as the old Heathkit manuals.
  • For most locations you need some sort of enclosure. I use the Bud
    Industries Pi Sandwitch which allows the Raspberry Pi and TNC Pi pair to be
    mounted.
  • The rPi runs on 5V, so for a 12V system you need a converter to supply 5V
    at 1A continuously. The 7805 style regulators generate a lot of heat at that
    current so I use the Murata 78SRH-5/2-C instead, which will work for input
    voltages from 8-32V DC. I use a right angle Micro USB cable which I cut to
    wire for power. If the cable uses standard color codes, white and red are data
    which you can ignore, red and black are positive and negative.
  • The rPi needs an SD card to store the software. The Model B uses a
    standard size SD, the Model B+ uses the Micro SD format. A high speed and
    reliable card is critical, so getting a 16GB Class 10 card is recommended. The
    bigger card should last longer since the wear is spread over a larger space.
    Get a spare since the cards do wear out eventually.

    Configuring the OS

    Raspbian switch to systemd starting with jessie (Debian 8). These instructions will work
    only with this latest version of Raspbian. For older versions see
    these instructions.

    • Download Raspbian which is
      Debian for the Raspberry Pi. There are several other OS versions, but this one is my
      choice as a pretty vanilla Linux distro. Unzip the image from the ZIP file and follow

      these instructions
      to burn the image to the SD card.
    • Insert the card into the Pi and boot it. You can either
      • Connect a keyboard and monitor and log in directly.
      • Connect the pi to a network running DHCP and ssh into it. The hostname willshow up as RASPBERRY in the DHCP leases on your router.
    • Log in to the computer using user name pi and password raspberry.
    • Run sudo raspi-config
      • Expand Filesystem
      • Change User Password
      • Internationalisation (set time zone)
      • Advanced options (hostname)
    • Install new packages
      • sudo apt-get install vim telnet minicom i2c-tools libpcap0.8
    • Add new user with administrative privilidges
      • sudo adduser username
      • sudo adduser username sudo
    • Free up the serial line the TNC-Pi will use.
      • sudo systemctl mask serial-getty@ttyAMA0.service
    • Reboot the system to make sure the serial line is released.
      • sudo reboot

    Install and configure BPQ

    • Log in using the new user created above.
    • Create the BPQ sub-directory
      • mkdir BPQ
      • cd BPQ
    • Download bpq-config, make it executable and run it
      • wget http://www.prinmath.com/ham/bpq-config
      • chmod a+x bpq-config
      • sudo ./getbpq
    • bpq-config is menu-driven, so just follow the menus.Generally you would do the following things.
      1. Download the BPQ software.
      2. Configure BPQ
        1. Configure the node.
        2. Configure one or more ports.
        3. Configure one or more telnet users.
        4. Optionally add one or more AXIP node maps.
        5. Write the configuration.
      3. Start BPQ and test it.
      4. Set BPQ to automatically start on boot.

    Using BPQ

    • Connect to BPQ using your web browser by typing inhttp://X.X.X.X:8008/on the URL bar, where X.X.X.X is the IP address of your BPQ node
    • You can connect to BPQ node from any computer on the LAN usingtelnet X.X.X.X 8010
  • Log in using your BPQ user name and password set for the Telnet user.

Linux Iptables Blok een compleet land.

Hier onder een iptables script wat het mogelijk maakt om hele landen te blokken.
Op http://www.ipdeny.com/ipblocks/data/countries staan de landen files die je kunt gebruiken.

#!/bin/bash
# Purpose: Block all traffic from AFGHANISTAN (af) and CHINA (CN). Use ISO code. #
# See url for more info - http://www.cyberciti.biz/faq/?p=3402
# Author: nixCraft <www.cyberciti.biz> under GPL v.2.0+
# -------------------------------------------------------------------------------
ISO="af cn" 
 
### Set PATH ###
IPT=/sbin/iptables
WGET=/usr/bin/wget
EGREP=/bin/egrep
 
### No editing below ###
SPAMLIST="countrydrop"
ZONEROOT="/root/iptables"
DLROOT="http://www.ipdeny.com/ipblocks/data/countries"
 
cleanOldRules(){
$IPT -F
$IPT -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
}
 
# create a dir
[ ! -d $ZONEROOT ] && /bin/mkdir -p $ZONEROOT
 
# clean old rules
cleanOldRules
 
# create a new iptables list
$IPT -N $SPAMLIST
 
for c  in $ISO
do 
	# local zone file
	tDB=$ZONEROOT/$c.zone
 
	# get fresh zone file
	$WGET -O $tDB $DLROOT/$c.zone
 
	# country specific log message
	SPAMDROPMSG="$c Country Drop"
 
	# get 
	BADIPS=$(egrep -v "^#|^$" $tDB)
	for ipblock in $BADIPS
	do
	   $IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
	   $IPT -A $SPAMLIST -s $ipblock -j DROP
	done
done
 
# Drop everything 
$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST
 
# call your other iptable script
# /path/to/other/iptables.sh
 
exit 0

Installeer DxSpider op Debian Wheezy

# Install Dx-Cluster

sudo apt-get install wget
sudo apt-get install git-core
sudo groupadd spider
sudo useradd -m sysop -G spider
sudo usermod -g spider sysop
sudo passwd sysop
sudo adduser sysop sudo

# Perl modules
sudo apt-get install libtimedate-perl
sudo apt-get install libnet-telnet-perl
sudo apt-get install libcurses-perl
sudo apt-get install libdigest-sha-perl
sudo apt-get install libdata-dumper-simple-perl

sudo su
cd ~sysop
ln -s /home/sysop/spider /spider
shutdown -r now

After restart login as sysop
cd ~
mkdir spider
git clone git://scm.dxcluster.org/scm/spider spider.new
cp -a /home/sysop/spider.new/.git /spider
rm -rf spider.new
cd /spider
git reset –hard
sudo su
cd /home/sysop/
chown -R sysop.spider spider
find . -type d -exec chmod 2775 {} ;
find . -type f -exec chmod 775 {} ;
exit
cd /spider
mkdir local
mkdir local_cmd
cp perl/DXVars.pm.issue local/DXVars.pm
cp perl/Listeners.pm local/Listeners.pm
cd local
mc
– edit DXVars.pm following the instructions in the comments
– edit Listeners.pm to remove “#” from the line for the port, and add additional ports as needed:
@listen = (
[“0.0.0.0”, 7300],
);

cd /spider/perl/
./create_sysop.pl
cd /tmp
wget http://ftp.w1nr.net/usdbraw.gz
# The next step can take a few minutes
/spider/perl/create_usdb.pl /tmp/usdbraw.gz
cd /spider/src
make
cd /spider/perl
./cluster.pl
# on a separate ssh or system console, log into the system as sysop
/spider/perl/console.pl
# from the command line of the console enter:
load/usdb # US database ?

# Edit /etc/inittab to add the following two lines at the end of the file.
##Start DXSpider on bootup and respawn it should it crash
DX:2345:respawn:/bin/su -c “/usr/bin/perl -w /spider/perl/cluster.pl” sysop >/dev/tty6

Add a line to /etc/services and /etc/inetd.conf for spider
/etc/services

# Local services
bpqspider 7400/tcp # BPQ to Spider Link

/etc/inetd.conf

sudo apt-get install openbsd-inetd

bpqspider stream tcp nowait sysop /spider/src/client client login ax25

Restart inetd – sudo killall -1 inetd

HOW TO install linbpq on a Raspberry Pi

Write jessie image to SD Card

Bootup RPi and connect to your WLAN and change the Raspberry Pi Configuration:
– expand file system
– rename host name
– enable I2C interface
– set keyboard to United States, English (US, with euro on 5)
– set timezone Europe Amsterdam
reboot the RPi

update system

sudo apt-get update
sudo apt-get upgrade

Reboot your Pi

sudo reboot now

Instructions can also be found on http://www.cantab.net/users/john.wiseman/Documents/InstallingLINBPQ.htm

sudo mkdir linbpq
cd linbpq
sudo wget http://www.cantab.net/users/john.wiseman/Downloads/Beta/pilinbpq
sudo mv pilinbpq linbpq
sudo chmod +x linbpq

If you want to use UDP or TCP ports below 1024, or the BPQEther Driver, you must also set some capabilites on the file
(or run as root, wihch is not advisable). You may need to install setcap if it isn’t already on your system – sudo apt-get install libcap2-bin
or the equivalent for your disatribution.

sudo setcap “CAP_NET_RAW=ep CAP_NET_BIND_SERVICE=ep” linbpq

You also need some web pages for the management interface. Create directory HTML (capitals) under your linbpq directory, and download and unzip
https://dl.dropbox.com/u/31910649/HTMLPages.zip into it.

sudo mkdir HTML
cd HTML
sudo wget https://dl.dropbox.com/u/31910649/HTMLPages.zip
sudo unzip HTMLPages.zip

 

The Web server is configured in a similar way to the UI-View web server, although there are minor differences. The “Base Directory” for pages and files is
folder BPQAPRS/HTML, under your BPQ32 Data Directory. The simplest way to get it working is to take a set of pages, and tailor them to your requirements. A
typical set may be downloaded from http://www.cantab.net/users/john.wiseman/Documents/Samples/APRSHTML.zip

cd ~/linbpq
sudo mkdir BPQAPRS
cd BPQAPRS
sudo wget http://www.cantab.net/users/john.wiseman/Documents/Samples/APRSHTML.zip
sudo unzip APRSHTML.zip

Change the rights for linbpq to pi:pi

cd ~
sudo chown -R pi:pi linbpq

Configuring linbpq

The linbpq software is configured by the file /home/pi/linbpq/bpq32.cfg. The configuration is well described in the documentation. See example for my bpq32.cfg file

sudo nano /home/pi/linbp/bpq32.cfg

Run linbpq for the first time

cd ~/linbpq
sudo -u pi ./linbpq

Create a script /home/pi/linbpq/runbpq containing:

cd /home/pi/linbpq
sudo -u pi mv linbpq.new linbpq
sudo -u pi ./linbpq >/dev/tty2

make it executable

sudo chmod +x /home/pi/linbpq/runbpq

Add user pi to group tty

sudo adduser pi tty

Create file /etc/systemd/system/linbpq.service containing:

[Unit]
After=network.target

[Service]
ExecStart=/bin/bash /home/pi/linbpq/runbpq
Restart=always

[Install]
WantedBy=multi-user.target

 

To start the service at bootrun command:
sudo systemctl enable linbpq.service

To stop the service at boot run command:
sudo systemctl disable linbpq.service

To restart the service at boot run command:
sudo systemctl restart linbpq.service

####################
You need to run setcap each time you download a new version of linbpq.

cd linbpq
sudo setcap “CAP_NET_ADMIN=ep CAP_NET_RAW=ep CAP_NET_BIND_SERVICE=ep” linbpq

 

BPQ32.CFG example PI1BDG/PI8BDG

/* This begins a multi-line comment

CONFIGURATION FILE FOR BPQ32: G8BPQ SWITCH SOFTWARE

Includes 1 AX/IP/UDP, 1 Telnet Port, 2 Pi TNC port and 2 KISS TNC Port.
Written by Fred/PA8F V20170419

*/ This ends a multi-line comment
LOCATOR=JO22JB ; Node locator
NODECALL=PI1BDG ; Node callsign
NODEALIAS=BDGNOD ; Node alias (6 characters max)
MAPCOMMENT=BPQ32 Node<BR>PI1BDG Node<BR>PI8BDG BBS<BR>PI8BDG-10 RMS<BR>PI1BDG-4 CHAT<BR>430.925MHz<BR>Bodegraven, ZH
LINMAIL ; Enable BBS
LINCHAT ; Enable CHAT
; ‘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: ; UI broadcast text from NODECALL to fixed dest ID
Net/Rom node and BBS Regio Gouda (430.925: 1k2), Bodegraven, ZH
BBS @ PI8BDG, Chat @ PI1BDG-4, DXSpider @ PI8BDG-6, RMS @ PI8BDG-10
*** ; Denotes end of IDMSG text
/*
The BTEXT below contains an APRS location specification. Search the internet
for “APRS Protocol Specification” for details on the format. If you do not
care to do this, it would be best to replace the line by simple non APRS
text rather than transmit incorrect data which may find it’s way via APRS
IGates to FINDU.COM.
*/

BTEXT: ; UI broadcast text from BCALL to destination UNPROTO=
; Coordinates in APRS format: ddmm.mm(N|S) latitude
; dddmm.mm(W|E) longitude,For longitude the the first ‘d’
; must be either 0 or 1.
!5204.48N/00445.04E#BPQ Node en BBS
*** ; Denotes end of BTEXT text

INFOMSG: ; The INFO command text follows:

PI1BDG – PI8BDG Packet System
Linux BPQ NODE/APRS/IGate – Sysop: Fred/PA8F, Bodegraven NL – JO22jb –
This system runs on a Raspberry-PI 3 under Raspbian-Jessie.

Node Ports:
Port 1: AXUDP Interlinks through the Internet / Hamnet where possible
Port 2: Internal and External Telnet port
Port 3: APRS/IGate – 144.800 MHz, Antenna Diamond X50N at 12m HAAT
Port 4: APRS/IGate – 432.500 MHz, Antenna Diamond X50N at 12m HAAT
Port 5: LAP1k2 – 430.925 Mhz, Antenna Diamond V2000 at 12m HAAT
Port 6: LAP9k6 – 430.925 MHz, Antenna Diamond V2000 at 12m HAAT

Telnet Access:
Port 3694: Uronode Telnet Access
Port 6300: F6FBB Mailbox for forwarding (Internal Application PI8BDG)
Port 7300: DX Cluster (Internal Application PI8BDG-6)

HTTP Access:
PI1BDG Linux BPQ Node: pa8f.ddns.net

Internal Applications:
Mailbox: PI8BDG, F6FBB 7.08
Chat: PI1BDG-4
DX Cluster: PI8BDG-6, DXSpider version 1.55
RMS gateway: PI8BDG-10

Ax25-mail : pa8f@pi8bdg.#zh.nl.eu
AMPR mail : pa8f@pa8f.ampr.org
E-mail : pa8f@ziggo.nl

Have Fun
*** ; Denotes end of INFOMSG text
CTEXT: ; The CTEXT text follows:
Welcome to PI1BDG BPQ32 Node and Telnet Server Use “?” for Help menu.
BDGNOD:PI1BDG}
*** ; Denotes end of CTEXT text

FULL_CTEXT=1 ; 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=10 ; Nodes broadcast interval in minutes
IDINTERVAL=15 ; ‘IDMSG’ UI broadcast interval in minutes, 0=OFF
BTINTERVAL=15 ; 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=144 ; 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 ; Packet buffers – 255 means allocate as many as
; possible, normally about 130, depending upon other
; table sizes.
; TNC default parameters:
PACLEN=236 ; 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 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=A ; Controls processing of *** LINKED command
; Y = allows unrestricted use
; A = allows use by application program
; N = disabled
;
; Port Definitions:
; AX/IP/UDP port definition.
PORT
PORTNUM=1 ; Optional but sets port number if stated
ID=AX/IP/UDP ; Displayed by PORTS command
DRIVER=BPQAXIP ; Uses BPQAXIP capability of bpq32.dll
QUALITY=192 ; Quality factor applied to node broadcasts heard on
; this port, unless overridden by a locked route
; entry. Setting to 0 stops node broadcasts
MINQUAL=142 ; 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=3000 ; Level 2 timout in milliseconds
RESPTIME=1000 ; Level 2 delayed ack timer in milliseconds
RETRIES=10 ; Level 2 maximum retry value
MAXFRAME=7 ; Max outstanding frames (1 thru 7)
PACLEN=236 ; Maximum packet lenght
CONFIG ; Driver specific configuration from here to ENDPORT
MHEARD ; Keep herad status. Opens AXIP MHEARD window
UDP 10093 ;Listens for UDP packets on this UDP port number
; You may listen on additional port numbers if desired:
; UDP 10094 ;Listens for UDP packets on this UDP port number
; The default behavior is to not
; add information to BPQ32’s nodes table for AX/IP/UDP nodes which are not
; explicitly listed in the bpqaxip.cfg file. The default behavior can be
; modified with these commands:
; DONTCHECKSOURCECALL ;This option allows entries in the NODES table from
;stations sending you nodes broadcasts without the
;corresponding node being configured in bpqaxip.cfg.
; 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 VE3UIL-7 206.47.13.106 UDP 10093 B ; Mike Smiths Falls, Ontario, Canada
MAP PD4U-12 pd4u.zapto.org UDP 10093 B ; Mark
MAP F1OYP-5 F1OYP.NO-IP.ORG UDP 10093 B ;
MAP KA9LCF-7 69.1.147.35 UDP 10093 B ; Clifford
MAP KE0CQF-7 KE0CQF.120V.AC UDP 10093 B ; Art
MAP N7VVX-1 n7vvx.ampr.org UDP 10093 B ; Dave
MAP ON0AR-10 on0ar.ampr.org UDP 93 B ; Luc
MAP OH5RM-10 oh5rm.no-ip.org UDP 10093 B ;
MAP ZS6RO-14 zs6ro.ddns.net UDP 10093 B ;
MAP PD1DER-14 213.73.162.161 UDP 10093 B ; Wander
MAP PI1CDR sytsma.co.uk UDP 93 B ; Han
MAP PI1BDG-1 44.137.1.82 B ; Fred
MAP GB7CIP-5 82.70.39.222 UDP 10093 B ; Paul

; If INP3 routing (experimental at this point) is utilized the ‘B’ command
; should not be included
MAP PE1MVX-15 pe1mvx.mooo.com KEEPALIVE 120 UDP 10093 ; Hans
MAP PI1LAP 82.176.45.213 UDP 93 ; Niels
MAP I0OJJ-3 44.134.32.240 UDP 93 ; Gus ir0rm-7.ampr.org

; A keepalive may be needed if you have not properly configured your
; router to direct incoming UDP traffic to the specific machine on you
; LAN which is running BPQ32. You should properly configure your router
; so that the keepalive is unneeded, as this ploy is not completely
; reliable!

; In the exceptional case where your ISP is dropping your incoming traffic
; testing has found that the keepalive might help ‘keep the door open’.
; In the following example a keepalive packet is sent every 30 seconds:
; MAP AA1AA-1 example.net KEEPALIVE 30 UDP 10093 B

; An experimental TCP communication mode was added with the 2009/Aug/28 Beta
; release. The purpose is to circumvent router issues which are almost certain
; when ‘your side’, which we will call the client side, cannot control access
; to direct incoming UDP packets to your machine. Instead you will originate
; a connection via TCP. TCP is a connected protocol, all routers should
; automatically set up the return path to your machine.

; An example would be your BPQ32 node, with a node call of MYCALL-5, on a
; laptop at a public access WiFI site. To connect to AA1AA-1 via this method
; you will need this entry in your MAP list (without the ; of course):
; MAP AA1AA-1 example.net TCP-Master 10093 B

; AA1AA-1 is the node call of the remote side, e.g. server side. The server
; side must have the ability to program its router to direct incoming TCP
; traffic with the specified port number to the machine running BPQ32 Node
; AA1AA-1, just as it does for UDP.

; BPQ32 Node AA1AA-1 at URL=example.net would add the folllowing entry to its
; MAP list:
; MAP MYCALL-5 0.0.0.0 TCP-Slave 10093 B

; As a result AA1AA-1 will listen for TCP packets on port 10093 from MYCALL-5.
; When heard, a TCP connection will result over which AX.25 traffic will flow.
; The server side obtains the client side ip address when the connection
; request is received.

; As currently implemented the client side will have to make advance
; arrangements with the server side so that the correct MAP entries will be in
; effect, as well as to specify a unique TCP port number for each prearranged
; client.
ENDPORT

; Radio port definitions.

; With the following definitions BPQ32 accesses the TNC directly.

PORT
PORTNUM=2 ; Optional but sets port number if stated
ID=Telnet Server
DRIVER=Telnet
CONFIG
CMS=1
CMSCALL=PA8F
CMSPASS=xxxxxx
LOGGING=1
DisconnectOnClose=1
TCPPORT=8010
FBBPORT=8011 6300
HTTPPORT=9123
CMDPORT 63000
LOGINPROMPT=user:
PASSWORDPROMPT=password:
MAXSESSIONS=10
CTEXT=BPQ32 Telnet Server\nPress ? For list of commands \n\n
USER=PA8F,xxxxxx,PA8F,””,SYSOP
USER=PI8BDG,xxxxxx,PI8BDG,””,SYSOP
USER=PD0HLA,xxxxxx,PD0HLA
USER=PD1DER,xxxxxx,PD1DER
USER=PA3GON,xxxxxx,PA3GON
; USER=N0ARY,xxxxxx,N0ARY,BBS
ENDPORT

; Radio port definitions.

; Suitable parameters for radio ports depend upon the quality and speed of the port.
; For 1200 baud RF shared access suggested values are:
; FRACK=8000, RESPTIME=1500, RETRIES=10, MAXFRAME=2, PACLEN=120
; For 9600 baud dedicated high quality suggested values are:
; FRACK=5000, RESPTIME=1000, RETRIES=5, MAXFRAME=7, PACLEN=236
;
; With the following definition BPQ32 accesses the TNC directly.
; The TNC used is a PiTNC in KISS mode

; With the following definition BPQ32 interfaces with AGWPE.exe.
; AGWPE could then interface with a sound card to emulate a TNC.
; There is additional configuration to be done within AGWPE.

PORT
PORTNUM=3 ; Port number
ID=APRS 144.800 MHz ; Displayed by PORTS command
; PI TNC settings
TYPE=I2C
I2CBUS=1 ; I2C Bus number. 0 for version 1 board, 1 for Version 2
I2CDEVICE=16 ; I2C Device number (decimal)
PROTOCOL=KISS ; TNC is used in KISS, JKISS or BPQKISS mode
KISSOPTIONS=PITNC,NOPARAMS ; Using BPQKISS eprom w/o polling
;
PERSIST=64 ; PERSIST=256/(# of transmitters-1)
SLOTTIME=100 ; CMSA interval timer in milliseconds
TXDELAY=500 ; Transmit keyup delay in milliseconds
TXTAIL=30 ; TX key down, in milliseconds, at packet end
;In this application port 2 is used by UIView32 as an APRS digipeater thus
;nodes broadcasts are suppressed on this port by setting QUALITY=0.
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
; With QUALITY=0, the value of MINQUAL is irrelevant
MINQUAL=144 ; Entries in the nodes table with qualities greater or
; equal to MINQUAL will be sent on this port. A value
; of 0 sends everything.
MAXFRAME=2 ; Max outstanding frames (1 thru 7)
; In this application port 2 is used as an APRS digipeater thus the next two
; parms are set per the ‘New Paradigm’ recommendations:
FRACK=7000 ; Level 2 timout in milliseconds
RESPTIME=1000 ; Level 2 delayed ack timer in milliseconds
RETRIES=5 ; Level 2 maximum retry value
PACLEN=128 ; Default max packet length for this port
UNPROTO=APBQ1 ; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
BCALL=PI1BDG-2 ; BTEXT call. unstated defaults to APPL1CALL
L3ONLY=0 ; 1=No user downlink connects on this port
; Digipeating to be done by UIView32 instead of BPQ32 for APRS applications:
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=4 ; Port number
ID=APRS 432.500 MHz ; Displayed by PORTS command
; PI TNC settings
TYPE=I2C
I2CBUS=1 ; I2C Bus number. 0 for version 1 board, 1 for Version 2
I2CDEVICE=17 ; I2C Device number (decimal)
PROTOCOL=KISS ; TNC is used in KISS, JKISS or BPQKISS mode
KISSOPTIONS=PITNC,NOPARAMS ; Using BPQKISS eprom w/o polling
;
PERSIST=64 ; PERSIST=256/(# of transmitters-1)
SLOTTIME=100 ; CMSA interval timer in milliseconds
TXDELAY=500 ; Transmit keyup delay in milliseconds
TXTAIL=30 ; TX key down, in milliseconds, at packet end
;In this application port 2 is used by UIView32 as an APRS digipeater thus
;nodes broadcasts are suppressed on this port by setting QUALITY=0.
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
; With QUALITY=0, the value of MINQUAL is irrelevant
MINQUAL=144 ; Entries in the nodes table with qualities greater or
; equal to MINQUAL will be sent on this port. A value
; of 0 sends everything.
MAXFRAME=2 ; Max outstanding frames (1 thru 7)
; In this application port 2 is used as an APRS digipeater thus the next two
; parms are set per the ‘New Paradigm’ recommendations:
FRACK=7000 ; Level 2 timout in milliseconds
RESPTIME=1000 ; Level 2 delayed ack timer in milliseconds
RETRIES=5 ; Level 2 maximum retry value
PACLEN=128 ; Default max packet length for this port
UNPROTO=APBQ1 ; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
BCALL=PI1BDG-3 ; BTEXT call. unstated defaults to APPL1CALL
L3ONLY=0 ; 1=No user downlink connects on this port
; Digipeating to be done by UIView32 instead of BPQ32 for APRS applications:
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=5 ; Port number
ID=AX25_70cm_1k2 ; Displayed by PORTS command
; KISS TNC with USB interface
TYPE=ASYNC
PROTOCOL=KISS ; TNC is used in KISS, JKISS or BPQKISS mode
COMPORT=/dev/ttyUSB0 ; Serial port is USB interface ttyUSB0
SPEED=9600 ; SERIAL PORT SPEED, NOT RADIO DATA SPEED.
CHANNEL=A ; A for single channel TNC
;
PERSIST=64 ; PERSIST=256/(# of transmitters-1)
SLOTTIME=100 ; CMSA interval timer in milliseconds
TXDELAY=500 ; 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
QUALITY=0 ; There are no Net/Roms in radio range at this site, thus
; no nodes broadcasts need be sent on this radio port.
; As such the value of MINQUAL which follows is ignored.
MINQUAL=142 ; 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=NODE,PD0HLA-14 ; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
BCALL=PI1BDG ; 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=6 ; Port number
ID=AX25_70cm_9k6 ; Displayed by PORTS command
;
; KISS TNC with USB interface
TYPE=ASYNC
PROTOCOL=KISS ; TNC is used in KISS, JKISS or BPQKISS mode
COMPORT=/dev/ttyUSB1 ; Serial port is USB interface ttyUSB0
SPEED=19200 ; SERIAL PORT SPEED, NOT RADIO DATA SPEED.
CHANNEL=A ; A for single channel TNC
;
PERSIST=64 ; PERSIST=256/(# of transmitters-1)
SLOTTIME=100 ; CMSA interval timer in milliseconds
TXDELAY=500 ; 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
QUALITY=0 ; There are no Net/Roms in radio range at this site, thus
; no nodes broadcasts need be sent on this radio port.
; As such the value of MINQUAL which follows is ignored.
MINQUAL=142 ; 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=NODE,PD0HLA-14 ; BTEXT broadcast addrs format: DEST[,digi1[,digi2]]
BCALL=PI1BDG ; 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

APRSDIGI

APRSCall PI1BDG
StatusMsg=Node @ PI1BDG, BBS @ PI8BDG

Symbol=# ; 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 3=APRS,WIDE1-1,WIDE2-1 ; Dest and up to 8 digis
APRSPath 4=APRS,WIDE1-1,WIDE2-1 ; Dest and up to 8 digis
BeaconInterval=30 ; Send Beacon every 30 minute. Minimum is 5 mins
MobileBeaconInterval=2 ; Beacon interval when moving

; 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 3=3,4,IS ; Packets from 3 to 3 and APRS-IS
Digimap 4=3,4,IS ; Packets from 4 to 4 and APRS-IS

; Define Digipeating parameters

TraceCalls=WIDE,TRACE ; Calls for CALLN-n Processing with Trace
; FloodCalls=XXXZZ ; Calls for CALLN-n Processing without Trace
; DigiCalls=ZZXXX ; 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=5204.48N ; Must be in standard APRS Format (ddmm.mmN/S)
LON=00445.04E ; Must be in standard APRS Format (dddmm.mmE/W)

; GPSPort=0 ; if specified, lat/lon will be taken from a GPS,
; GPSSpeed=0 ; 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=3,IS INTERVAL=30 TEXT=;PI8BDG-6 *111111z5204.48N/00445.04E%DX Cluster PI8BDG-6. Telnet pa8f.ddns.net port 7300
OBJECT PATH=APRS,WIDE1-1 PORT=3,IS INTERVAL=30 TEXT=;PI8BDG *111111z5204.48N/00445.04EBPacket BBS PI8BDG. Telnet pa8f.ddns.net port 6300

; IGATE Params. If specified you will gate RF packets and your beacons to APRS-IS
ISHost=aprs.pa4tw.nl ; APRS-IS Host Name. May be either an IPV4 or an IPV6 Host

ISPort=14580 ; Normal port for a filtered feed
ISPasscode=xxxxx ; 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/25 ; Filter Command if needed
;
***
; AGW Emulator Params
;
AGWPORT=8001 ; Port Applications connect to
AGWSESSIONS=5 ; Max sessions allowed
AGWMASK=2 ; Application Mask. This os only needed for connects to the ;application,
; ; and can be specified in decimal or hex – ie 16 or 0x10

ROUTES: ; Locked routes (31 maximum)
/* ; Begin comment block
CALLSIGN,QUALITY,PORT[,MAXFRAME,FRACK,PACLEN,INP3Enable]

The values in […] if stated override the port defaults
MAXFRAME, FRACK and PACLEN if stated override the port defaults.
INP3Enable = 0 (or unstated) disables, 1 enables.
The INP3 (internode protocol) implementation in BPQ32 is experimental.

Example of a route statement using INP3:
HISCAL-12,193,1,0,0,0,1 ;MAXFRAME, FRACK & PACLEN defaults, INP3 Enabled

If you are in range of another radio node you may choose to lock the
route. Locked routes tend to be overused and should not be set unless
truly needed.
*/ ; End comment block
PE1MVX-15,193,1,0,0,0,1 ; INP3 neighbour PE1MVX-15
PI1LAP,193,1,0,0,0,1 ; INP3 neighbour PI1LAP
I0OJJ-3,193,1,0,0,0,1 ; INP3 neighbour I0OJJ-3

PI1BDG-1,255,1 ; PI1BDG-1 is a BPQ32 on a separate machine on my LAN and I want the Quality high!
PI1CDR,193,1
;Y2DEF-1,193,1 ; This will lock the quality of Y2DEF-1 to 193. It is probably unnecessary!
;A1MNO-9,0,1 ; This sets the route quality for A1MNO to 0, thus preventing connection. This
; is shown as an example of how you would lock out A1MNO-9 if AUTOADDMAP were
; active.
*** ; Denotes end of locked routes

/*
Applications:

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 format is:

APPLICATION n,CMD,New Command,Call,Alias, Quality

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.

Associated with each Application number is an application mask. Most BPQ32 applications can be configured to
use any Application. An exception is AR-Cluster using the OCX interface, which must be Appl 1. Normally an Application Mask is configured in the application, rather than an Application Number. The following table gives
the Application Mask values:

Appl: 1,2,3,4,5,6,7,8, etc
Decimal Mask: 1,2,4,8,16,32,64,128, etc
Hexadecimal Mask: 0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x80, etc

*/

APPLICATION 1,BBS,,PI8BDG,BDGBBS,255
APPLICATION 2,CHAT,,PI1BDG-4,BDGCHT,255
APPLICATION 3,RMS,C 2 CMS,PI8BDG-10,BDGRMS,255
APPLICATION 4,DX,C 2 HOST 0,PI8BDG-6,BDGDXC,255

/*

In this example a single local application, AR-Cluster, is supported.
If a connected user enters ‘DX’ the node will involk the application
associated with the first positional parameter.

If we elect to use the OCX interface to AR-Cluster, it must be the first
positional parameter, as AR-Cluster does not give the user the option to
set it’s application mask, rather it is hard coded as 0x1 internally in
AR-Cluster.

If instead we choose to use the AGWtoBPQ interface for AR-Cluster, the
applications may be in any of the 8 possible positions. However we have
chosen position 1, thus the mask in AGWtoBPQ must be configured as 0x1 to
correspond to the first positional parameter.

*/

Freedos

Ron PD1ACF wees me op deze website. Ziet er goed uit, het is zeker de moeite waard om even op de website te kijken. http://www.freedos.org

FreeDOS is a complete, free, DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or develop embedded systems. Any program that works on MS-DOS should also run on FreeDOS. (bron http://www.freedos.org)