Subject: Re: port-i386/4830: NE2000 ethernet board interrupt trouble
To: Kazuki Sakamoto <sakamoto@cec.co.jp>
From: David Greenman <dg@root.com>
List: current-users
Date: 01/17/1998 16:36:40
>Like this (dp8390_stop), the value of n was examined.
>
>--- kernel message --------
>ne0 at isa0 port 0x300-0x31f irq 9
>ne0: NE2000 Ethernet
>n=5000
>ne0: Ethernet address xx:xx:xx:xx:xx:xx
>
>..
>
>boot device: sd2
>root on sd2a dumps on sd2b
>n=XXXX  			<= result value
>---------------------------
>
>The result examined with PentiumII300 + P2L97 + two kinds of NE2000
>compatible ISA ether board is shown. "OK" shows that it works normally,
>"NG" shows that it doesn't work normally.
>
>AT/LANTIC DP83905AVQB chip
>	300MHz n=4991   OK
>	337MHz n=4985   OK
>
>RMC(?) RTL8019AS chip
>	266MHz n=5000   OK
>	300MHz n=5000   NG
>	337MHz n=5000   NG
>
>n is always 5000 with RTL8019!
>namely, ED_ISR_RST bit is always 0.

   You have that backwards: ED_ISR_RST is always 1, so the loop never
decrements "n". Basically, the 'RTL8019' has poor 8390 emulation.

>Therefore, delay should be necessary.

   The problem might be worked around with a fixed delay prior to the loop;
this would be 'unfortunate', however.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project