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


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


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


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.


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

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.


The ioctl calls follow the implementation in the hdlcdrv.

returns the modem type (i.e. SBC1200, SBC9600, WSS1200 or WSS9600)
sets the modem type. Only superuser can do this.
returns the mixer type and the contents of the specified mixer register.
sets the specified mixer register, if the specified mixer type matches the mixer type of the soundcard. Only superuser can do this.
returns the contents of the diagnose buffer, which is used by smdiag to display the eye and oscilloscope diagrams.
return some debugging values. Not always available.


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


soundmodem was written by Thomas Sailer, HB9JNX/AE4WA, (