[comp.sys.sun] two-way communication through the same port under SunOs 4.0

dsc@izimbra.css.gov (David S. Comay) (12/09/88)

check and make sure that soft carrier is turned off on the line (ttya) in
question ... the bit (0) in the flags field of the interface in question
(zs) should be set to zero.

	device		zs0 at obio ? csr 0x20000 flags 2 priority 3

dsc

guy@uunet.uu.net (Guy Harris) (12/10/88)

>According to my SunOs 4.0 manuals, as of this release you're supposed to
>be able to run a getty on ttya to enable logins, and simultaneously hook
>an outgoing modem onto the same hardware port, calling it /dev/cua0.

As of 4.0?  The dialin/dialout feature's been around since 3.x, for some
value of "x" (perhaps 0), and possibly before that.

>Whichever application (login or, eg, tip) grabs the port first is supposed
>to lock it to other applications.  I've tried this, and I think I have all
>my gettytab, ttytab and /etc/remote entries correct, but the getty on ttya
>(or ttyd0, or ttym0, no matter how I try it) renders /dev/cua0 busy for
>outgoing calls.  According to my manual, this isn't supposed to happen.

It works here.  The name doesn't matter; you can call it "ttya", or
"ttyd0", or "myrtle".

What matters is the minor device number; "/dev/cua0" and "/dev/ttyd0" have
to have different minor device numbers.  If "/dev/ttyd0" is serial port A,
it should have the minor device 0, and if it's serial port B, it should
have the minor device 1.  "/dev/cua0" should have a minor device number of
128 plus the minor device number of "/dev/ttyd0".

I think you *do* have to reconfigure the kernel to turn "soft carrier" off
for that port - or, on the '386i, perhaps change "/etc/ttytab" to specify
that soft carrier is not to be enabled (the ability to control "soft
carrier" with an "ioctl", and a command to do so under the control of
"/etc/ttytab", was supposed to go into the '386i release, and will be in a
future release for all Suns).

jim@uunet.uu.net (Jim Budler) (12/12/88)

In article <175@cubsun.BIO.COLUMBIA.EDU>:
> According to my SunOs 4.0 manuals, as of this release you're supposed to
> be able to run a getty on ttya to enable logins, and simultaneously hook
> an outgoing modem onto the same hardware port, calling it /dev/cua0.

crw-rw----  1 uucp     devices   12, 128 Nov 26 07:43 /dev/cua0
crw--w----  1 jim      tty       12,   0 Nov 26 10:24 /dev/ttyd0

It is the same port, but it uses the minor number + 128.

> Whichever application (login or, eg, tip) grabs the port first is supposed
> to lock it to other applications.  I've tried this...the getty on ttya
> ...renders /dev/cua0 busy for outgoing calls...

Working fine for me.

> This is on a 386i, but a colleague trying the identical things on a 3-160
> running 4.0 exhibits the identical symptoms.

My machine is also a sun 386i.

> Has anyone gotten it to work, or is it a known bug, or what?

Two possibilities:

1) That is the way it would act if whatever is attached to the port
   asserts carrier detect all the time.

2) I configured my 386i before I got the documentation, so I set zs0 flags
   0 in the config file, like you did under sun OS 3.x. The documentation,
   when it arrived implies this is no longer necessary. I haven't tried it
   without.

jim
-- 
Jim Budler   address = uucp: ...!{decwrl,uunet}!eda!jim OR domain: jim@eda.com

prc@uunet.uu.net (Robert Claeson) (12/12/88)

> ...I've tried this, and I think I have all
> my gettytab, ttytab and /etc/remote entries correct, but the getty on ttya
> (or ttyd0, or ttym0, no matter how I try it) renders /dev/cua0 busy for
> outgoing calls.  According to my manual, this isn't supposed to happen.

You have to enable modem control on the port for this to work, or else the
tty driver will think that there's always something coming in thru the
port.

-prc