Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!munnari.OZ.AU!spool.mu.edu!usenet.eel.ufl.edu!news.mathworks.com!fu-berlin.de!irz401!orion.sax.de!uriah.heep!news From: j@uriah.heep.sax.de (J Wunsch) Newsgroups: comp.unix.bsd.freebsd.misc Subject: Re: "fdc0: input ready timeout" Problem Date: 28 Aug 1996 08:27:43 GMT Organization: Private BSD site, Dresden Lines: 58 Message-ID: <500vtv$khm@uriah.heep.sax.de> References: <3222B322.167EB0E7@cs.uni-sb.de> Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) NNTP-Posting-Host: localhost.heep.sax.de Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Newsreader: knews 0.9.6 X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E "J.W." <jw@cs.uni-sb.de> wrote: ^^^ Hey! J.W., that's me, not you! :-)) > I recently upgraded my machine to a pentium-system > (gigabyte ats-board, triton fx430 , AHA2940) > and since I'm using the onboard floppy controller > I'm getting kernel messages like "fdc0: input ready > timeout" from my 2.1.0-RELEASE. Does it come with the UMC 8669F IO controller? (You gotta look at the board to know this, this can't be probed by software, unless you consider the above error message ``software probing''. :) This part is royally broken. Disable it. You can't use the UARTs for UUCP either, and there's no fix for the UART brokeness. Here's a workaround for the most annoying floppy controller idiosyncrasy of this chip. Index: /sys/i386/isa/fd.c =================================================================== RCS file: /home/cvs/src/sys/i386/isa/fd.c,v retrieving revision 1.82 retrieving revision 1.83 diff -u -u -r1.82 -r1.83 --- fd.c 1996/03/29 11:45:12 1.82 +++ fd.c 1996/03/31 18:04:51 1.83 @@ -43,7 +43,7 @@ * SUCH DAMAGE. * * from: @(#)fd.c 7.4 (Berkeley) 5/25/91 - * $Id: fd.c,v 1.82 1996/03/29 11:45:12 bde Exp $ + * $Id: fd.c,v 1.83 1996/03/31 18:04:51 joerg Exp $ * */ @@ -1595,6 +1595,13 @@ fdc->state = STARTRECAL; break; case STARTRECAL: + /* XXX clear the fdc results from the last reset, if any. */ + { + int i; + for (i = 0; i < 4; i++) + (void)fd_sense_int(fdc, &st0, &cyl); + } + if(fd_cmd(fdcu, 2, NE7CMD_RECAL, fdu, 0)) /* Recalibrate Function */ -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)