|
|
1.1 root 1: hhss -- Device Driver
2:
3:
4: The COHERENT-286 driver hhss adds support for up to eight serial lines:
5: /ddeevv/hhss0000 through /ddeevv/hhss0077. Serial lines controlled via hhss can be opened
6: into either of two ways, as follows:
7:
8: /ddeevv/hhss??
9: Polled, local mode (no modem control).
10:
11: /ddeevv/hhss??rr
12: Polled, remote mode (modem control).
13:
14: Any port used with hhss will be polled, i.e., interrupt operation is not
15: used. Please refer to the Lexicon article ccoomm for explanations of
16: ``local'' vs ``remote'' and ``polled'' vs ``interrupt-driven''.
17:
18: To use hhss with COHERENT 286, first configure it to match your equipment
19: (see below), then load the driver using the following command while running
20: as the superuser rroooott:
21:
22: /etc/drvld -r /drv/hs
23:
24: To unload the driver without rebooting COHERENT 286, first use the ppss
25: command with the -dd option to get the process identifier for hhss process,
26: then unload the driver process by using the kkiillll command. Note that the hhss
27: driver process will not unload until all ooppeenned ports have been closed.
28: For example (user input shown in bold):
29:
30: $ ppss -dd
31: TTY PID
32: ------- 0 <idle>
33: ------- 38 <hs>
34: ...
35: $ kkiillll kkiillll 3388
36:
37: To use hhss with COHERENT 386, link it into the COHERENT 386 kernel by using
38: the script BBuuiilldd, which is included with the COHERENT 386 Device Driver
39: Kit.
40:
41: The present version of COHERENT limits ``polled'' operation to one device
42: driver at a time. Therefore, if any of the ccoomm family of devices is used
43: in polled mode, hhss devices cannot be used. Conversely, /ddeevv/ccoomm11ppll through
44: /ddeevv/ccoomm44ppll and /ddeevv/ccoomm11pprr through /ddeevv/ccoomm44pprr cannot be used if the hhss
45: driver is in use. Both drivers can be present at the same time, but polled
46: devices may not be ooppeenn under both drivers at the same time. Note that
47: enabling a port via /eettcc/eennaabbllee keeps it open continuously.
48:
49: _P_o_r_t _C_o_n_f_i_g_u_r_a_t_i_o_n
50: The default configuration for the hhss driver is for four ports, at
51: hexadecimal addresses 0x3F8, 0x2F8, 0x3E8, and 0x2E8, at a speed of 9600
52: baud. The driver is configured by setting the following parameters:
53:
54: 11. The number of ports.
55:
56: 22. The I/O address for each port.
57:
58: 33. The default speed of each port.
59:
60: All steps in the configuration must be done as the superuser rroooott. Patch
61: the number of ports into driver variable HHSSNNUUMM. For example, if you wish
62: to support three ports, enter:
63:
64: /conf/patch /drv/hs HSNUM_=3
65:
66: Address and speed information are stored sequentially starting at variable
67: HHSS_PPOORRTTSS_. The speed for each port is indicated by the corresponding value
68: found in <tteerrmmiioo.hh>, from one, corresponding to 50 baud, to 16,
69: corresponding to 9600 baud. If the three ports in the example above are at
70: hexadecimal adresses of 0x2A0, 0x2B0, and 0x2C0, with speeds of 2400, 2400,
71: and 9600 baud, respectively, then the following three patches must be
72: performed:
73:
74: /conf/patch /drv/hs HS_PORTS_=0x2A0 HS_PORTS_+2=12
75: /conf/patch /drv/hs HS_PORTS_+4=0x2B0 HS_PORTS_+6=12
76: /conf/patch /drv/hs HS_PORTS_+8=0x2C0 HS_PORTS_+10=16
77:
78: Finally, nodes must be created for each port using the mmkknnoodd command. The
79: major device number is 7; the minor number will range from 0 through 7 for
80: ports /ddeevv/hhss0000 through /ddeevv/hhss0077, respectively, with 128 added to the
81: device minor number if modem control is desired. The following commands
82: will make nodes in /ddeevv for local and remote versions of the three ports in
83: the example:
84:
85: /etc/mknod -f /dev/hs00 c 7 0
86: /etc/mknod -f /dev/hs01 c 7 1
87: /etc/mknod -f /dev/hs02 c 7 2
88: /etc/mknod -f /dev/hs00r c 7 128
89: /etc/mknod -f /dev/hs01r c 7 129
90: /etc/mknod -f /dev/hs02r c 7 130
91:
92: _S_e_e _A_l_s_o
93: ccoomm, ddeevviiccee ddrriivveerrss, ddrrvvlldd
94:
95: _D_i_a_g_n_o_s_t_i_c_s
96: An attempt to open a non-existent device will generate error messages.
97: This can occur if hardware is absent or not turned on.
98:
99: _N_o_t_e_s
100: hhss is not part of the standard COHERENT 386 release. To access serial
101: devices under COHERENT 386, use the driver aassyy, which is described in its
102: own Lexicon entry.
103:
104: Note that if any ccoomm device driver is used in polling mode, you cannot use
105: hhss, and vice versa.
106:
107: Source code for this device driver is provided in files hhss.cc and aallbbaauudd.cc.
108: In the production releases of COHERENT 4.0.0 and later, this device is
109: supplanted by the device driver aassyy.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.