BPQ Home   BPQ32 Home

The G8BPQ AX25 Networking Package for Win32.

1. Introduction.

BPQ32 allows a computer running under Microsoft Windows® to act as a Node in a NET/ROM compatible AX25 network, and to support a multiuser Mailbox, or other similar applications.

There  is now  a  Linux version called LinBPQ. These documents apply to either version unless stated otherwise.

The software was based on the DOS progam BPQCODE

The switch section of the code allows up to 32 comms ports, supporting a number of radio protocols (see below for supported interfaces) and the application interface supports up to 64 connections.

Note the software is NOT Public Domain. It may be used only by licenced Radio Amateurs in Amateur Radio systems, and by authorized emergency groups, such as MARS

AX25 Interfaces.

The main interface to radios is via KISS mode TNCs connected to standard RS232 com ports.

Other interfaces are provided, many are built into bpq32.dll, but some are separate .dll files. In either case, they are configured as External drivers.


This allows BPQ32 to use SV2AGW's AGW Packet Engine as a virtual TNC. This allows BPQ32 to interface via sound cards, or indeed any device supported by AGWPE.


Supports Node to node connections over the Internet using AX/IP or AX/UDP.


Supports a connection over a local Ethernet to other BPQ (DOS or BPQ32) systems, or others supporting the BPQETHER protocol (eg Linux, NOS).


Provides a virtual KISS TNC via an emulated serial port. Allows applications written to talk to a KISS TNC (such as UI-View (16bit), G7JJF's WINTNC, WinAPRS) to use BPQ32.


This allows BPQ32 to use SCS Tracker in Robust Packet or normal HF Packet Mode.

UZ7HO SoundModem

This allows BPQ32 to use the UZ7HO Sound Card Modem in Session modee.

Non-AX25 Radio Interfaces.

BPQ32 supports Data over Radio protocols other than ax.25 Packet. These are configured as External driver .dlls. See this document for information on using Pactor with BPQ32. There is also a driver available for the WINMOR Virtual TNC.

The following non-x.25 drivers are provided:


This allows BPQ32 to use an AEA/Timewave PK232 Controller in Pactor Mode.


This allows BPQ32 to make and receive Clover or Pactor calls using the HAL Communications Controllers.


This allows BPQ32 to use a Kantronics KAM Controller in Pactor Mode.


MultiPSK (a multimode Soundcard program) has two ARQ modes (ALE400 and 141A) that can be used by BPQ32 for interactive access or Mail forwarding.


This allows BPQ32 to use an SCS PTC Controller in Pactor Mode.


This allows BPQ32 to use the V4 Virtual TNC.


This allows BPQ32 to use the Winmor Virtual TNC.


This allows BPQ32 to receive (but not make) Telnet connections.

There is a Rig Control Driver, which allows you to control the frequency and mode of your tranceiver.

Application Interfaces.

BPQ32 supports a 32 bit version of the 'BPQ Host Mode' interface, used by the 16 bit BPQCODE, and defined in file BPQHOST.DOC. However, this was defined for Assembler programs, so other interfaces have been added. The details are really only of interest to application writers.

DLL Interface

This is primarily for use by "C" programmers.

OCX Interface

This is primarily for use with Visual Basic, and other languages that support Active X (formerly known as OLE) controls.

There are sample programs (C and VB) available here.

Interface emulations.

I've also provided utilities which allow programs written to use a number of other interfaces to use BPQ32.


Most programs written to use the AGWPE TCP interface (not the older AGWPE .dll interface. Use AGWtoBPQ.exe

BPQCODE (DOS/16 bit)

Most 16 bit Programs written for BPQCODE can use BPQ32 using the BPQ1632 subsystem.

Serial (TNC2).

Programs expecting to see a TNC2 (or similar) connected to a COM port. Use BPQTNC2.exe.

Kantronic Host Mode.

Programs written to use a Kantronics TNC in Kantronics Host Mode. Use BPQHostModes.exe.

WA8DED Hostmode/The Firmware

There are two common interfaces to WA8DED or The Firmware TNCs. One uses a standard serial port, and can interface to bpq32 using BPQHostModes.exe.

The other uses the TFWIN and TFWIN32 interfaces provided by F6FBB for his BBS, but also supported by other programs, (eg TSTHWIN). These programs can interface to BPQ32 using the TFWIN/TFWIN32/TF2AGW Emulator.

3. Networking Facilities.

The system is designed to be operationally compatible with existing NET/ROM or TheNet nodes, but there are a few minor differences. As it can support an integrated BBS, it has 2 Callsign/Alias pairs, one for accessing the node, and the other the BBS. Note, however, that a multiport node does not need a different callsign for each port. Because of the multiport support, the 'Downlink' connect command needs a port number as the first parameter (eg C 2 G8BPQ). A connect to another Node doesnt need this - the system selects the 'best' port as found from the NODEs and ROUTEs lists.

Up to eight applications are allowed, and each can have its own Callsign/Alias pair. Those without their own call are accessed by connecting to the switch, then entering the application name.

There are extra commands for normal use (BBS, or other application name, to connect to the applications, and PORTS to display available port descriptions), and 2 commands intended primarily for the system operator (STATS and LINKS).

For more information on Node commands, see here

The system is also able to link to the 'back end' async port on a normal NET/ROM or TheNet node.

3. SYSOP Feature.

Some configuration changes can be made while the node is running. See SYSOP Documentation for details.

4 Getting Started.

For LinBPQ, see here . The following instructions are for the Windows version.


I suggest that BPQ32.DLL is placed in the Windows System directory. On systems prior to Vista, I suggest all the other files are placed in "Program Files\BPQ32". On Vista and above, there are restrictions on creating files under "Program Files", so I suggest software is installed in "Program Files\BPQ32", and data and configuration files in %APPDATA%/BPQ32.The software uses the following registry entries to locate configuration files and driver dlls if they can't be found in the current directory.

Before Vista:


Vista and above:


Program SetRegistryPath can be used to set this up.


The main configuration file is BPQ32.CFG. Edit this file to suit your installation.

The configuration is documented here.

Load it.

I suggest for initial testing, you run bpq32.exe

BPQ32 now (April 2012) has an MDI (Multiple Document Interface) presentation. This combines all the bpq32 windows (Console, AXIP, telnet, Winmor, Pactor etc) into one frame, along with a monitor and one or more terminal windows, and a Stream Status window, similar to BPQStatus. Terminal windows are created using the Window/New Terminal Window Menu item

With previous versions, most of the background comms processing took place place in the first BPQ32 program to be loaded. Now bpq32.dll will load bpq32.exe to run the background processing (unless the first program you run is bpq32.exe). This should make for a more stable environment.

The code also supports inbound connects to the terminal, so users can connect and talk to you much as was done in thr old days of packet with dumb terminals. To enable this. include an APPLICATION line for Appl 32 in your config - something like:
APPLICATION 32,JOHN,,GM8BPQ-9,0 With this users can connect to GM8BPQ-9, or connect to the node and type JOHN. This will activate a terminal window, and ring a bell.

You can also load the system by running any bpq32 application, such as BPQMailChat. If loaded in this way the node will shut down when all applications are closed (as with the previous version).
If you run bpq32.exe before your applications, the node will keep running when all the applications are closed. As bpq32.exe doesn't have a window of its own, you shut the node down by using the "Close all BPQ32 Programs" item on the Window Menu.

John Wiseman G8BPQ
December 2008
Updated April 2012