Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

soundmodem(9) [debian man page]

SOUNDMODEM(9)						      Kernel Reference Guide						     SOUNDMODEM(9)

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 Windows- SoundSystem 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). Linux 2.1.x 2 October 1996 SOUNDMODEM(9)

Check Out this Related Man Page

SETHDLC(8)						     Linux Programmer's Manual							SETHDLC(8)

NAME
sethdlc - get/set Linux HDLC packet radio modem driver port information SYNOPSIS
sethdlc [ -bdhs ] [-i device] sethdlc [-i device] -c cal sethdlc -p [-i device] [ mode mode ] [ io iobase ] [ irq irq ] [ dma dma ] [ dma2 dma2 ] [ serio seriobase ] [ pario pariobase ] [ midiio midiiobase ] [ options options ] sethdlc -a [-i device] [ txd txdelay ] [ txtail txtail ] [ slot slottime ] [ ppersist ppersistence ] [ full ] [ half ] DESCRIPTION
sethdlc is a program designed to set and/or report the configuration information associated with a soundcard radio modem port. This infor- mation includes the modem type, what I/O port, IRQ and DMA channel a particular modem port is using, and where to output a transmitter key- ing (PTT) signal. With the -p option, sethdlc sets and/or reports the port configuration. With the -a option, sethdlc sets and/or reports the AX.25 channel access parameters. These parameters can also be set with the kissparms utility. With the -c option, sethdlc instructs the driver to send a calibration pattern for cal seconds. Without the -p, -a and -c option, sethdlc will stay in the foreground and display received packets. The AX.25 header and eventually a FlexNet compressed header are decoded. CTRL-C terminates sethdlc. Specifying additional options, sethdlc may display additional informa- tion. OPTIONS
sethdlc accepts the following options: -b Trace the bits at the output of the demodulator, after RX clock recovery. This option is only available if sethdlc and the sound- card modem kernel driver is compiled with debugging support on. This is useful for driver debugging. -d Trace DCD, PTT and other status information on stdout. sethdlc displays two times per second a line containing these informations. -h Display an overview of the available command line parameters and exit. -i The device argument specifies the HDLC modem device which should be configured or interrogated. It will usually have the following form: bc[0-3] for the baycom driver and sm[0-3] for the soundcard modem driver. -s Trace the bits at the demodulator output, before the RX clock recovery, to stdout. This option is only available the modem driver is compiled with debugging support on. It may not be available on some modem, such as the par96. PARAMETERS
The following parameters can be assigned to a soundcard radio modem port. All numerical parameter values are assumed to be in decimal unless preceeded by "0x". The mode parameter sets the type of hardware and the operating mode of the driver. ser12 and par96 are valid modes for the baycom driver. A star "*" may be added to enable software DCD. The mode string format of the soundmodem driver is as follows: hw:mode. hw may be either sbc, wss or wssfdx. The first one specifies SoundBlaster compatible soundcards, the second one WindowsSoundSystem compatible hardware, and the third one WSS fullduplex operation (which currently works with Crystal Semiconductor Chipsets CS423[126]). The mode portion may be afsk1200 or fsk9600. Optionally, the receive and transmit modes may be different (hw:txmode.rxmode). The ioport parameter sets the I/O port address. Typical values for the ser12 modem are 0x3f8, 0x2f8, 0x3e8 or 0x2e8, for the par96 modem 0x378, 0x278 or 0x3bc, for the sbc modems 0x220 and for the wss modems 0x530, 0x608, 0xe80 or 0xf40. The irq parameter sets the hardware IRQ number. Typical values for the ser12 modem are 4 and 3, for the par96 modem 7 or 5, for the sbc modems are 7 or 5 and for the wss modems, any free IRQ from the set 2, 7, 9, 10, 11 will do. The driver automatically configures the WSS soundcard to the correct IRQ. The dma parameter sets the hardware DMA number. Typical values for the sbc modems are 1 or 0 and for the wss modems, any free DMA from 0 to 3 (except 2) will do. The driver automatically configures the WSS soundcard to the correct DMA. The Baycom modems do not need DMA. The dma2 parameter sets the second hardware DMA number. This is only needed for full duplex operation with the soundmodem driver. The seriobase parameter optionally sets the address of a serial port, where the driver will output a PTT signal at the TxD and RTS pins, and a DCD signal at the DTR pin. As Baycom modems do have their own PTT pin, this parameter is not used by the Baycom modem driver. The pariobase parameter optionally sets the address of a LPT port where the driver will output a PTT signal on the DATA0 line and a DCD signal on the DATA1 line. As Baycom modems do have their own PTT pin, this parameter is not used by the Baycom modem driver. The midiiobase parameter optionally sets the address of a MPU401 compatible MIDI port, where the driver will output a PTT signal. Since the MIDI port is effectively an UART and therefore cannot output a DC signal, the output must be fed through a retriggerable monoflop with a period of about 15ms. See http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html for a sample schematic diagram. As Baycom modems do have their own PTT pin, this parameter is not used by the Baycom modem driver. The txdelay sets the transmitter keyup delay time. Unlike kissparms, the unit is tens of ms. This is the time the transmitter needs to switch its PA on and for its frequency synthesizer to settle. Typical values for a handheld transceiver are 200ms (i.e. 20), and for a good crystal driven transceiver 20ms (i.e. 2). The txtail sets the time PTT is held after the last packet. Unlike kissparms, the unit is tens of ms. Do not set this value to 0. Most modems need some extra time to actually clock the last bits out to the transmitter. The slottime parameter specifies how often the channel access algorithm is executed. Unlike kissparms, the unit is tens of ms. Unless you have very specific requirements, set this to 100ms (i.e. 10). The ppersist sets how "eagerly" the station starts to transmit as soon as the channel gets free. The optimum value is 256 divided by the number of stations on the channel. (This should really be done automatically by the L2) full sets the modem to full duplex mode. Note that some modems do not actually support full duplex mode, in this case this parameter makes the modem start its transmission as soon as it gets packets from the upper layer, without waiting for the channel to become free. This is needed by some implementations of alternative channel access algorithms, e.g. DAMA. half sets the modem to half duplex mode. CONSIDERATIONS OF CONFIGURING BAYCOM PORTS
It is important to note that sethdlc merely tells the Linux kernel where it should expect to find the I/O port and IRQ lines of a particu- lar serial port. It does not configure the hardware to use a particular I/O port. In order to do that, you will need to physically pro- gram the serial board, usually by setting some jumpers or by switching some DIP switches. This section will provide some pointers in helping you decide how you would like to configure your baycom ports. The "standard MS-DOS" port associations are given below: COM1, port 0x3f8, irq 4 COM2, port 0x2f8, irq 3 COM3, port 0x3e8, irq 4 COM4, port 0x2e8, irq 3 LPT1, port 0x378, irq 7 LPT1 (on hercules graphics adapter), port 0x3bc, irq 7 LPT1, port 0x278, irq 5 CONSIDERATIONS OF CONFIGURING SOUNDCARD RADIO MODEM PORTS
Some cards need to be initialized before they act as a WSS or SoundBlaster compatible card. This driver does not do this. You can use the standard linux sound driver, if compiled as a module. Just load the sound driver (insmod sound) and remove it again (rmmod sound). The card should then be configured for either soundblaster or WSS compatibility. If this does not work for some reason, you'll have to write your own soundcard configuration utility. This is not as complicated as it sounds; it can be done from user space (but requiring root privi- leges) using ioperm and/or iopl. It is important that the audio levels of your radio match those of the soundcard. To help achieve this, there are two utilities: smdiag and smmixer. See their respective manpage. The sound driver and the soundcard modem driver are mutually exclusive, i.e. they cannot both access the same soundcard at the same time. Even worse, the sound driver reserves the soundcard as soon as it gets loaded. The souncard modem driver however reserves the card only when the interface is started, i.e. during ifconfig sm[0-3] up. 9600 baud may not currently work on SoundBlaster cards with DSP revision 4.x, i.e. SB16 and SB32 AWE. This is because they seem to not be fully backwards compatible. CAUTION
CAUTION: Using an invalid port can lock up your machine. SEE ALSO
smdiag (8), smmixer (8), kissparms (8), linux/drivers/net/hdlcdrv.c, linux/drivers/net/baycom.c, linux/drivers/net/soundmodem.c AUTHOR
sethdlc was written by Thomas Sailer, HB9JNX/AE4WA (t.sailer@alumni.ethz.ch). Inspired by setserial. Sethdlc 0.1 1 October 1996 SETHDLC(8)
Man Page