[tulip] odd bug in tulip driver

Chris Leavoy cyber@phix-it.com
Fri, 4 Aug 2000 17:09:16 -0400 (EDT)


The switch, and network cards lights report that they are using
100baseTx-FD.  As for the drivers. i have no idea what is going on.
The card is a Network Everywhere NC100 v2 (linksys)


Below is an output of tulip-diag, notice that the driver is using
half-duplex when it should be using full duplex (according to the switch
and network card lights)

tulip-diag.c:v2.03 7/31/2000 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a ADMtek AL985 Centaur-P adapter at 0xec00.
 Port selection is 100mbps-SYM/PCS 100baseTx scrambler, half-duplex.
 Transmit started, Receive started, half-duplex.
  The Rx process state is 'Waiting for packets'.
  The Tx process state is 'Idle'.
  The transmit threshold is 128.
 The Comet MAC registers are 01782000 ffff6b15 filter 8000000000000000.


Below is an output of mii-diag, i have no idea what is going on here.

mii-diag 
Using the default interface 'eth0'.
Basic registers of MII PHY #1:  0000 0000 0000 0000 0000 0000 0000 ffff.
 Basic mode control register 0x0000: Auto-negotiation disabled, with
 Speed fixed at 10 mbps, half-duplex.
 Basic mode status register 0x0000 ... 0000.
   Link status: not established.
 Link partner information information is not exchanged when in fixed speed
mode.


Below is a cut from /proc/pci, the output is odd.

  Bus  0, device   3, function  0:
    Ethernet controller: Unknown vendor Unknown device (rev 17).
      Vendor id=1317. Device id=985.
      Medium devsel.  Fast back-to-back capable.  IRQ 9.  Master
Capable.  Latency=64.  Min Gnt=255.Max Lat=255.
      I/O at 0xec00 [0xec01].
      Non-prefetchable 32 bit memory at 0xffaffc00 [0xffaffc00].


i did a series of tests... On the first test, (an ftp upload to the box
with the tulip based card) the following messages were recorded in syslog

kernel: eth0: Too much work during an interrupt, csr5=0xfc674050.
kernel: eth0: Re-enabling interrupts, fc6fc855.
kernel: eth0: Too much work during an interrupt, csr5=0xfc674050.
kernel: eth0: Re-enabling interrupts, fc67c855.
kernel: eth0: Too much work during an interrupt, csr5=0xfc69c0d0.
kernel: eth0: Restarted Rx at 291103 / 291103.
kernel: eth0: Re-enabling interrupts, fc67c855.
kernel: eth0: Too much work during an interrupt, csr5=0xfc69c0d0.
kernel: eth0: Restarted Rx at 291135 / 291135.
kernel: eth0: Re-enabling interrupts, fc67c855.

at this point, little was able to reach the box. so i restarted the
interface (ifconfig eth0 down ; ifconfig eth0 up) and it started working
again.  I did this 10 times, and each time the same thing happened. After
that, i performed a similar series of tests, transfering files from the
box. and again, i got the same results as the first tests. 


I have tried this very same network card in my windows machine, and it
operates just fine. Is this a bug in the tulip driver or is there
something else wrong with my setup? 

Is anyone else having similar problems?


Thanks,
Chris Leavoy