Man Linux: Main Page and Category List

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
       information includes the modem type, what I/O port, IRQ and DMA channel
       a particular modem port is using, and where  to  output  a  transmitter
       keying (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 information.

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
              soundcard 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
       particular 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
       program 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 privileges)
       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
       (sailer@ife.ee.ethz.ch).  Inspired by setserial.