*BSD News Article 25590


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!yoyo.aarnet.edu.au!news.adelaide.edu.au!gateway.dircsa.org.au!apanix!cleese.apana.org.au!cleese.apana.org.au!not-for-mail
From: newton@cleese.apana.org.au (Mark Newton)
Newsgroups: comp.os.386bsd.bugs
Subject: Re: PROBLEMS WITH FreeBSD
Date: 5 Jan 1994 19:40:44 +1030
Organization: cleese.apana.org.au public access UNIX +61-8-3736006
Lines: 48
Message-ID: <2ge072$d3q@cleese.apana.org.au>
References: <CIq8w7.7rM@csi.compuserve.com> <2g0kdl$2d9@cleese.apana.org.au> <2g2ere$esn@solaria.mil.wi.us>
NNTP-Posting-Host: cleese.apana.org.au

In article <2g2ere$esn@solaria.mil.wi.us> jgreco@solaria.sol.net (Joe Greco) writes:
>In comp.os.386bsd.bugs article <2g0kdl$2d9@cleese.apana.org.au>, newton@cleese.apana.org.au (Mark Newton) wrote:
>:If you did, and you still couldn't login, then the most likely reason is
>:that you have dumb 3-wire serial cable.  The sio drivers behave like
>:"real" UNIX tty drivers -- they don't complete their open() until DCD is
>:asserted unless you disable that feature with ioctl() or tcsetaddr()
>:(or, from the shell, use "stty clocal").
>:
>:The sio drivers also know about flow control, so if you have 3-wire
>:null modems which don't have a clue about flow control, you'll have to
>:use stty -crtscts too.  Note that getty will try to turn crtscts back
>:on (so disabling flow control then starting up getty is a pointless
>:exercise).
   [ ... [
>
>Now wait a minute.  I thought the SIO drivers were supposed to provide
>bidirectional capability.  How is this supposed to work?  I've been looking
>for documentation for about a week, and have yet to find anything.

Ah, yes.  I didn't mention it in my previous article, largely due to 
oversight caused by the fact that I don't use sio's bidirectional 
capability in my kernel (in my configuration, life is very much simpler
without it).

You can enable bidirectionality by config'ing a kernel with 
"options COM_BIDIR".  Once that kernel is running, you can turn 
bidirectionality on or off on an individual terminal basis with the
/sbin/comcontrol command.  For example, "comcontrol /dev/tty00 bidir"
turns bidirectionality on for tty00, and "comcontrol /dev/tty00 -bidir"
turns it off.

>Under SunOS, which IMHO has a "reasonable" bidirectional mechanism, open()

sio works kinda like SunOS's.  It apparently has some strange race conditions
associated with DCD transitions, but I can't comment on them 'cos I don't
run bidirectional terminals :-)

>Ideally, I'd _love_ to see this done with SIO, and I was actually under the
>impression that SIO had a direct analogy of some sort.

Si!

   - mark
-- 
--------------------------------------------------------------------
I tried an internal modem,                newton@cleese.apana.org.au
     but it hurt when I walked.                          Mark Newton
----- Voice: +61-8-3735575 --------------- Data: +61-8-3736006 -----