Provided by: ax25-tools_0.0.10-rc5+git20230513+d3e6d4f-1build2_amd64 bug

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 this information.

       -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 preceded 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 (t.sailer@alumni.ethz.ch).  Inspired by
       setserial.