[vortex] Slow thoughput / failed downloading large files from win hosts using linux 2.2.18/3c59x.c

Mark Ridley stikky@gameplay.com
Wed, 21 Feb 2001 15:29:50 -0000


I had a similar problem which was due to auto-negotiation, not working
correctly.

I went to the 3Com site and downloded the 3comdiag (or similar) and booted
my linux box from a dos disk with this executable on it.

I then configured my 3c905b and saved the settings, hard coding exactly what
i wanted... essentially, switching of full-duplex which sorted my problems.

Hope that helps.

Cheers.

----- Original Message -----
From: <lmonin@metaconcept.com>
To: <vortex@scyld.com>
Cc: <Alan.Cox@linux.org>
Sent: Wednesday, February 21, 2001 3:05 PM
Subject: [vortex] Slow thoughput / failed downloading large files from win
hosts using linux 2.2.18/3c59x.c


Hi all,

I've got some problems with 3c905B Cyclone 100baseTx adapter :

This network adapter is running on a i686/linux-2.2.18 host,
when downloading using ftp or http from this host to a window$ host on same
local network
i've got very slow transfer rate, and downloading files with large sizes ( >
50Mbytes) it often failed
with network errors ( sometimes tx82 errors are produced ).
Win host use a ne2000 pci card under win98.
I noticed this problem since 2.2.12, and mailed Donald Becker about this a
long time ago.

I think this problem was fixed in last kernels but it seems not.

Note that i use the driver provided in 2.2.18 :

"3c59x.c 15Sep00 Donald Becker and others
http://www.scyld.com/network/vortex.html\n";

Searching mail archives i found an old patch solving this problem ( it works
here ), but i need
to apply it to all new kernels.

vortex-diag -a returns that :
8<--------------------------------------------
vortex-diag.c:v1.09 7/28/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a 3c905B Cyclone 100baseTx adapter at 0xd000.
The Vortex chip may be active, so FIFO registers will not be read.
To see all register values use the '-f' flag.
Initial window 7, registers values by window:
  Window 0: 0000 0000 0000 0000 0000 00bf 0000 0000.
  Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000.
  Window 2: 1000 555a bdfa 0000 0000 0000 000a 4000.
  Window 3: 0000 0380 05ea 0000 000a 0800 0800 6000.
  Window 4: 0000 0000 0000 0cd8 0001 8880 0000 8000.
  Window 5: 1ffc 0000 0000 0600 6007 06ce 06c6 a000.
  Window 6: 0000 0000 0000 0100 0000 0202 0000 c000.
  Window 7: 0000 0000 0000 0000 0000 0000 0000 e000.
Vortex chip registers at 0xd000
  0xD010: **FIFO** 00000000 0000009d *STATUS*
  0xD020: 00000020 00000000 00080000 00000004
  0xD030: 00000000 1f99e067 07170060 00080004
 Indication enable is 06c6, interrupt enable is 06ce.
 No interrupt sources are pending.
 Transceiver/media interfaces available:  100baseTx 10baseT.
Transceiver type in use:  Autonegotiate.
 MAC settings: half-duplex.
 Station address set to 00:10:5a:55:fa:bd.
 Configuration options 4000.
8<-----------------------------------------


This is the patch i'm using :


8<---------------------------------------
--- 3c59x.c     Wed Feb 21 14:40:51 2001
+++ 3c59x.c     Wed Feb 21 14:49:58 2001
@@ -1247,6 +1247,12 @@
        if (vp->full_bus_master_tx) {           /* Boomerang bus master Tx.
*/
                vp->cur_tx = vp->dirty_tx = 0;
                outb(PKT_BUF_SZ>>8, ioaddr + TxFreeThreshold); /* Room for a
packet. */
+/* patch proposed at
http://www.tux.org/hypermail/linux-vortex-bug/1999-Oct/0004.html for
+   eth0: Transmit error, Tx status register 82.
+*/
+#define XL_CMD_SET_TX_RECLAIM 0xC000
+outw(XL_CMD_SET_TX_RECLAIM|(PKT_BUF_SZ>>4), ioaddr + EL3_CMD);
+/* End of patch */
                /* Clear the Tx ring. */
                for (i = 0; i < TX_RING_SIZE; i++)
                        vp->tx_skbuff[i] = 0;
8<-----------------------------------------------------------


Is it a configuration problem ( and is there a mean to get it to works
without patch ) ?
Is anybody having the same or similar problem ?
Is this solution doesnt break anything ?
Why are not driver provided with last 2.2 kernel fixed ?



Laurent MONIN
Systèmes & Réseaux
Metaconcept Sarl
http://www.metaconcept.com


_______________________________________________
vortex mailing list
vortex@scyld.com
http://www.scyld.com/mailman/listinfo/vortex