SUMMARY: /dev/cua0 - all ports busy

From: randy%sisdbell@logicon.com
Date: Tue Aug 24 1993 - 00:28:40 CDT


It appears that there is a bug in SunOS 4.1.x that *might* be causing
this. I have installed a patch (README included at the end of this
message), and so far have had no problems. But, the problem was sporadic
to begin with. I'm fairly confident it will solve my problems.

+----------------------------+------------------------+
| Randy J. Ott | ROtt@Logicon.COM |
| Logicon, Inc. | (402) 291-7750 (Voice) |
| 1408 Fort Crook Road South | (402) 291-2503 (Fax) |
| Bellevue, NE 68005 | |
+----------------------------+------------------------+

README
------
Patch-ID# 100513-02
Keywords: ALM2, serial port, hangs, printer hangs, XON, XOFF, TIOCCONS
re-direction security console pty dialin dialout drops DTR NULL, panic Bad Trap
TIOCSTI
Synopsis: SunOS 4.1.1;4.1.2;4.1.3: Jumbo tty patch
Date: 02/Dec/92

SunOS release: 4.1 4.1.1 4.1.2 4.1.3

Unbundled Product:

Unbundled Release:

Topic: Jumbo tty patch

BugId's fixed with this patch: 1048128 1069768 1008324 1040722 1070495 1060689
1064320 1104557

Changes incorporated in this version: 1104557

Architectures for this patch: sun3, sun3x, sun4, sun4c, sun4m

Patches which may conflict with this patch: 100225-02, 100194-02, 100397-01,
100188-02, 100358-01 and 100414-01. All obsoleted patches.

Obsoleted by:

Files included with this patch: mcp_async.o
                                mti.o
                                zs_async.o
                                cons.o
                                tty_ldterm.o
                                tty_pty.o

Note: mti.o, cons.o has been integrated into 4.1.3 release, so no need
      to have patch for these 2 objects in the 4.1.3 version.

Problem Description:
BugID 1048128:
When sending output to printers, terminals, plotters etc. using
the ALM2 or zs serial ports with the xon/xoff flow control, the
output may hang intermittently.

Flow control problems exist in SunOS 4.x. After some
extended period of time, the device would send an xoff, and data
would stop. When data is to be resumed with an xon from the device,
the xon seems to have been dropped or ignored because data flow did
not continue.

BugID 1069768:
Sun doesn't respond on xoff at the end of a printjob

BugID 1008324
TIOCCONS can be used to re-direct console output/input away from "console"

BugID 1070495
Kernel programs using pty can get output from previous application

BugID 1040722
Process not letting go of a pty

BugID 1060689
When a port is used for dialing in and dialing out, DTR would be dropped
and processes remain in <exiting> state with data queued for the driver.

BugID 1064320
A remote dialin session using hayes modem drops NULLs

BugID 1104557
In rare circumstances, attempting a TIOCSTI ioctl on a pty, when the
read side of the stream is full, can panic Bad Trap from ttycommon_qfull,
after passing that routine a faulty pointer to the queue.

Install Instructions:

NOTE: The sun4c does not use mti.o nor mcp_async.o since this architecture
      does not have VME slots and therefore cannot use the ALM-2 Asynchronous
      Line Multiplexer or Systech MTI-800/1600. So those modules are not
      needed.
      sun4m does not use mti.o

E.g. install patch on sun4/4.1.2 -

Save aside the object modules from the FCS tapes as a precaution:

For sun3/sun3x 4.1/4.1.1 and sun4 4.1/4.1.1/4.1.2:
# mv /sys/`arch -k`/OBJ/zs_async.o /sys/`arch -k`/OBJ/zs_async.o.orig
# mv /sys/`arch -k`/OBJ/mcp_async.o /sys/`arch -k`/OBJ/mcp_async.o.orig
# mv /sys/`arch -k`/OBJ/mti.o /sys/`arch -k`/OBJ/mti.o.orig
# mv /sys/`arch -k`/OBJ/cons.o /sys/`arch -k`/OBJ/cons.o.orig
# mv /sys/`arch -k`/OBJ/tty_pty.o /sys/`arch -k`/OBJ/tty_pty.o.orig
# mv /sys/`arch -k`/OBJ/tty_ldterm.o /sys/`arch -k`/OBJ/tty_ldterm.o.orig

For sun4 4.1.3:
# mv /sys/`arch -k`/OBJ/zs_async.o /sys/`arch -k`/OBJ/zs_async.o.orig
# mv /sys/`arch -k`/OBJ/mcp_async.o /sys/`arch -k`/OBJ/mcp_async.o.orig
# mv /sys/`arch -k`/OBJ/tty_pty.o /sys/`arch -k`/OBJ/tty_pty.o.orig
# mv /sys/`arch -k`/OBJ/tty_ldterm.o /sys/`arch -k`/OBJ/tty_ldterm.o.orig

For sun4c 4.1/4.1.1/4.1.2:
# mv /sys/`arch -k`/OBJ/zs_async.o /sys/`arch -k`/OBJ/zs_async.o.orig
# mv /sys/`arch -k`/OBJ/cons.o /sys/`arch -k`/OBJ/cons.o.orig
# mv /sys/`arch -k`/OBJ/tty_pty.o /sys/`arch -k`/OBJ/tty_pty.o.orig
# mv /sys/`arch -k`/OBJ/tty_ldterm.o /sys/`arch -k`/OBJ/tty_ldterm.o.orig

For sun4c 4.1.3:
# mv /sys/`arch -k`/OBJ/zs_async.o /sys/`arch -k`/OBJ/zs_async.o.orig
# mv /sys/`arch -k`/OBJ/tty_pty.o /sys/`arch -k`/OBJ/tty_pty.o.orig
# mv /sys/`arch -k`/OBJ/tty_ldterm.o /sys/`arch -k`/OBJ/tty_ldterm.o.orig

For sun4m 4.1.2:
# mv /sys/`arch -k`/OBJ/zs_async.o /sys/`arch -k`/OBJ/zs_async.o.orig
# mv /sys/`arch -k`/OBJ/mcp_async.o /sys/`arch -k`/OBJ/mcp_async.o.orig
# mv /sys/`arch -k`/OBJ/cons.o /sys/`arch -k`/OBJ/cons.o.orig
# mv /sys/`arch -k`/OBJ/tty_pty.o /sys/`arch -k`/OBJ/tty_pty.o.orig
# mv /sys/`arch -k`/OBJ/tty_ldterm.o /sys/`arch -k`/OBJ/tty_ldterm.o.orig

For sun4m 4.1.3:
# mv /sys/`arch -k`/OBJ/zs_async.o /sys/`arch -k`/OBJ/zs_async.o.orig
# mv /sys/`arch -k`/OBJ/mcp_async.o /sys/`arch -k`/OBJ/mcp_async.o.orig
# mv /sys/`arch -k`/OBJ/tty_pty.o /sys/`arch -k`/OBJ/tty_pty.o.orig
# mv /sys/`arch -k`/OBJ/tty_ldterm.o /sys/`arch -k`/OBJ/tty_ldterm.o.orig

Install the patch files:

>From the patch directory, copy the new ".o" files from the appropriate
`arch -k`/{OS version} directory to the OBJ directory. Example:

# cp `arch -k`/{OS version}/*.o /sys/`arch -k`/OBJ

Check that permissions and ownerships are set correctly.

Build and install a new kernel.
Please refer to the System and Network Administration Manual for details
on how to configure and install a custom kernel.



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:08:07 CDT