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
http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html.
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.
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.
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.
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.
- 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.
baycom (9), ,
smdiag (8),
smmixer (9),
linux/drivers/net/hdlcdrv.c,
soundmodem was written by Thomas Sailer, HB9JNX/AE4WA,
(
[email protected]).