*BSD News Article 66230


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mel.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
Subject: Re: FIFO overflows on ASUS P/I-P55TP4N
Date: 17 Apr 1996 20:07:40 +1000
Organization: Kralizec Dialup Unix
Lines: 28
Message-ID: <4l2ftc$jgr@godzilla.zeta.org.au>
References: <4kjil8$qa@tor.muc.de>
NNTP-Posting-Host: godzilla.zeta.org.au

In article <4kjil8$qa@tor.muc.de>, Hinrich Eilts <eilts@tor.muc.de> wrote:
>Hello,
>I am using FreeBSD 2.0 release and have some trouble using the motherboard
>ASUS P/I-P55TP4N on-board serial lines.
>Using it at 57600 baud with modem (UUCP) results in massive checksum
>errors by FIFO overflows (> 100) while using a serial mouse works ok.
>This happens at both lines and disabling one and using a ISA serial card
>at same IRQ, same IO address with same cabel works ok.
>Is this an incompatibility sio driver - motherboard chip ?

The UMC 8669F i/o chip used on some ASUS motherboards is buggy.  The
serial parts of it lose sync when the speed is set while data is
arriving.  This bug doesn't cause any FIFO overflows, but the data read
is 100% garbage until it stops arriving.  FIFO overflows might be caused
by hardware handshaking not being completely implemented in FreeBSD 2.0.

The hardware problem is most noticeable for UUCP because UUCP sets the
speed a lot.  The sio driver sets the speed for every TIOCSETA* ioctl
whether or not the speed has changed, and UUCP does a lot of these
ioctls to change settings other than the speed.  Try modifying
comparam() in the driver to not set the speed if the speed hasn't
changed.

There is also a small bug in the floppy controller part of the UMC 8669F.
This is turned into a large bug by a bug in the FreeBSD floppy driver.
The driver is fixed in FreeBSD-current and in FreeBSD-stable.
-- 
Bruce Evans  bde@zeta.org.au