*BSD News Article 76130


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!metro!asstdc.scgt.oz.au!nsw.news.telstra.net!act.news.telstra.net!vic.news.telstra.net!news.mira.net.au!news.vbc.net!samba.rahul.net!rahul.net!a2i!hustle.rahul.net!rahul.net!a2i!news.clark.net!mr.net!newshub.tc.umn.edu!fu-berlin.de!fub46.fddi1.fu-berlin.DE!not-for-mail
From: gusw@zedat.fu-berlin.de (Gunther Schadow)
Newsgroups: comp.unix.programmer,comp.unix.bsd.freebsd.misc
Subject: How prevent character loss on SIO?
Date: 14 Aug 1996 02:51:49 GMT
Organization: Freie Universitaet Berlin
Lines: 52
Message-ID: <4urf05$fsg@fu-berlin.de>
NNTP-Posting-Host: fub46.fddi1.fu-berlin.de (160.45.1.46)
X-Access: 16 17 19
Xref: euryale.cc.adfa.oz.au comp.unix.programmer:41335 comp.unix.bsd.freebsd.misc:25471

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>------------