Return to BSD News archive
Newsgroups: comp.unix.bsd.freebsd.misc,comp.mail.uucp
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!howland.reston.ans.net!newsfeed.internetmci.com!news.sprintlink.net!dfw.nkn.net!rowdy.lonestar.org!nemesis!uhclem
From: uhclem@nemesis.lonestar.org (Frank Durda IV)
Subject: Re: Taylor-UUCP not running with 16550 SIO (UMC Custom Chip)
X-Newsreader: Tin 1.1 PL5
Organization: The Big Blue Box
Message-ID: <DMquCt.H65@nemesis.lonestar.org>
References: <DMonLF.Ctq@citylink.dinoex.sub.org>
Date: Wed, 14 Feb 1996 02:17:17 GMT
Lines: 85
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:13841 comp.mail.uucp:15784
[0]System Administration (peter@citylink.dinoex.sub.org) wrote:
[0] there was great trouble getting UUCP to work with with these new control-
[0]ler-embedded 16550-FIFO-SIOs. It did work as usual until the line "handshake
[0]successful", and then was not able to receive one single block of data with-
[0]out error, until after about 10 Minutes it reports: 0 bytes transferred, 0
[0]bps. This is baudrate-independent, it happens with 300 baud as with 57600
[0]baud. With g-proto, uucico can send, but won't receive anything.
Here is the patch I apply every time I upgrade FreeBSD. It fixes
Taylor UUCP to actually use hardware flow control for incoming and
outgoing calls. Without it, I get terrible UUCP results. With the fix
I see >2Kbyte/sec transfers (gzipped files) on Telebit Worldblazer modems.
I use both g and i protocols.
This file is located in /usr/src/gnu/libexec/uucp/libunix/serial.c
*** serial.c.00 Mon May 1 22:43:31 1995
--- serial.c Mon May 1 23:01:54 1995
***************
*** 205,211 ****
| OFILL | OFDEL | NLDLY | CRDLY | TABDLY | BSDLY \
| VTDLY | FFDLY)
#define ICLEAR_CFLAG (CBAUD | CSIZE | PARENB | PARODD)
! #define ISET_CFLAG (CS8 | CREAD | HUPCL)
#define ICLEAR_LFLAG (ISIG | ICANON | XCASE | ECHO | ECHOE | ECHOK \
| ECHONL | NOFLSH | PENDIN)
#endif
--- 205,212 ----
| OFILL | OFDEL | NLDLY | CRDLY | TABDLY | BSDLY \
| VTDLY | FFDLY)
#define ICLEAR_CFLAG (CBAUD | CSIZE | PARENB | PARODD)
! #define ISET_CFLAG (CS8 | CREAD | HUPCL | CRTS_IFLOW | CCTS_OFLOW)
! /*<1>#define ISET_CFLAG (CS8 | CREAD | HUPCL)*/
#define ICLEAR_LFLAG (ISIG | ICANON | XCASE | ECHO | ECHOE | ECHOK \
| ECHONL | NOFLSH | PENDIN)
#endif
***************
*** 215,221 ****
| PARMRK | IMAXBEL)
#define ICLEAR_OFLAG (OPOST)
#define ICLEAR_CFLAG (CSIZE | PARENB | PARODD)
! #define ISET_CFLAG (CS8 | CREAD | HUPCL)
#define ICLEAR_LFLAG (ECHO | ECHOE | ECHOK | ECHONL | ICANON | IEXTEN \
| ISIG | NOFLSH | TOSTOP | PENDIN)
#endif
--- 216,223 ----
| PARMRK | IMAXBEL)
#define ICLEAR_OFLAG (OPOST)
#define ICLEAR_CFLAG (CSIZE | PARENB | PARODD)
! #define ISET_CFLAG (CS8 | CREAD | HUPCL | CRTS_IFLOW | CCTS_OFLOW)
! /*<1>#define ISET_CFLAG (CS8 | CREAD | HUPCL)*/
#define ICLEAR_LFLAG (ECHO | ECHOE | ECHOK | ECHONL | ICANON | IEXTEN \
| ISIG | NOFLSH | TOSTOP | PENDIN)
#endif
***************
*** 3057,3064 ****
don't send XON/XOFF characters but we do recognize them. */
if ((q->snew.c_cflag & CRTSCTS) != 0)
{
! iset = IXON;
! iclear = IXOFF;
fdo = TRUE;
break;
}
--- 3059,3068 ----
don't send XON/XOFF characters but we do recognize them. */
if ((q->snew.c_cflag & CRTSCTS) != 0)
{
! /*<1> iset = IXON;*/
! iset = 0; /*<1>I don't want XON (DC1) eaten!*/
! /*<1> iclear = IXOFF;*/
! iclear = IXON | IXOFF; /*<1>*/
fdo = TRUE;
break;
}
The above patch forces hardware full-duplex RTS/CTS flow control on during
inbound and outbound UUCP sessions.
Frank Durda IV <uhclem@nemesis.lonestar.org>|"The Knights who say "LETNi"
or uhclem%nemesis@rwsystr.nkn.net | demand... A SEGMENT REGISTER!!!"
^------(this is the fastest route)|"A what?"
or ...letni!rwsys!nemesis!uhclem |"LETNi! LETNi! LETNi!" - 1983