BPQ Home   BPQ32 Home

Experimental SoundModem Driver for BPQ32 switch.

Overview.

This driver allows BPQ32 to use Thomas Sailer's Flexnet SoundModem driver. Most of the interface code is in program BPQSoundModem.exe, but this is loaded as required by BPQ32, and shouldn't be run manually.

BPQSoundModem.exe, and the SoundModem support software are not included in the main BPQ32 distribution. They may be downloaded from Here.. Unzip all files to your BPQ32 Directory.

The Flexnet SoundModem driver supports a number of data formats, and allows more than one to be active at the same time. So, for example, a port could support both 1200 and 2400 baud users.

The BPQ32 interface allows several copies of the driver to be loaded, so you can use more than one soundcard.

A window is opened for each soundcard, showing configuration and status information, and DCD and PTT indicators.

SoundModem Configuration.

The basic configuration of the SoundModem driver is done using program soundmodemconfig.exe, which is provided as part of the FlexNet driver package. I haven't found much English documentation, but there is is some information in Charles Brabham's Flex32 Page.

BPQ32 requires specific configuration names (BPQ32_N, where N is the SoundCard Number). My distribution contains a file bpqsound.reg, which will set up a basic 2 sound card system. I suggest you install it, then run soundmodemconfig.exe to add/change/remove modems as required.

BPQ32 Configuration.

The Driver is configured as a BPQ32 External Driver, with DLLNAME of SoundModem.DLL. IOADDR selects the soundcard (1 for first, 2 for second, etc), and CHANNEL selects the Modem parameter set. So if you wanted to run 1200 and 2400 on your first soundcard, you would have:

PORT
 ID=SoundModem 1 1200
 TYPE=EXTERNAL
 DLLNAME=SoundModem.DLL
 IOADDR=2				; Second Soundcard
 CHANNEL=A
 
 and
 
 PORT
 ID=SoundModem 1 2400
 TYPE=EXTERNAL
 DLLNAME=SoundModem.DLL
 IOADDR=2				; Second Soundcard
 CHANNEL=B
 
 The rest of the parameters are the same as for a normal KISS Port, for example:
 
 PROTOCOL=KISS
 QUALITY=0
 MAXFRAME=4
 FULLDUP=0
 FRACK=6000
 RESPTIME=3000
 RETRIES=10
 PACLEN=200
 TXDELAY=500
 SLOTTIME=100
 PERSIST=128
 UNPROTO=FBB
 
ENDPORT

TXDELAY and PERSIST will be taken from the first set of parameters for each soundcard.

Sample Config file

PORT
 ID=SoundModem 1 1200
 TYPE=EXTERNAL
 DLLNAME=SoundModem.DLL
 IOADDR=1				; First Soundcard
 PROTOCOL=KISS
 CHANNEL=A
 QUALITY=0
 MAXFRAME=4
 FULLDUP=0
 FRACK=6000
 RESPTIME=3000
 RETRIES=10
 PACLEN=200
 TXDELAY=500
 SLOTTIME=100
 PERSIST=64
 DIGIFLAG=1
 UNPROTO=FBB
ENDPORT

John Wiseman GM8BPQ/G8BPQ
December 2010