[En-Nut-Discussion] Network "stops" working...

Michael Jones Michael.e.Jones at web.de
Thu Feb 25 17:41:49 CET 2010


this might sound familiar to some of you; A unit (Ethernut 2) works
perfectly OK on your desk but when you send it out to your customer the unit
will randomly stop handling network traffic, but your application still
seems to be working fine?

(Mostly on sites with big managed cisco switches?)

After 4 painful weeks of trans-Atlantic debugging I believe I have nailed

The error counters in the SMSC 91C111 are never read. Once they reach 0xF
the chip disables the transmitter and a interrupt gets fired which should
re-enable the transmitter (and read the error counters to clear them). But
it seems that sometimes the interrupt does not get fired or we have some
sort of race condition or there is a bug on the chip - so sometimes we don't
re-enable the transmitter and the unit can no longer e.g. answer your pings
(it does hear you...).

This most likely only happens if the switch/router on the other side goes
for Half-Duplex where collision errors are sure to happened at some stage. 

I'm experimenting with some details in the moment and will send the fix as
soon as I feel good about it.


More information about the En-Nut-Discussion mailing list