Netgear card works well then slows to a crawl

Robert Burton bobwin@literati.com
Thu Dec 3 15:53:31 1998


Hello!

I'm having a few problems with a Netgear FA310TX card. After connecting the
card to the switch, the card is seen and seems to work. I then run a few
tests, using FTP to judge the speed. I FTP'd from the server to a client
machine a couple megabytes, then a 30 MB file which both go well and seem to
be ok. Then I try a 180 MB file and the transfer slows to a crawl! Checking
the client machine, the FTP file transfered 56 MB one time but only 16 MB
another time. Checking the server at the console, everything else (POP email
checks, http) is getting backed up, and pings to any machine on the network
are agonizingly slow. On a side note, is FTP a good way to test performance?

I turned up the debug level of the tulip driver and then saw these messages:

On system boot: (I've include more of the dmesg below)

> eth0: Transmit error, Tx status 7fffbc00.
> eth0: The transmitter stopped!  CSR5 is fc068002, CSR6 320e0202.

At the conlsole and in the log files after everything slowed down I saw:

> eth0: Too much work during an interrupt, csr5=0xfd6980c0.
> eth0: MII status 782d, Link partner report 41e1, CSR12 ffffff80, FD.

There were many repititions of these 2 lines. I read that changing the
max_interrupt higher to a higher value can help the interrupt, but also read
that is shouldn't be needed. So is it safe to change this value? I'm thinking
that the too much work on the interrupt is what's slowing everything down.

Doing an ifconfig down, then up on the card seems to help, but I can't do that
all day when a number of people (about 25) are opening and saving files to the
system. Plus the server is at a remote site.

I also noticed that when the card was working, that transfer back to the
server were nearly twice that as coming from the server. The Full Duplex is
lit on the switch but is not on the card. But the tulip-diag seems to say that
the card is in full duplex. Is there a way to find out for sure or do I need
to try and force the card to full duplex to see if it performs better?

Also doing the tulip-diag on card, one time reported a transmitter threshold
of 128 but another time said 256. Should this be one or the other? Or is this
something I need not be concened about?

Also on when running a tulip-diag, it always come back with:
> Unknow PCI device ID 40005c49
This is only displayed to the console, if I pipe the tulip-diag output to a
file, this messages is still on the console, and depening on what options I
give to tulip-daig the ID changes. Is this something to worry about?

I currently have 2 network cards in the system. A NE2000 ISA card and this
Netgear PCI card. The system is doing IP_Masquerading and the NE2000 is doing
the internal stuff (slow but proved reliable) and the Netgear connected to the
outside world, where the card is working fine. I'd like to switch these of
course so the Netgear is on the internal network where it would be used more
effectively.

Searching thru the mail list archive I didn't see any definite answers to my
probblems. I've tried tulip drivers 0.88, 0.89K (Netgear modified), and
v.0.90. I even tried the card in a differnet PCI slot.

So my questions again are:
1. Is there a better way to test for network performance? Even for the times
the Netgear card did work I'm not sure if it was doing it's best. I saw other
messages on the list talk about 'netperf' and 'ttcp' I believe but have been
unable to find them on the net.

2. What do the messages on bootup and at the console mean? Why is the
tranmitter stopped? 

3. Is it safe to change max_interrupt_higher to a larger value?

4. Is the full duplex not being negottiated correctly?

5. Is the transmitter threshold value being differnet a problem?

6. Why am I getting an Unknow PCI Device ID error?

7. And most importantly, how do I get it to work correctly?

If anyone could provide some insight on how to get the Netgear card working
fast and reliably I'd would greatly appreciate it. I've provided the log
mesages, tulip-diag output and /proc/pci below. If there's anything else I
shoud do the help figure this out please let me know.

As for solutions to try I'm open to any ideas, I have no problems trying
differnet drivers, swapping motherboards, or kicking the darn thing! ;)


-Bob

**** System information ****
  RedHat 5.1, kernel is 2.0.34-0.6
  Tried tulip drivers that came with RH 5.1, v.89K modified by Netgear,
  and  v.90 - all same problems occur.

  Using the card to connect to internal network for serving AutoCAD files
thru    Samba, as well as for Intranet use - HTTP, FTP, POP mail, IP
Masquerading

  Generic motherboard with a ROM PCI/ISA BIOS (2A69HAIC) by Award Software.
  The bios is set to do PCI autoconfig.
  The card when on the internal network is plugged into a Accton Fast    
  SwitchHub-8s

  For the Netgear card itself, some of the numbers on it are:
  On the top of the card: FA310TX C6.1
  On the end of the card: 8FA310TX.1C6
  On the chip Digital 21140-AF

**** demsg for 89K ****
Found Digital DS21140 Tulip at PCI I/O address 0x9500.
tulip.c:v0.89K 8/8/98 Originally written by becker@cesdis.gsfc.nasa.gov
Driver modified by Netgear for FA310TX
Netgear technical support: support@netgear.matrixx.net
eth0: Digital DS21140 Tulip at 0x9500, 00 40 05 a3 52 1c, IRQ 11.
read_eeprom:
1385 1100 0000 0000 0000 0000 0000 0000
00ca 0103 4000 a305 1c52 1e00 0000 0800
0100 018c 0000 0000 e078 0001 0050 0018
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 4784
eth0:  EEPROM default media type Autosense.
eth0:  MII interface PHY 0, setup/reset sequences 0/0 long, capabilities e0
78.
eth0:  Index #0 - Media MII (#11) described by a 21140 MII PHY (1) block.
eth0: Checking for MII transceivers...
eth0:  MII transceiver found at MDIO address 0, config 1000 status 782d.
eth0:  Advertising 01e1 on PHY 0, previously advertising 01e1.
eth0: tulip_open() irq 11.
eth0:  Advertising 01e1 on PHY 0 (0).
eth0: Using media type MII, CSR12 is 80.
eth0: Done tulip_open(), CSR0 ffa04800, CSR5 fc360000 CSR6 320e2002.
eth0: Transmit error, Tx status 7fffbc00.
eth0: Transmit error, Tx status 7fffbc00.
eth0: MII status 782d, Link partner report 41e1, CSR12 ffffff80, HD.
eth0: The transmitter stopped!  CSR5 is fc068002, CSR6 320e0202.
eth0: Setting full-duplex based on MII Xcvr #0 parter capability of 41e1.
loading device 'eth1'...
ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
NE*000 ethercard probe at 0x340: 00 c0 f0 19 ed 05
eth1: NE2000 found at 0x340, using IRQ 5.
loading device 'eth2'...
eth0: MII status 782d, Link partner report 41e1, CSR12 ffffff80, FD.

**** /proc/pci ****

PCI devices found:
  Bus  0, device  15, function  0:
    Ethernet controller: DEC DC21140 (rev 34).
      Medium devsel.  Fast back-to-back capable.  IRQ 11.  Master Capable. 
Latency=32.  Min Gnt=20.Max Lat=40.
      I/O at 0x9500.
      Non-prefetchable 32 bit memory at 0xe0811000.
  Bus  0, device  13, function  0:
    SCSI storage controller: Adaptec AIC-7871 (rev 0).
      Medium devsel.  Fast back-to-back capable.  IRQ 10.  Master Capable. 
Latency=32.  Min Gnt=8.Max Lat=8.
      I/O at 0x9000.
      Non-prefetchable 32 bit memory at 0xe0810000.
  Bus  0, device  11, function  0:
    VGA compatible controller: Trident TG 9660 / Cyber9385 (rev 211).
      Medium devsel.  Fast back-to-back capable.  IRQ 9.  Master Capable. 
Latency=32.  
      Non-prefetchable 32 bit memory at 0xe0000000.
      Non-prefetchable 32 bit memory at 0xe0800000.
      Non-prefetchable 32 bit memory at 0xe0400000.
  Bus  0, device   7, function  1:
    IDE interface: Intel 82371SB PIIX3 IDE (rev 0).
      Medium devsel.  Fast back-to-back capable.  Master Capable. 
Latency=32.  
      I/O at 0xf000.
  Bus  0, device   7, function  0:
    ISA bridge: Intel 82371SB PIIX3 ISA (rev 1).
      Medium devsel.  Fast back-to-back capable.  Master Capable.  No bursts.  
  Bus  0, device   0, function  0:
    Host bridge: Intel 82441FX Natoma (rev 2).
      Medium devsel.  Fast back-to-back capable.  Master Capable. 
Latency=32.  

**** tulip-diag -f -a -e -e -m -m ****

ulip-diag.c:v1.06 9/18/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a Digital DS21140 Tulip adapter at 0x9500.
Digital DS21140 Tulip Tulip chip registers at 0x9500:
  ffa04800 ffffffff ffffffff 003bd028 003bd228 fc660000 320e2202 ffffebef
  e0000000 fffd83ff ffffffff fffe0000 ffffff80 ffffffff 1c09fdc0 fffffec8
 The Rx process state is 'Waiting for packets'.
 The Tx process state is 'Idle'.
Transmit started, Receive started, full-duplex.
 The transmit threshold is 128.
 Port selection is MII, full-duplex.
EEPROM contents:
  1385 1100 0000 0000 0000 0000 0000 0000
  00ca 0103 4000 a305 1c52 1e00 0000 0800
  0100 018c 0000 0000 e078 0001 0050 0018
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 0000
  0000 0000 0000 0000 0000 0000 0000 4784
 ID CRC 0xca (vs. 0xca), complete CRC de1dddcf.
EEPROM transceiver/media description for the Digital DS21140 Tulip chip.

Leaf node at offset 30, default media type 0800 (Autosense).
 CSR12 direction setting bits 00.
 1 transceiver description blocks:
  Media MII,  block type 1.
   MII interface PHY 0 (media type 11).
 MII PHY found at address 0, status 0x782d.
 MII PHY #0 transceiver registers:
   1000 782d 7810 0000 01e1 41e1 0001 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 4000 0000 38c8 0010 0000 0002
   0001 0000 0000 0000 0000 0000 0000 0000.
 Basic mode control register 0x1000: Auto-negotiation enabled.
 Basic mode status register 0x782d ... 782d.
   Link status: established.
   Capable of  100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Vendor ID is 1e:04:00:--:--:--, model 0 rev. 0.
   Vendor/Part: Level One LXT970.
 I'm advertising 01e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT
   Advertising no additional info pages.
   IEEE 802.3 CSMA/CD protocol.
 Link partner capability is 41e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   Negotiation  completed.




-Bob Burton

---------------------------------------------------------------------
Robert Burton                    Literati Information Technology, LLC
rburton@literati.com                          http://www.literati.com
---------------------------------------------------------------------