Re: ISSUE: DFE530-TX REV-A3-1 times out on transmit

From: Urban Widmark (urban@teststation.com)
Date: Tue Aug 28 2001 - 14:46:18 EST


On Tue, 28 Aug 2001, David Schmitt wrote:

> Note 1: '005e9700' doesn't always cause a timeout.

That status is from the Rx, not Tx. I think they are all ok.
005e9700 - length=0x5e, RxOK, accept broadcast, single buffer, end buffer
00668f00 - length=0x66, RxOk, chain buffer, single buffer, end buffer

> Correct shutdown:
> Aug 28 14:53:34 cheesy kernel: eth0: Shutting down ethercard, status was 085a.
>
> After first resets:
> Aug 28 14:54:11 cheesy kernel: eth0: Shutting down ethercard, status was 081a.
>
> After total NIC lockup:
> Aug 28 14:56:24 cheesy kernel: eth0: Shutting down ethercard, status was 883a.

8000 means that the chip is still doing a software reset. I think the
difference between 085a/081a is simply that you caught it in different
states.

> Tx disabled, Rx enabled, half-duplex (0x800c).
> Receive mode is 0x6c: Normal unicast and hashed multicast.
> Transmit mode is 0x22: Transmitter set to INTERNAL LOOPBACK!.

Is this after unloading the module? The via_rhine_close sets the
transmitter to loopback mode (comment says to avoid hardware races ...).
The reset code does not.

That should not be a problem, when loading the module (and on reset) it
changes this to normal mode.

> 2.2.19 with Dennis' patch
>
> Resets often, but no lock up.

That is interesting. This code should be almost identical to 2.4.x (or
not, Dennis?). The way the timeout code is run may be different of course,
but the driver part is the same.

I'm ignoring that for now (if you don't mind) and have made a patch with
some possible improvements. Someone found a modified driver on some dlink
server that contains (claimed) workarounds for various chip peculiarities
(bugs).

I also added a "force software reset" that is described in the datasheet.
Not sure what the difference is, but it can't hurt trying that if the
normal reset fails.

Perhaps this helps, probably not.

/Urban



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Aug 31 2001 - 21:00:31 EST