[net.unix] Modems on Ultrix, part 1 of 2

das@cirl.UUCP (Dave Steffens) (08/16/86)

This is part one of a two-part posting.
*** What DEC hasn't told you about setting up modems (but should have).

I'm really not in the business of providing software support for DEC Ultrix.
But since I seem to be one of the few Ultrix system administators on the net
with some experience to share, here goes.  Ultrix administrators tune in.
Others should probably hit the "n" key now -- this is a LONG posting.
I will try to respond to email and phone calls (after 1400h EDT please).
Apologies in advance to anyone who might deem this posting inappropriate.

DISCLAIMER: The following was my experience with Ultrix 1.1 and may NOT be
wholly applicable to Ultrix 1.2 with which I have NO direct experience.

Ultrix as supplied does NOT support modem control on ANY terminal lines.
In order to enable modem control you **must** do a sysgen.  If you do not
**already** know how to do a sysgen, you will discover that only minimal
documentation is supplied with Ultrix.  I highly recommend that if at all
possible you find someone who has done a sysgen before to show you how.
Or if you're paying good money for DEC software support, call them up and
demand some assistance.  Failing all that, try to get your hands on "Building
4bsd Systems with Config" which is supplied with all Berkeley 4bsd systems.

Also take a look at the manual page for config(8), dhu(4) and dz(4).
Additional information may be found in Appendix A "Reconfiguring the
Operating System" in "ULTRIX-32m System Manager's Guide" (AA-CN28B-TE).
Most of the following information is there (if you know where to look).
Use the rest of this posting as an outline for further study.

First you must make a new "configuration" file to use in the sysgen.
Login in as root and cd to /sys/conf.  Copy the file MVAX to a new file.
The name you use isn't critical -- the machine name in upper case
is the conventional choice.  Example: cp MVAX EARVAX

Use your favorite editor on the new file.  Find the line near the top of the
file which says "ident".  Change "shmoo" to match your machine name (in lower
case).  You may also want to edit the comments at the top of the file.

Decide which terminal line(s) need to have modem(s).  From this information
you must determine which line corresponds to which interface board.
An easy way might be to examine the cabling at the rear of the uVAX.
Another way to do this is by counting.  Lines are numbered starting from 0
on each board.  Note that DZ's have 4 lines per board but DHU's have 8 lines.

If you understand what is meant by a "minor device number", yet another way
is to get the minor device number via ls(1).  Let the number be N.
Then for a modem on a DZ the board is (N / 8) and the line is (N % 8).
For a modem on a DHU the board is (N / 16) and the line is (N % 16).

[ For those who are curious why the minor device increment is twice
the number of lines -- it's because the Qbus boards have half the lines
of the corresponding Unibus boards but use the same device drivers. ]

Find the entry in the configuration file which corresponds to the interface
("device dhu" or "device dz").  The bit in "flags" corresponding to each
line which has a modem on it must be zero in order to get the driver to use
the modem control signals.  If the bit is one, modem control is disabled on
the corresponding line.  The "flags" are in HEX (base 16).  NOTE: you cannot
just set the all the bits to zero because once a line is configured to use
modem signals it will not be usable with a directly-connected terminal!

Example:  modem on tty03. This is minor device 3 which is line 3 on dz0.
Therefore change "flags" for "device dz0" from "0x0f" to "0x07".

Example:  modems on ttyi1 & ttyi2.  These are minor devices 17 and 18
which are lines 1 and 2 on dh1.  Therefore change "flags" for "device dh1"
from "0xff" to "0xf9".

When you are sure you have made the changes correctly, save the file.
Now make a directory in /sys with the same name as the configuration file.
Example: mkdir /sys/EARVAX

Next you must run config(8), giving the name of the new file as an argument.
Example: config EARVAX

If all goes well, you will get only the message:
	Don't forget to run `make depend'

If not, re-edit the new file and check your modifications!  Note that the
line numbers for errors from config(8) are off by one (too low, I think).

Change to the new directory.  Example: cd /sys/EARVAX

Run make(1) with the argument "depend" and then make(1) with no argument.
Example:
	csh# make depend
	 <lots of stuff>
	csh# make
	 <lots of stuff>
	loading vmunix
	rearranging symbols
	text	data	bss	dec	hex
	216072	104784	55620	376476	5be9c
	csh#

Assuming no error messages, you have successfully done your first sysgen!

If you have not already done so, throw everyone else off and BACKUP YOUR
FILESYSTEMS!  Then save the running copy of unix in case of trouble later.
Example: mv /vmunix /vmunix.save

Copy the new system image into the root.
Example: cp /sys/EARVAX/vmunix /vmunix

Reboot the system.  Example: shutdown -r now

Congratulations!  You now have modem control!
-- 
{harvard,mit-eddie,think}!eplunix!earvax!das	David Allan Steffens
243 Charles St., Boston, MA 02114		Eaton-Peabody Laboratory
(617) 523-7900 x2748				Mass. Eye & Ear Infirmary

mike@mipos3.UUCP (Michael Bruck) (08/16/86)

In article <282@cirl.UUCP> das@cirl.UUCP (Dave Steffens) writes:
>
>DISCLAIMER: The following was my experience with Ultrix 1.1 and may NOT be
>wholly applicable to Ultrix 1.2 with which I have NO direct experience.
>
>Ultrix as supplied does NOT support modem control on ANY terminal lines.
>In order to enable modem control you **must** do a sysgen.

Not any more.  Ultrix 1.2 is much better than 1.1 in that respect.  I
remember having to rebuild the kernel every time a tty driver needed
to have a bit changed.  It's now a lot simpler since modem information 
can now be put in the /etc/ttys file.

	--Michael Bruck
	  Intel CAD, Santa Clara, CA
	  {decwrl,hplabs,amdcad}!intelca!mipos3!mike

simon@einode.UUCP (Simon Kenyon) (09/01/86)

> Not any more.  Ultrix 1.2 is much better than 1.1 in that respect.  I
> remember having to rebuild the kernel every time a tty driver needed
> to have a bit changed.  It's now a lot simpler since modem information 
> can now be put in the /etc/ttys file.
ok then, answer this one
i enable modem control on a dial-in line in /etc/ttys
get ultrix 1.2 to generate DTR :-)
have to write a program don't you!
-- 
Simon Kenyon			The National Software Centre, Dublin, IRELAND
simon@einode.UUCP						+353-1-716255
EEEK /dev/mouse escaped (Glad to see my competition went down well at USENIX)