3c555/3c905b performance problems

Peter CHRISTEN peter@discus.anu.edu.au
Fri Feb 18 02:02:18 2000


Hi,

I have a Gateway Solo 3150 laptop running both Windows98
and Linux RedHat 6.1 (installed recently). The network
performance under Linux is much worse than under Windows,
specially when ftp-ing large files.

The Laptop has a 3Com Hurricane 3c555 network card (which
seems to be the laptop version of the 3c905b 'Cyclone' card).
The module /lib/modules/2.2.12-20/3c59x.o is installed.

Although many people report problems with the 3c905b I haven't
found a solution to my problem in the vortex-mailing lists.

So here is description of what I did and what I got.

I did some tests with 'ping' and 'ftp' both under Windows
and Linux:

----------------------------------------------------------------
'dmesg | more' after booting reports:

3c59x.c:v0.99H 11/17/98 Donald Becker 
http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
eth0: 3Com 3c555 Laptop Hurricane at 0xfc00,  ff:ff:ff:ff:ff:ff, IRQ 10
  8K byte-wide RAM 5:3 Rx:Tx split, MII interface.
  MII transceiver found at address 0, status 782d.
  Enabling bus-master transmits and early receives.

----------------------------------------------------------------
Doing a 'ping' with 10kBytes messages on a unloaded local net:

root@~>ping -s 10240 discus.anu.edu.au
PING discus.anu.edu.au (150.203.126.185) from 150.203.126.211 : 10240(10268) 
bytes of data.
10248 bytes from 150.203.126.185: icmp_seq=0 ttl=255 time=18.0 ms
10248 bytes from 150.203.126.185: icmp_seq=1 ttl=255 time=18.0 ms
10248 bytes from 150.203.126.185: icmp_seq=2 ttl=255 time=18.0 ms
...
--- discus.anu.edu.au ping statistics ---
8 packets transmitted, 6 packets received, 25% packet loss
round-trip min/avg/max = 17.9/17.9/18.0 ms

----------------------------------------------------------------
Doing a 'ping' with 64kBytes messages on a unloaded local net:

root@~>ping -s 65500 discus.anu.edu.au
PING discus.anu.edu.au (150.203.126.185) from 150.203.126.211 : 65500(65528) 
bytes of data.
65508 bytes from 150.203.126.185: icmp_seq=2 ttl=255 time=112.5 ms
65508 bytes from 150.203.126.185: icmp_seq=3 ttl=255 time=112.5 ms
65508 bytes from 150.203.126.185: icmp_seq=5 ttl=255 time=112.4 ms
...
--- discus.anu.edu.au ping statistics ---
9 packets transmitted, 5 packets received, 44% packet loss
round-trip min/avg/max = 112.4/112.5/112.6 ms

Sometimes I even get 90% packet loss...

----------------------------------------------------------------
In '/proc/net/dev' it says:

root@~>cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    
packets errs drop fifo colls carrier compressed
    lo:    1400      20    0    0    0     0          0         0     1400      
20    0    0    0     0       0          0
  eth0: 1027378    4625    0    0    0     0          0         0  1569224    
1107    0    0    0     0       0          0

----------------------------------------------------------------
And vortex-diag reports:

root@~>vortex-diag -v -aa -mm -ee
vortex-diag.c:v1.09 7/28/99 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Index #1: Found a 3c555 Laptop Hurricane adapter at 0xfc00.
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 06ff ffff 0000.
  Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000.
  Window 2: c000 029f ef38 0000 0000 0000 0102 4000.
  Window 3: 0000 0060 05ea 0020 0040 1000 0800 6000.
  Window 4: 0000 0000 8000 0cc2 0003 8800 0000 8000.
  Window 5: 1ffc 0000 0000 0600 0807 06de 06c6 a000.
  Window 6: 0000 0000 0000 8100 0000 3ff7 007e c000.
  Window 7: 0000 0000 0000 0000 0000 0000 0000 e000.
Vortex chip registers at 0xfc00
  0xFC10: **FIFO** 00000000 0000001f *STATUS*
  0xFC20: 00000020 00000000 00080000 00000004
  0xFC30: 00000000 619d9e63 0379e840 00080004
 Indication enable is 06c6, interrupt enable is 06de.
 No interrupt sources are pending.
 Transceiver/media interfaces available:  MII.
Transceiver type in use:  MII.
 MAC settings: full-duplex.
 Station address set to 00:c0:9f:02:38:ef.
 Configuration options 4000.
 EEPROM address sizing read returned 5555/10b7/5555.
EEPROM contents (256 words):
 0x000: 10b7 5055 0000 0000 0000 0000 0000 0000
 0x008: 0000 0000 0000 0000 0000 0000 0000 0000
 0x010: 0000 0000 0000 0000 0000 0000 10b7 5a55
 0x018: 0001 0000 0000 0000 0000 0000 0000 0000
 0x020: 0000 0000 0000 0000 0000 0000 0000 0000
 0x028: 0000 0000 0000 0000 0000 0000 0000 0000
 0x030: 00c0 9f02 38ef 5055 b021 0009 0000 6d50
 0x038: 3000 0009 00c0 9f02 38ef 2010 0000 0006
 0x040: 32a6 1570 0000 0060 0001 0000 0000 0000
 0x048: 0000 0000 0000 0000 0000 0000 0000 0000
 0x050: 0000 0000 0000 0000 0000 0000 0000 0000
 0x058: 0000 0000 0000 0000 0000 0000 0000 0000
 0x060: 0000 0000 0000 0000 0000 0000 0000 0000
 0x068: 0000 0000 0000 0000 0000 0000 0000 0000
 0x070: 0000 0000 0000 0000 0000 0000 0000 0000
 0x078: 0000 0000 0000 0000 0000 0000 0000 0000
 0x080: 10b7 5055 0000 0000 0000 0000 0000 0000
 0x088: 0000 0000 0000 0000 0000 0000 0000 0000
 0x090: 0000 0000 0000 0000 0000 0000 10b7 5055
 0x098: 0000 0000 0000 0000 0000 0000 0000 0000
 0x0a0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0a8: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0b0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0b8: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0c0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0c8: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0d0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0d8: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0e0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0e8: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0f0: ffff ffff ffff ffff ffff ffff ffff ffff
 0x0f8: ffff ffff ffff ffff ffff ffff ffff ffff
 The word-wide EEPROM checksum is 0x4598.
Parsing the EEPROM of a 3Com Vortex/Boomerang:
 The CardBus product ID is 10b7 5055.
 3Com Node Address 00:C0:9F:02:38:EF (used as a unique ID only).
 OEM Station address 00:C0:9F:02:38:EF (used as the ethernet address).
 Manufacture date (MM/DD/YYYY) 1/1/1988, division 	, product .
Options: none.
  Vortex format checksum is incorrect (003f vs. 0000).
  Cyclone format checksum is incorrect (0x3f vs. 00).
  Hurricane format checksum is incorrect (0x3f vs. 00).
 MII PHY found at address 0, status 782d.
 MII PHY 0 at #0 transceiver registers:
   3100 782d 0300 e54a 0141 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000
   0140 0000 0000 0000 0000 0000 0000 0000
   0000 0000 0000 0000 0000 0000 0000 0000.
root@~

----------------------------------------------------------------
Next, I tried to ftp a 37 MByte long file from/to the local
server. I did the same before under Windows, and got about
830 kBytes/sec for putting the file to the server and about
995 kBytes/sec for getting it from the server. (I did each
test five times.)

Under Linux, I wasn't able to get the file from the server, I
had to stop it after several minutes, and 'ifconfig' and
'cat /proc/net/dev/' reported lot's of errors:

root@~>ifconfig
eth0      Link encap:Ethernet  HWaddr 00:C0:9F:02:38:EF  
          inet addr:150.203.126.211  Bcast:150.203.126.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:23922 errors:2152 dropped:0 overruns:0 frame:3135
          TX packets:8894 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          Interrupt:10 Base address:0xfc00 

lo        Link encap: Local Loopback
          ...

root@~>cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    
packets errs drop fifo colls carrier compressed
    lo:    1400      20    0    0    0     0          0         0     1400      
20    0    0    0     0       0          0
  eth0:23332223   25446 2332    0    0  3392          0         0  2027640    
9574    0    0    0     0       0          0

----------------------------------------------------------------
Sending (get) the large 37MB file also took too long, so I had
to stop it after a few minutes. The transmission rate dropped
to under 50 kBytes/sec. Odd enough, 'ifconfig' and 'cat /proc/net/dev'
didn't report any errors on the transmission side:

root@~>ifconfig
eth0      Link encap:Ethernet  HWaddr 00:C0:9F:02:38:EF  
          inet addr:150.203.126.211  Bcast:150.203.126.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:44366 errors:2804 dropped:0 overruns:0 frame:4074
          TX packets:30585 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          Interrupt:10 Base address:0xfc00 

root@~>cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    
packets errs drop fifo colls carrier compressed
    lo:    1400      20    0    0    0     0          0         0     1400      
20    0    0    0     0       0          0
  eth0:28543391   44480 2804    0    0  4074          0         0 31552574   
30585    0    0    0     0       0          0

----------------------------------------------------------------

Any help or information is appreciated!

Cheers,
Peter

-------------------------------------------------------------------  
Peter Christen                 | Email: pchristen@csl.anu.edu.au
Computer Sciences Lab, RSISE   |-----------------------------------
Australian National University | Phone: +61 (02) 6279 8663 (Direct)
Canberra ACT 0200              | Phone: +61 (02) 6279 8644 (Secr.)
Australia                      | Fax:   +61 (02) 6279 8645/8651
-------------------------------------------------------------------
URL:  http://discus.anu.edu.au/~peter
-------------------------------------------------------------------

-------------------------------------------------------------------
To unsubscribe send a message body containing "unsubscribe"
to linux-vortex-request@beowulf.org