[eepro100] eepro100 hang though all looked fine

Michael Marxmeier mike@marxmeier.com
Mon, 20 Nov 2000 00:08:06 +0100

Hi eepro100 folks.

I encountered a strange problem with an eepro100.
This might not be a driver problem (but a switch related problem?)
but i thought i'd discuss it here. Maybe someone has an explanation.

The eepro100 is connected to a switch and has autonegotiated
100baseTx-FD. After some time the network traffic comes to a
grinding halt (although interrupts are still delivered
so this is not an ioapic related problem).
mii-diag reports that the link is present and up and all is fine.
Reloading the driver (modules) makes no difference.

What does make a difference is to disconnect/reconnect the cable.
This restores operation for some time.

I worked around this by using mii-tool to only announce
100baseTd-FD rather than the full list of possible selections.
Below is the default output of mii-tool.

# mii-tool -v
eth0: negotiated 100baseTx-FD, link ok
  product info: Intel 82555 rev 4
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

This is an i82558 chip masquerading as a i82557 (at least this
is mentioned in the system documentation).
What is courious is that advertising: is different from capabilities:
Does announcing flow-control make a difference?
After using mii-tool the advertising: line only shows 100baseTx-FD
and all works nicely.

This eepro100 driver is the one included with the 2.2.18pre22 kernel 
but the same bahavior was also observed with kernel 2.2.16.

Please CC me any responses as i'm not on the list (i _do_ 
read the list archive).

Thanks for your time

Michael Marxmeier           Marxmeier Software AG
E-Mail: mike@marxmeier.com  Besenbruchstrasse 9
Phone : +49 202 2431440     42285 Wuppertal, Germany
Fax   : +49 202 2431420     http://www.marxmeier.com/