Hi,

under some circumstances we experience problems with the net5501 VIA Rhine III 
builtin network adapters: network traffic mostly fails, pinging the affected 
interface from another host has a significant loss rate depending on packet 
sizes, e.g.

size=100:  22% lost
size=1400: 90% lost

It appears that the loss happens on incoming packets (they are not seen by 
tcdump then)

Forcing an ethernet renegotiation randomly changes the interface's state 
between this bad state and ok.

OS is Debian etch (kernel 2.6.18); however it also happens with a 2.6.26 
kernel; we best can reproduce the problem when the interface is linked to a 
port with untagged VLAN on a D-Link DES-1252 switch.

It is not limited to a particular Soekris box or interface.

Depending on the interface state the following command produces different 
output:

mii-diag -v eth0

when ok, the marked value is 0:
...
 MII PHY #1 transceiver registers:
   3100 786d 0101 8f43 05e1 41e1 0005 2801
   0000 0000 0000 0000 0000 0000 0000 0000
   0800 f7ff 0800 fffc 7003 0215 0000 0000
   0000 0001 0012 c500 0009 0010 0000 0000.
...

when bad it is non-zero:
...
 MII PHY #1 transceiver registers:
   3100 786d 0101 8f43 05e1 41e1 0005 2801
   0000 0000 0000 0000 0000 0000 0000 0000
   0800 f7ff 0800 fffc 7087 0212 0073 76d5
   0000 0001 0012 c500 0001 0010 0000 0000.
...

This helped us to write a daemon that periodically checks the state and 
eventually triggers a renegotiation, however, we would prefer a clean solution.

Any ideas?

Gerhard Rieger

_______________________________________________
Soekris-tech mailing list
[email protected]
http://lists.soekris.com/mailman/listinfo/soekris-tech

Reply via email to