[vortex] 3c905/905B performance problems

Scott Wehrenberg wehresj@mail.auburn.edu
Sun, 7 Oct 2001 13:17:18 +0200


Hi,

   I have a home network of 8 computers sharing a masqueraded DSL connection 
on a 100 Mbps network. While copying files between my computer (2.4.10 kernel 
with a 3c905 Boomerang) and the server (2.4.9 kernel with two 3c905Bs) using
scp or rsync the speed is horrible (over an hour for 40 megs). While copying
files between either of the computers and any of the windows boxes on the
network the speeds are fine. I also get normal speeds while accessing the
internet on this computer with the server as the gateway machine.
   I've tried numerous configurations in attempts to solve the problem. I
was recieving the status 82 transmit error on the server so I forced the
3c905B on the server into full-duplex, and while the error message
disappeared the speeds did not improve at all. The relevant diagnostics
follow.

Thanks in advance for any help,
Scott Wehrenberg

_________________________________________

toast:/home/lftl# bin/vortex-diag -aaee
vortex-diag.c:v2.05 5/15/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a 3c905 Boomerang 100baseTx adapter at 0x6c40.
The Vortex chip may be active, so FIFO registers will not be read.
To see all register values use the '-f' flag.
Initial window 4, registers values by window:
  Window 0: 0000 0000 0000 0000 0000 00bf ffff 0000.
  Window 1: FIFO FIFO 0000 2000 8000 00ff 13fc 2000.
  Window 2: 6000 0808 ac36 0000 0000 0000 06c6 4000.
  Window 3: 02d8 0063 0000 0020 e040 0bff 13ff 6000.
  Window 4: 0000 06d0 0000 0cc0 0003 8802 0500 8000.
  Window 5: 1ffc fffc 06c6 0600 0007 06ce 06c6 a000.
  Window 6: 0000 0000 0000 7b01 0100 30ee 3a30 c000.
  Window 7: 4128 0f71 0000 0000 8000 00ff 5000 e000.
Vortex chip registers at 0x6c40
  0x6C50: **FIFO** 00000000 00008000 *STATUS*
  0x6C60: 00000021 00000000 0a7ae012 060005d2
  0x6C70: 00000000 000039ba 0f714130 00000000
 Indication enable is 06c6, interrupt enable is 06ce.
 No interrupt sources are pending.
 Transceiver/media interfaces available:  MII.
Transceiver type in use:  MII.
 MAC settings: full-duplex.
Maximum packet size is 0.
 Station address set to 00:60:08:08:36:ac.
 Configuration options 06c6.
EEPROM contents (64 words, offset 0):
 0x000: 0060 0808 36ac 9050 c2b5 0036 4b4b 6d50
 0x008: 0418 0000 0060 0808 36ac 8020 0000 0000
 0x010: 10a6 0000 02d8 0063 0000 0003 0000 000c
 0x018: ffff ffff ffff ffff ffff ffff ffff ffff
 0x020: ffff ffff ffff ffff ffff ffff ffff ffff
 0x028: ffff ffff ffff ffff ffff ffff ffff ffff
 0x030: ffff ffff ffff ffff ffff ffff ffff ffff
 0x038: ffff ffff ffff ffff ffff ffff ffff ffff
 The word-wide EEPROM checksum is 0x21fe.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
 3Com Node Address 00:60:08:08:36:AC (used as a unique ID only).
 OEM Station address 00:60:08:08:36:AC (used as the ethernet address).
 Manufacture date (MM/DD/YYYY) 5/21/1997, division 6, product KK.
 Options: force full duplex, link beat required.
  Vortex format checksum is correct (000c vs. 000c).
  Cyclone format checksum is incorrect (00 vs. 0xff).
  Hurricane format checksum is incorrect (00 vs. 0xff).

toast:/home/lftl# bin/mii-diag -v
mii-diag.c:v2.02 5/21/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Using the default interface 'eth0'.
 Basic mode control register 0x3100: Auto-negotiation enabled.
 Basic mode status register 0x786f ... 786f.
   Link status: established.
   This transceiver is capable of  100baseTx-FD 100baseTx 10baseT-FD
10baseT.
   Able to perform Auto-negotiation, negotiation complete.
   *** Link Jabber! ***
 Your link partner is generating 100baseTx link beat  (no autonegotiation).
   End of basic transceiver information.

 MII PHY #24 transceiver registers:
   3100 786f 2000 5c01 0141 0081 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 ffff 0000 0000 0001 8060
   8020 0c18 0000 1800 a3b9 007f 4d05 001b

hibachi:/home/lftl# ./vortex-diag -aaee
vortex-diag.c:v2.05 5/15/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Index #1: Found a 3c905B Cyclone 100baseTx adapter at 0xcc00.
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 f5f5 00bf 0000 0000.
  Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000.
  Window 2: 0100 bf02 53e7 0000 0000 0000 000a 4000.
  Window 3: 0000 0180 05ea 0000 000a 0800 0800 6000.
  Window 4: 0000 0000 0000 0cd2 0001 8880 0000 8000.
  Window 5: 1ffc 0000 0000 0600 0805 06ce 06c6 a000.
  Window 6: 0000 0000 0000 0000 0000 0000 0000 c000.
  Window 7: 0000 0000 0000 0000 0000 0000 0000 e000.
Vortex chip registers at 0xcc00
  0xCC10: **FIFO** 00000000 00000012 *STATUS*
  0xCC20: 00000020 00000000 00080000 00000004
  0xCC30: 00000000 fb63049d 0353b140 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:01:02:bf:e7:53.
 Configuration options 000a.
EEPROM contents (64 words, offset 0):
 0x000: 0001 02bf e753 9055 0109 0048 4d43 6d50
 0x008: 2979 0000 0001 02bf e753 0010 0000 002a
 0x010: 32a2 0000 0000 0180 0000 0000 0000 10b7
 0x018: 9055 000a 0000 0000 0000 0000 0000 0000
 0x020: 00a5 0000 0000 0000 0000 0000 0000 0000
 0x028: 0000 0000 0000 0000 0000 0000 0000 0000
 0x030: 0000 0000 0000 0000 0000 0000 0000 0000
 0x038: 0000 0000 0000 0000 0000 0000 0000 0000
 The word-wide EEPROM checksum is 0x1fef.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
 3Com Node Address 00:01:02:BF:E7:53 (used as a unique ID only).
 OEM Station address 00:01:02:BF:E7:53 (used as the ethernet address).
 Manufacture date (MM/DD/YYYY) 8/9/2000, division H, product CM.
 Options: negotiated duplex, link beat required.
  Vortex format checksum is incorrect (00cd vs. 10b7).
  Cyclone format checksum is correct (0xa5 vs. 0xa5).
  Hurricane format checksum is correct (0xa5 vs. 0xa5).
Index #2: Found a 3c905B Cyclone 100baseTx adapter at 0xc800.
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 f5f5 00bf 0000 0000.
  Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000.
  Window 2: 0100 bf02 97ef 0000 0000 0000 000a 4000.
  Window 3: 0000 0180 05ea 0020 000a 0800 0800 6000.
  Window 4: 0000 0000 0000 0cd2 0001 8880 0000 8000.
  Window 5: 1ffc 0000 0000 0600 0807 06ce 06c6 a000.
  Window 6: 0000 0000 0000 2700 0000 0a7e 2bc6 c000.
  Window 7: 0000 0000 0000 0000 0000 0000 0000 e000.
Vortex chip registers at 0xc800
  0xC810: **FIFO** 00000000 00000028 *STATUS*
  0xC820: 00000020 00000000 00080000 00000004
  0xC830: 00000000 996c6694 0354b0c0 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: full-duplex.
 Station address set to 00:01:02:bf:ef:97.
 Configuration options 000a.
EEPROM contents (64 words, offset 0):
 0x000: 0001 02bf ef97 9055 0109 0048 4d43 6d50
 0x008: 2979 0000 0001 02bf ef97 0010 0000 002a
 0x010: 32a2 0000 0000 0180 0000 0000 0000 10b7
 0x018: 9055 000a 0000 0000 0000 0000 0000 0000
 0x020: 00a5 0000 0000 0000 0000 0000 0000 0000
 0x028: 0000 0000 0000 0000 0000 0000 0000 0000
 0x030: 0000 0000 0000 0000 0000 0000 0000 0000
 0x038: 0000 0000 0000 0000 0000 0000 0000 0000
 The word-wide EEPROM checksum is 0x3077.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
 3Com Node Address 00:01:02:BF:EF:97 (used as a unique ID only).
 OEM Station address 00:01:02:BF:EF:97 (used as the ethernet address).
 Manufacture date (MM/DD/YYYY) 8/9/2000, division H, product CM.
 Options: negotiated duplex, link beat required.
  Vortex format checksum is incorrect (00cd vs. 10b7).
  Cyclone format checksum is correct (0xa5 vs. 0xa5).
  Hurricane format checksum is correct (0xa5 vs. 0xa5).

hibachi:/home/lftl# ./mii-diag -v
mii-diag.c:v2.02 5/21/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Using the default interface 'eth0'.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 You have link beat, and everything is working OK.
   This transceiver is capable of  100baseTx-FD 100baseTx 10baseT-FD
10baseT.
   Able to perform Auto-negotiation, negotiation complete.
 Your link partner is generating 10baseT link beat  (no autonegotiation).
   End of basic transceiver information.

 MII PHY #24 transceiver registers:
   3000 786d 0000 0000 01e1 0020 0004 2001
   0000 0000 0000 0000 0000 0000 0000 0000
   0000 0ecf 1fdd 0000 0000 0005 2001 0000
   0000 2040 07cf 1c11 0011 1000 0000 0000