*BSD News Article 62221


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!olive.mil.adfa.oz.au!navmat.navy.gov.au!posgate.acis.com.au!warrane.connect.com.au!news.syd.connect.com.au!gidora.kralizec.net.au!not-for-mail
From: bde@zeta.org.au (Bruce Evans)
Newsgroups: comp.unix.bsd.freebsd.misc,comp.mail.uucp
Subject: Re: Taylor-UUCP not running with 16550 SIO (UMC Custom Chip)
Date: 26 Feb 1996 20:36:06 +1100
Organization: Kralizec Dialup Unix
Lines: 34
Message-ID: <4gruu6$uhq@godzilla.zeta.org.au>
References: <DMonLF.Ctq@citylink.dinoex.sub.org> <DMquCt.H65@nemesis.lonestar.org> <DnD0Lz.CFw@citylink.dinoex.sub.org>
NNTP-Posting-Host: godzilla.zeta.org.au
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:14395 comp.mail.uucp:15849

In article <DnD0Lz.CFw@citylink.dinoex.sub.org>,
Peter Much <peter@citylink.dinoex.sub.org> wrote:
>In article <DMquCt.H65@nemesis.lonestar.org>,
>Frank Durda IV <uhclem@nemesis.lonestar.org> wrote:
>
>>[0]bps. This is baudrate-independent, it happens with 300 baud as with 57600
>>
>>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
>
>Thanks, but hardware-handshake wasn't the source of the described trouble,
>otherwise it would have worked with 300/1200/2400 Baud - these don't need
>handshaking. 
>I think it's timing problems in the UMC Chip's SIO.

Yes, mine loses sync if the fifo enable bit is toggled or the speed is
set while part of a character has arrived.  The UART apparently syncs
with the wrong start and stop bits and doesn't recover until data stops
arriving or the UART is reprogrammed while it isn't in the middle of
receiving a character.  This happens at all speeds that I tried (between
300 and 115200) under all OS's that I tried (FreeBSD and Linux).

I have some partial fixes.  E.g., never changing the fifo enable bit,
and only setting the speed if the speed has changed should work in most
cases.  Currently the speed is always set when the termios settings are
set (even if it hasn't changed), and the fifo enable bit is only changed
to fix the a fifo bug in an SMC custom chip and to fix bugs in BIOS
probes.

The problem is probably more visible for uucp than for ppp and zmodem
because uucp changes the termios setting more.
-- 
Bruce Evans  bde@zeta.org.au