Thu Apr 27 16:06:31 PDT 1989

	This tape contains some new device drivers and associated kernel
	object modules that should fix up problems with serial devices.
	In particular, it is aimed at making the modem "DTR" signal do
	what is commonly thought of as the "right thing", allowing the
	ALM-II's printer port to be used without crashing the system,
	making flow control work right, and allowing FAST UUCP.

	Please refer to the accompanying "BugsFixed" file for the list
	of bugs that should be corrected by installing these modules in
	your machine.

	This tape contains a single standard Unix "tar" file containing
	the following files:

            README              this text

            BugsFixed           list of bug id's and synopsis lines for
                                the bugs this tape should fix
 
            install             a quickie installation script that
                                should do "what is right" for your
                                system.

            uninstall           a short script that tries to undo whatever
                                was done by "install".

            sun2.tar            new drivers, printer test, sky startup code,
                                and GENERIC kernel for Sun2.
 
            sun3.tar            new drivers, printer test,
                                and GENERIC kernel for Sun3.
 
            sun4.tar            new drivers, printer test,
                                and GENERIC kernel for Sun4.
 
            incs.tar            some new include files for the kernel

       HAVE YOU DONE BACKUPS RECENTLY? If not, go do them. Installing
        a new kernel is always risky.


	TO INSTALL THESE PATCHES:

	   * After extracting the contents of this tape in a working
	     directory (such as /tmp or /usr/tmp), run the install script
	     ( ./install ).  Be sure to pay attention to the messages
	     it gives you.  It will tell you what it managed to install.
	     If you build kernels in some directory other than /sys, you
	     will need to change a string near the top.

	   * "install" will select the proper drivers and put them in the
	     kernel configuration area (/sys/sun#/OBJ); you will need to
	     reconfigure and relink your kernel after this is done.

	   * Configure and make a new kernel. You do not really need
	     to edit the configuration file, but now might be a good
	     time to remove devices you will never have and verify
	     flag values on serial devices. However, because there are
	     now additional modules to be compiled, you must actually
	     do the "/etc/config" step. For a GENERIC kernel on a
	     Sun-4:

		# cd /sys/sun4/conf
		# /etc/config -f GENERIC
		# cd ../GENERIC
		# make

	     Substitute sun2 or sun3 for sun4 above as appropriate,
	     and your custom kernel configuration for GENERIC.

	   * If all goes well -- no error messages from config or
	     make, and the last lines of make's output give stats
	     about the size of the kernel -- save your old kernel
	     someplace safe, and move the new kernel up to the root;
	     then reboot the system.

		# mv /vmunix /vmsave
		# mv vmunix /vmunix
		# /etc/shutdown -r


	NOTE: the kernel "config" and "make" can be done with the
	system up and in normal operation, but it is suggested that you
	bring the system down to single user mode, or at least get
	your users to log off, before moving the kernels around.
	Remember that commands like "ps" want to see the currently
	running kernel as /vmunix, so once this changes some commands
	will be terribly confused.

	ANOTHER NOTE: One very very very common problem with serial
	devices has to do with the notion of carrier sense, normally
	attached to pin 6 (on the ALM-1, also known as the Systech
	MTI) or pin 8 (on the onboard serial ports "ttya" and "ttyb",
	and the ALM-2, also known as the MCP), or both (the way I make
	my cables). This is controlled with the flag word for the
	device in the kernel configuration file above. GENERIC has all
	of the "softcarrier" bits on; in other words, the data on this
	pin is ignored. Fine for 3-wire interfaces, terminals,
	printers, and so on, but not so good for modems. For modems,
	the bit corresponding to the port number in the flag value for
	the device should be zero.

	It is recommended that you make all your cables such that a remote
	"carrier sense" of some sort is connected to both pins 6 and 8
	on the sun end, if such a signal is available; if it is not,
	then these should be connected to pin 20 on the sun's end. If
	you do this, all flag words for the various serial devices can
	be set and left at "flags 0". Be sure to leave the flags for
	the keyboard/mouse device (zs1) alone, though.

	Along the same lines, if the device has a hardware flow
	control line (normally CTS, and sometimes DTR), this line
	should be attached to pin 5 on the Sun end of the cable.
	Otherwise, jumper pin 4 to pin 5. This jumpering is required
	on the ALM-1 and optional on other devices; however, without
	it, turning on RTS/CTS (hardware) flow control may cause the
	line to simply stop sending data.

	So, back to the flag words. How about some EXAMPLES???

	3-wire terminal on ttya, modem on ttyb:
	   device zs0 ... flags 2 ...

	First ALM-2 ports 0-5 (/dev/ttyh[0-5]) modem:
	   device mcp0 ... flags 0x1ffc0

	Second ALM-2 ports 8-11 (/dev/ttyi[89ab]) modem:
	   device mcp1 ... flags 0x1f0ff

	First ALM-1 all even ports modem, odd ports 3-wire:
	   device mti0 ... flags 0xaaaa
