Subject: Re: port-i386/4830: NE2000 ethernet board interrupt trouble
To: Kazuki Sakamoto <email@example.com>
From: David Greenman <firstname.lastname@example.org>
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
>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.
Core-team/Principal Architect, The FreeBSD Project