======= HOWTO: Use WhatsPac with the Linux Kernel AX.25 Stack ======
The Linux Kernel AX.25 stack works very well for RF connections with multiple TNCs, but it does not have native support for the RHP2 protocol used by the WhatsPac client. Up until such time as someone decides to add such support, the simplest way to connect is to enable localhost AXIP traffic and configure a simple "black box" BPQ instance (without node or BBS) to talk to your Linux node over that localhost connection. This AXIP does not use an external network connection at all; rather it provides an Inter Process communication mechanism by which the BPQ process can communicate with the Linux node.
This document will present the example of GB7WEM, a node in Wembley NW London, which uses so-configured BPQ instance to provide a WhatsPac bridge for G3KEY.
===== Step 1: Configure Localhost AXIP on Linux =====
There are a number of stages to adding localhost AXIP to your Linux node. First, we need to create a socat socket for the kissattach process to use:
''socat pty,link=/dev/ttyq0,raw,echo=0 pty,link=/dev/ptyq0,raw,echo=0 &''
Next we need to attach a kiss interface to the socat socket:
''
kissattach -l /dev/ptyq0 AXIP
kissparms -c 1 -p AXIP
''
Now we need to configure and run the ax25ipd process to use the interface. Create /etc/ax25/ax25ipd.conf as follows:
socket udp 10098
mode tnc
mycall GB7WEM-9
device /dev/ttyq0
speed 19200
loglevel 2
route G3KEY 127.0.0.1 udp 10099
The GB7WEM-9 interface also needs to be added to /etc/ax25/axports:
# name callsign speed paclen window description
AXIP GB7WEM-9 19200 256 4 Local IP Link
and to /etc/ax25/ax25d.conf:
[GB7WEM-9 via *]
NOCALL * * * * * * L
default * * * * * * 0 wemusr /usr/sbin/uronode uronode
Now when we run the ax25ipd service, a network interface called GB7WEM-9 will be created which is only available on localhost udp port 10098, and tries to communicate with a peer AX.25 stack on localhost udp port 10099.
===== Step 2: Configure a BPQ WhatsPac Bridge =====
The BPQ Bridge configuration is a single file, bpq32.cfg:
SIMPLE
NODECALL=G3KEY
LOCATOR=IO91un
NODEMAPSERVER=127.0.0.1
CHATMAPSERVER=127.0.0.1
BBS=0
NODE=0
PASSWORD=
AUTOSAVE=0
SAVEMH=0
PORT
PORTNUM=1
ID=Telnet Server
DRIVER=TELNET
CONFIG
LOGGING=1
DisconnectOnClose=0
TCPPORT=8010
HTTPPORT=8008
LOGINPROMPT=user:
PASSWORDPROMPT=password:
LOCALECHO=YES
MAXSESSIONS=10
CTEXT=G3KEY BPQ32 WhatsPac Bridge\nEnter ? for list of commands\n\n
USER=szymon,,G3KEY,NODE,SYSOP
LOCALNET=192.168.10.0/24
ENDPORT
PORT
ID=AXIP Local
DRIVER=BPQAXIP
QUALITY=200
MAXFRAME=4
FRACK=7000
RESPTIME=1000
RETRIES=10
PACLEN=120
CONFIG
UDP 10099
MAP GB7WEM 127.0.0.1 UDP 10098
ENDPORT
This file does the following:
* Disables any attempts by BPQ to communicate over the interntet
* Disable the BPQ node
* Disables the BPQ BBS
* Sets up a standard Telnet Port (also used for RHP)
* Adds the local network to the Telnet port so that you can connect to it from your client device's Web browser.
* Sets up an AXIP port to listen on UDP port 10099
* Configures the AXIP port to communicate with a peer AX.25 stack on localhost udp port 10098
Now you just need to run the minimal BPQ bridge at the end of your AX.25 startup script.
===== Step 3: Configure WhatsPac =====
Finally you need to configure WhatsPac on your client browser to communicate with the BPQ Bridge. In my case the node and bridge run on a system called ''radio.local'', so the configuration looks like this:
{{:packet:whatspac:whatspac_config_g3key.png?800|}}
Notice that the connect script uses standard BPQ statements for the first hop (to connect to the bridge's RHP server), and then has the Linux Kernel AX.25 Stack as the second hop over localhost AXIP (to GB7WEM).