[eepro100] auto-negotiation | force fixed

Donald Becker becker@scyld.com
Wed Oct 30 22:43:01 2002


On Wed, 30 Oct 2002, Frank Lenaerts wrote:

> Each switch is a 3Com Office Connect (10/100Mbps). All hosts (A, B and
> C) have 2 NICs: eth0 (indicated by 0) is a Myson MTD803 using the
> fealnx driver

Grrrmmmmm.  U

> All hosts seem to report an error message on eth0 about 3 times a day:
...
> - eth0: Transmit timed out, status 00000000, resetting...
>   Rx ring d6ba2000:  80000000 80000000 80000000 80000000 80000000
>   80000000 80000000 80000000 80000000 80000000 80000000 80000000 
>   Tx ring d6beb000:  0000 80000000 80000000 80000000 80000000 80000000

No useful info there.  Use the 'myson803' driver instead of fealnx.c
 http://www.scyld.com/network/ethercard.html
    ftp://www.scyld.com/pub/network/myson803.c

> , eth1 (indicated by 1) is an Intel EEPro 100 using the
> eepro100 driver (delivered with the kernel source tree).
...
> - eth1: card reports no resources

As usual, I recommend
  -  Checking for sleep mode
     eepro100-diag -ee
     http://www.scyld.com/diag/index.html
       ftp://ftp.scyld.com/pub/diag/
  - trying my driver
  mkdir /tmp/netdrivers/
  cd /tmp/netdrivers/
  ncftp ftp://ftp.scyld.com/pub/network/netdrivers.tgz
  tar xfvz netdrivers.tgz
  make
  make install
  
> Finally, I checked the interfaces (using myson-diag -m and
> eepro100-diag -m -f).

The following is very useful
   mii-diag --watch
You can usually get the same effect with the per-chip diags and "-mm".

> --- begin myson ---
> myson-diag.c:v1.00 5/15/2001 Donald Becker (becker@scyld.com)
>  http://www.scyld.com/diag/index.html
> Index #1: Found a Myson MTD803 adapter at 0xb800.
>  Station address 00:02:44:63:00:02.
>   Receive mode is 0x80f48e61: Normal unicast and hashed multicast.
>  This device appears to be active, so some registers will not be read.
>  To see all register values use the '-f' flag.
>   No interrupt sources are pending (0000).
>  MII PHY #32 transceiver registers:
>    3000 786d 0302 d000 41e1 45e1 0000 0000

Looks OK to me.

>  Vendor ID is 00:c0:b4:--:--:--, model 0 rev. 0.
>    Vendor/Part: ASIX (unknown type).

Errkkk?  This transceiver ID was in the ASIX chip.
That's very curious.  I'll have to check out that ID in libmii.c.
This likely means that the vendor-specific registers are misinterpreted...

>   TDK format vendor-specific registers 16..18 are 0x0602 0x0000 0x0000
>       Link polarity is detected as normal.
>      100baseTx Coding and scrambling is disabled!
>       Auto-negotiation complete, 10Mbps half duplex.
>       Rx link in fail state, PLL locked.
>   10baseT loopback mode.
>       No new link status events.

Yup, ignore this message.

> Because the two switches were going mad, I am thinking the problem has
> to do with the auto-negotiation process when the card is reset.

I wouldn't draw that conclusion.

> Would it help if I forced each of the NICs to 100baseTx-FD

NNNOOOoooo...

-- 
Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Scyld Beowulf cluster system
Annapolis MD 21403			410-990-9993