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