[vortex] 3c905-errors

Donald Becker becker@scyld.com
Mon Oct 6 19:22:01 2003


On Mon, 6 Oct 2003, Steven Timm wrote:

> > > and continue to have mysterious and intermittent network problems on it.
> > > Configuration: Tyan 2466 motherboard, built-in NIC: 3C905TX., dual

> > > 01:05.0 VGA compatible controller: ATI Technologies Inc Rage Mobility P/M AGP 2x (rev 64)
> >
> > Are you running the video controller in graphics mode or text mode?
> > (Yes, it _might_ make a difference.  Some video controllers are notorious
> > for hogging bus bandwidth and violating bus-hold-time specs.)
> 
> I don't know.  There is no X running on the machine if that is
> what you are asking.

Yes, that's what I was asking.

> > > 02:08.0: 3Com PCI 3c905C Tornado at 0x3000. Vers LK1.1.18-ac
> > >  00:e0:81:23:66:5b, IRQ 19  product code 0000 rev 00.6 date 00-00-00
> >
> > Ehhhh, this makes me suspicious that other vital parameters from the
> > EEPROM are bogus.  Specifically the settings that tell the BIOS the PCI
> > burst bandwidth requirements.

...

> > This can be verified by running 'mii-diag' while the link down.
> 
> Since it's down only a minute and we have a time lag in our
> reporting process it is difficult to catch one while the link is down
> (and more difficult to log into it during that time).  We would have to
> verify the data above.

The recent release (v2.09 of 9/06/2003) of mii-diag has a monitor option
that is useful to track changes in the link status
  mii-diag --monitor eth0

> > > may be causing this problem..in particular is there any
> > > record that Tyan may have misconfigured this NIC when they put it
> > > on their board?
> >
> > The bogus EEPROM sections hint that they didn't take any special care
> > with the implementation.
...
> [root@fnd0228 D0SB]# /usr/local/bin/vortex-diag -eee
> vortex-diag.c:v2.14 12/28/2002 Donald Becker (becker@scyld.com)
>  http://www.scyld.com/diag/index.html
> Index #1: Found a 3c905C Tornado 100baseTx adapter at 0x3000.
>  Station address 00:e0:81:23:66:5b.
>   Receive mode is 0x07: Normal unicast and all multicast.
> EEPROM format 64x16, configuration table at offset 0:
>     00: 00e0 8123 665b 9200 0000 0000 0000 6d50  __#_[f________Pm
>   0x08: 2940 0000 00e0 8123 665b 0010 0000 00aa  @)____#_[f______
>   0x10: 72a2 0000 0000 0180 0000 0004 1421 10f1  _r__________!___
>   0x18: 2466 000a 0002 6300 ff43 4343 ffff ffff  f$_____cC_CC____
>   0x20: ffff ffff ffff ffff ffff ffff ffff ffff  ________________
>       ...

OK, I'll point out the missing chunks:

>     00: 00e0 8123 665b 9200 0000 0000 0000 6d50  __#_[f________Pm
                              ^^^^^^^^^^^^^^
These should contain date, division and product code info.

>   0x08: 2940 0000 00e0 8123 665b 0010 0000 00aa  @)____#_[f______
          ^^^^
The PCI bus request parameters are set reasonably:
  2.5usec and 2.5usec

> So is there anything that can be done to get the checksums
> right and increase the burst setting?

There is nothing obviously wrong with the operational settings, although
Tyan definitely should have programmed "their" fields.  The vortex-diag
program has code internally to update those fields, but it's not worth
modifying the source code only to fill information fields.

The next steps are to
   Run 'mii-diag --monitor', and
   Try using the Scyld driver release, rather than one in the kernel.
    

-- 
Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
914 Bay Ridge Road, Suite 220		Scyld Beowulf cluster system
Annapolis MD 21403			410-990-9993