*BSD News Article 76215


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!nntp.coast.net!howland.erols.net!newsfeed.internetmci.com!news.tfs.net!news
From: Doug Tidwell <dtidwell@tfs.net>
Newsgroups: comp.unix.programmer,comp.unix.bsd.freebsd.misc
Subject: Re: How prevent character loss on SIO?
Date: Thu, 15 Aug 1996 16:14:10 -0700
Organization: Consultant Field Engineering, Inc.
Lines: 62
Message-ID: <3213AF42.11E8@tfs.net>
References: <4urf05$fsg@fu-berlin.de>
NNTP-Posting-Host: node6.tfs.net
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.01 (Win16; I)
Xref: euryale.cc.adfa.oz.au comp.unix.programmer:41454 comp.unix.bsd.freebsd.misc:25535

Gunther Schadow wrote:
> 
> I have go a big problem with serial line IO. I am loosing characters
> when there is high load on the machine, and I have no clue what to do.
> The problem is that the lines are either 3-wire (via glas fibers) or
> the other side (to which I have no influence) just doesn't use hard
> flow control. Now I thought that by enabling the IXON and IXOFF bits I
> could enable soft flow control, but I fear that the TTY device just
> doesn't send a STOP character when it's buffer is full, or, it comes
> too late to handle the interrupt from the SIO to read the data before
> this is overwritten?
> 
> I need some help from someone who has some more TTY experience (seems
> like networking experience is more en voge nowadays, and I would so
> much like to dump the RS232 shit into the trashbin #@!*) To be more
> specific:
> 
> 1. is the IXOFF sending of a STOP character handled automatically
> by the SIO device driver?
> 
> 2. if yes, then would hard flow control improve the situation? I mean
> -- suppose I could use hard frow control, would the character loss on
> times of high system load be avoided? (i guess no)
> 
> 3. would FIFO chips *fix* this problem? Right now we use 81450 UARTs
> but the *550 would require to change the motherboard.
> 
> 4. BTW: is a faster board/CPU and memory upgrade necessary? I can't
> believe that serving just two serial lines requires a RISC
> processor?
> 
> 5. Currently the SIOs are served by two quite sizable C++ programs
> that are performing numerous network communications on behalf of the
> serial communication, is a restructuring of the system required to
> make the SIO service faster?
> 
> I guess that the answer on each of these question is ``yes, sure, fast
> hardware -- less problems'', but I need to know what is really
> required and what is just a ``nice to have'', and what I could
> improve on the software side.
> 
> any help is *so much* appreciated -- a very high level data
> interchange project is about to loose it's practicability, if I cannot
> get the SIOs to run reliably :-(
> 
> regards,
>   Gunther Schadow
> 
> --
> Gunther Schadow------------------Windsteiner Weg 54a, Berlin 14165, FR. Germany
> Dept. of Anaesthesia, Benjamin Franklin University Hospital, Berlin.
>      gusw@fub46.zedat.fu-berlin.de | http://userpage.fu-berlin/~gusw
> ----------------------------------------#include <usual/disclaimer>------------
You didn't say what devices are on the serial lines. Most devices have
a threshhold buffer setting. If it is available you could try 
to lower the level thereby alerting the system to stop sending
somewhat earlier. Also hardware flow control would stop the problem.
That is one of the down sides to xon/off flow control.
  Hope this helps.

   Doug
    dtidwell@tfs.net