---
name: "soundmodem"
section: "9"
platform: "linux"
package: "ax25-tools"
version: "0.0.10-rc5+git20230513+d3e6d4f-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/soundmodem/9"
---

# soundmodem(9)

amateur (AX.25) packet radio network driver for soundcards

## NAME

soundmodem - amateur (AX.25) packet radio network driver for soundcards

## SYNOPSIS

```
#include <linux/soundmodem.h>
#include <linux/hdlcdrv.h>
```

## DESCRIPTION

The driver currently supports both 1200 baud AFSK and 9600 baud FSK (G3RUH compatible) using a standard SoundBlaster compatible or WindowsSoundSystem compatible soundcard. The whole decoding is done in software, so you definitely do not want to use it on a 386SX class machine.

## KEYING THE TRANSMITTER

Soundcards do not have a DC coupled output that could serve as a PTT signal. So there are basically for possibilities for obtaining a PTT signal. Sample schematic diagrams can be found on *http://www.ife.ee.ethz.ch/~sailer/pcf/ptt\_circ/ptt.html*.

### VOX circuitry

A simple VOX circuitry that detects output signals at the output of the soundcard can be used, especially as it can be built with a single transistor plus a few passive components and typical soundcards have strong output signals.

### Parallel Port

A parallel port line can also be used to signal PTT. If selected, the PTT signal is output on the DATA0 line and DCD is output on the DATA1 line.

### Serial Port

A standard serial port (8250, 16450, 16550) can also be used to output PTT. PTT is output on RTS and TxD, while DCD is output on DTR.

### MPU401 MIDI Port

The MIDI port is basically an asynchronous serial interface and thus cannot output a straight DC level, however it may be used if connected through a retriggerable monoflop with about 15ms pulse duration. Note that only newer SoundBlaster models have a genuine MPU401 MIDI port. The older SB MIDI port cannot be used.

## IOCTL CALLS

The **ioctl** calls follow the implementation in the *hdlcdrv*.

- **SMCTL\_GETMODEMTYPE**

  returns the modem type (i.e. *SBC1200*, *SBC9600*, *WSS1200* or *WSS9600*)

- **SMCTL\_SETMODEMTYPE**

  sets the modem type. Only superuser can do this.

- **SMCTL\_GETMIXER**

  returns the mixer type and the contents of the specified mixer register.

- **SMCTL\_SETMIXER**

  sets the specified mixer register, if the specified mixer type matches the mixer type of the soundcard. Only superuser can do this.

- **SMCTL\_DIAGNOSE**

  returns the contents of the diagnose buffer, which is used by *smdiag* to display the eye and oscilloscope diagrams.

- **SMCTL\_GETDEBUG**

  return some debugging values. Not always available.

## SEE ALSO

**baycom** (9), **soundmodem** (9),**smdiag** (8),**smmixer** (9), linux/drivers/net/hdlcdrv.c,

## AUTHOR

soundmodem was written by Thomas Sailer, HB9JNX/AE4WA, (t.sailer@alumni.ethz.ch).
