lkml.org 
[lkml]   [1997]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectDEC tulip 21140-AC broken driver
Hello all,

This message has been posted to both the Linux Kernel mailing list
and the DEC Tulip mailing list. If you respond, please take care to
ensure your response goes to the appropriate group (if not both).

Okay, here is my two cents...

I have several SMC EtherPower 10/100 PCI netards that I've been trying to
get working. The host machines are a mix of Pentium P133/ASUS systems and
a 6x86 P150+/TYAN system. I'm trying to get these cards working reliably
and am not having much luck. The chip revision on the cards is 21140-AC,
which has been reported to only be supported just recently. Rather than
blabber, let me summarize my test environments and my success factor (note
that these results were the same for all systems tested):

Kernel Version Driver version Result
-----------------------------------------------------------------
kernel-2.0.anything stock tulip.c Non-functional (1)
kernel-2.0.28 latest from cesdis Seems to work (2)
kernel-2.1.25 stock tulip.c Non-functional (3)
kernel-2.1.24(5?) latest from cesdis Partially Functional (4)
-----------------------------------------------------------------

(1) - In this case, the driver just keeps switching media types on bootup
and never actually does anything. If you build it as a module, it will
insmod and ifconfig, but will never send or receive a single packet.

(2) - This scenario hasn't been well enough tested. The driver appears to
be working at 10Mb, but the error count on TX and RX gradually increases.
Hasn't been tested at 100Mb.

(3) - In this case, I'm building with the new driver (which has a comment
explaining the one-line fix to make the AC work). It builds okay, but it
has the same symptoms as (1). It will switch media a couple times, and
never transmit or recieve a thing. Error counts rapidly climb.

(4) - In this case, I'm taking either the tulip.c or the tulip-21142.c
from cesdis (the absolute latest versions, Jan 31 and 29th, respectively).
Because "free" is no longer a member of the skb struct, I must remove one
line from either driver for it to compile under 2.1.24/25. But once built
and running, it does work at 10Mb and 100Mb. The error count counts still
gradually climb (often higher than the TX or RX counts), and I can lock up
the system by ifconfig'ing up/down or tcpdump'ing a lot. The lockups are
instant and without recovery. Here is a sample of logging output from
2.1.24 and the tulip-21142 driver clashing:

[start of relevant crap]
Jan 30 01:37:37 earth kernel: eth0: Promiscuous mode enabled.
Jan 30 01:37:37 earth kernel: eth0: Promiscuous mode enabled.
Jan 30 01:37:37 earth kernel: eth0 enters promiscuous mode.
Jan 30 01:55:10 earth kernel: eth0 leave promiscuous mode.
Jan 30 01:56:16 earth kernel: eth0: transmit timed out, status fc660000, CSR12 ffffff3e, resetting...
Jan 30 01:56:16 earth kernel: Rx ring c000c028: 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000 80000000
Jan 30 01:56:16 earth kernel: Tx ring c000c128: 80000000 80000000 80000000 80000000 80000000 80000000 80000000 7fffffff
Jan 30 01:56:31 earth kernel: out-of-sync dirty pointer, 72 vs. 80, full=1.
Jan 30 01:56:42 earth kernel: eth0: Promiscuous mode enabled.
Jan 30 01:56:42 earth kernel: eth0: Promiscuous mode enabled.
Jan 30 01:56:42 earth kernel: eth0 enters promiscuous mode.
Jan 30 02:00:53 earth kernel: klogd 2.0-0, log source = /proc/kmsg started.
[frozed after line stamped 01:56:42 and now I've restarted]

[Here is what that driver reported on bootup]
Jan 30 02:00:54 earth kernel: tulip.c:v0.52 12/11/96 becker@cesdis.gsfc.nasa.gov
Jan 30 02:00:54 earth kernel: eth0: DEC 21140 Tulip at 0x6100, 00 00 c0 60 a4 e9, IRQ 11
Jan 30 02:00:54 earth kernel:
Jan 30 02:00:54 earth kernel: THIS IS AN ALPHA TEST DRIVER.
Jan 30 02:00:54 earth kernel: The following verbose information is emitted for
Jan 30 02:00:54 earth kernel: bug reports on media selection.
Jan 30 02:00:54 earth kernel:
Jan 30 02:00:54 earth kernel: eth0: Leaf node at 30, media 0800, csr12 00, 1 blocks.
Jan 30 02:00:54 earth kernel: eth0: Extended block for PHY 0, type 1 length 15.
Jan 30 02:00:54 earth kernel: eth0: MII interface PHY 0.
Jan 30 02:00:54 earth kernel: eth0 UP fl=00001043 pa=0302A8C0/00FFFFFF brd=FF02A8C0 dst=00000000
Jan 30 02:00:54 earth kernel: eth0 changes brd FF02A8C0 -> FF02A8C0
Jan 30 02:00:54 earth kernel: eth0: MII monitoring tick: CSR12 status 7e.

I know that this sample is with a slightly older tulip-21142, but the
lockups are still there with the newer one and this is the best piece of
evidence I can provide without crashing my server (if it's necessary for
debugging, let me know and I'll do it...).

I'd like to know if there is anyone out there using this model card
without problems (including the error count stuff)? I'd also like to
know, if it does work for you, what kind of TCP MB/sec throughput you get?

Thanks all, and I hope that this information can be useful in refining the
driver. I have a bit of a testbed for these cards (I have 1/2 dozen of
them and several different high-end systems to try them in) and can do
experimentation for anyone who has any ideas. Just let me know.

Sincerely,
-bp
--
# B. James Phillippe # Network/Sys Admin Terran.ORG #
# <bryan@terran.org> # http://w3.terran.org/~bryan #
# Finger for PGP key # Linux Convert - circa 1.1.59 #
# Systems Administrator, Seattle Software Labs, Inc #



\
 
 \ /
  Last update: 2005-03-22 13:38    [W:0.028 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site