File:  [MW Coherent from dump] / coherent / f / usr / man / KERNEL / hs
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed May 29 04:56:40 2019 UTC (7 years, 2 months ago) by root
Branches: MarkWilliams, MAIN
CVS tags: relic, HEAD
coherent

hhss -- Device Driver


The  COHERENT-286 driver  hhss adds  support  for up  to eight  serial lines:
/ddeevv/hhss0000 through /ddeevv/hhss0077.  Serial  lines controlled via hhss can be opened
into either of two ways, as follows:

/ddeevv/hhss??
     Polled, local mode (no modem control).

/ddeevv/hhss??rr
     Polled, remote mode (modem control).

Any port  used with  hhss will  be polled, i.e.,  interrupt operation  is not
used.   Please  refer  to  the  Lexicon  article ccoomm  for  explanations  of
``local'' vs ``remote'' and ``polled'' vs ``interrupt-driven''.

To use  hhss with COHERENT  286, first configure  it to match  your equipment
(see below), then load the driver using the following command while running
as the superuser rroooott:

    /etc/drvld -r /drv/hs

To  unload the  driver without  rebooting  COHERENT 286,  first use  the ppss
command with  the -dd option to  get the process identifier  for hhss process,
then unload the driver process by using the kkiillll command.  Note that the hhss
driver process  will not  unload until all  ooppeenned ports have  been closed.
For example (user input shown in bold):

    $ ppss -dd
    TTY       PID
    -------     0  <idle>
    -------    38  <hs>
    ...
    $ kkiillll kkiillll 3388

To use hhss with COHERENT 386,  link it into the COHERENT 386 kernel by using
the script  BBuuiilldd, which  is included with  the COHERENT 386  Device Driver
Kit.

The present  version of COHERENT limits ``polled''  operation to one device
driver at a  time.  Therefore, if any of the  ccoomm family of devices is used
in polled mode, hhss devices cannot be used.  Conversely, /ddeevv/ccoomm11ppll through
/ddeevv/ccoomm44ppll and  /ddeevv/ccoomm11pprr through /ddeevv/ccoomm44pprr  cannot be used  if the hhss
driver is in use.  Both drivers can be present at the same time, but polled
devices may  not be ooppeenn  under both drivers  at the same  time.  Note that
enabling a port via /eettcc/eennaabbllee keeps it open continuously.

_P_o_r_t _C_o_n_f_i_g_u_r_a_t_i_o_n
The  default  configuration  for  the  hhss  driver is  for  four  ports,  at
hexadecimal addresses  0x3F8, 0x2F8, 0x3E8,  and 0x2E8, at a  speed of 9600
baud.  The driver is configured by setting the following parameters:

11. The number of ports.

22. The I/O address for each port.

33. The default speed of each port.

All steps in  the configuration must be done as  the superuser rroooott.  Patch
the number of  ports into driver variable HHSSNNUUMM.  For  example, if you wish
to support three ports, enter:

    /conf/patch /drv/hs HSNUM_=3

Address and speed  information are stored sequentially starting at variable
HHSS_PPOORRTTSS_.  The speed for each port is indicated by the corresponding value
found  in   <tteerrmmiioo.hh>,  from  one,  corresponding  to   50  baud,  to  16,
corresponding to 9600 baud.  If the three ports in the example above are at
hexadecimal adresses of 0x2A0, 0x2B0, and 0x2C0, with speeds of 2400, 2400,
and  9600 baud,  respectively,  then the  following three  patches must  be
performed:

    /conf/patch /drv/hs HS_PORTS_=0x2A0 HS_PORTS_+2=12
    /conf/patch /drv/hs HS_PORTS_+4=0x2B0 HS_PORTS_+6=12
    /conf/patch /drv/hs HS_PORTS_+8=0x2C0 HS_PORTS_+10=16

Finally, nodes must be created for  each port using the mmkknnoodd command.  The
major device number is 7; the  minor number will range from 0 through 7 for
ports  /ddeevv/hhss0000 through  /ddeevv/hhss0077, respectively,  with  128 added  to the
device minor  number if modem  control is desired.   The following commands
will make nodes in /ddeevv for local and remote versions of the three ports in
the example:

    /etc/mknod -f /dev/hs00  c  7  0
    /etc/mknod -f /dev/hs01  c  7  1
    /etc/mknod -f /dev/hs02  c  7  2
    /etc/mknod -f /dev/hs00r c  7  128
    /etc/mknod -f /dev/hs01r c  7  129
    /etc/mknod -f /dev/hs02r c  7  130

_S_e_e _A_l_s_o
ccoomm, ddeevviiccee ddrriivveerrss, ddrrvvlldd

_D_i_a_g_n_o_s_t_i_c_s
An  attempt to  open a  non-existent device  will generate  error messages.
This can occur if hardware is absent or not turned on.

_N_o_t_e_s
hhss is  not part  of the  standard COHERENT 386  release.  To  access serial
devices under COHERENT  386, use the driver aassyy, which  is described in its
own Lexicon entry.

Note that if any ccoomm device  driver is used in polling mode, you cannot use
hhss, and vice versa.

Source code for this device driver  is provided in files hhss.cc and aallbbaauudd.cc.
In  the production  releases of  COHERENT 4.0.0 and  later, this  device is
supplanted by the device driver aassyy.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.