Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Aug 1997 00:58:43 +0200
From:      j@uriah.heep.sax.de (J Wunsch)
To:        stevedav@netcom.com (Steve Davidson)
Cc:        freebsd-bugs@FreeBSD.ORG
Subject:   Re: i386/4315: sio0 and sio1 serial ports fail to probe
Message-ID:  <19970824005843.TI63280@uriah.heep.sax.de>
In-Reply-To: <199708232001.NAA02377@netcom2.netcom.com>; from Steve Davidson on Aug 23, 1997 13:01:40 -0800
References:  <199708232001.NAA02377@netcom2.netcom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
As Steve Davidson wrote:

> [continue booting, on probe...]
> sio0: probe test 5 failed
> sio0: probe test 8 failed
> sio0 not found at 0x3f8
> sio1: probe test 5 failed
> sio1: probe test 8 failed
> sio1 not found at 0x2f8
> 
> 
> Can anyone help explain the probe test failures or
> point me to some documentation on probe tests?

``All documentation files usually end up in .c.'' :-)

> Is there any way to get even more diagnostics?

The UART emulation on this board seems to be even crappier than on
most internal modems.  It takes more than 1 ms to acknowledge the
interrupt acknowledge. :-(  Remember, 1 ms is the time a character
needs to pass in at 9600 Bd.  (I don't trust the 1 ms, perhaps
DELAY() doesn't work exact enough on your board?)

	if (idev->id_irq != 0 && !COM_NOTST3(idev))
		failures[3] = isa_irq_pending(idev) ? 0 : 1;
	failures[4] = (inb(iobase + com_iir) & IIR_IMASK) - IIR_TXRDY;
	DELAY(1000);		/* XXX */
	if (idev->id_irq != 0)
		failures[5] = isa_irq_pending(idev) ? 1 : 0;

That is, the probe expects the interrupt generated for an output char
(test 3) to be cleared (test 5).  Note that Tx Ready has already been
signalled (test 4).

	failures[7] = inb(iobase + com_ier);
	DELAY(1000);		/* XXX */
	if (idev->id_irq != 0)
		failures[8] = isa_irq_pending(idev) ? 1 : 0;

The interrupt still doesn't disappear, even after turning all UART
interrupts off.  (See the comments in the code.)

Try bumping the DELAY() values.  If DELAY() is really working
correctly on your machine, i wouldn't trust these UART emulations at
all.  They might emulate whatever, but most likely not an i8250 & Co.


Maybe Bruce will comment as well...

-- 
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. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970824005843.TI63280>