[eepro100] eepro100 performance

Arthur Rinkel arthur@cal040041.student.utwente.nl
Sat, 10 Feb 2001 22:05:06 +0100 (CET)


Hi,

I'm having somewhat disappointing throughput with an eepro100 (i82557) on
a Pentium 133 system and I'm hoping someone can help me out a bit. The
actual throughput I'm getting is about 2MB/s peak, normal is about
1,4MB/s. I ran some tests with a prg called ttcp and transmitted a large
file over the loopback. Does this give a good indication of how fast the
upro is able to transmit (or receive) packets? I'm not sure, but the
throughput during this test was 4,7MB/s.

A friend of mine suggested that the NIC might be placed in a 
non-busmastering PCI-slot. So I tried another slot, and the throughput
(not with ttcp) increased to 2,2MB/s peak. I only did one test with the
NIC in another PCI-slot, so the increase may mean nothing. Anyway, there's
not much difference...

Furthermore, I tried switching between half and full duplex, but that too
didn't change anything. The switch this NIC is connected to does support
both half and full duplex. Here are some stats about the NIC collected 
over the past week:

  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  RX packets:19542477 errors:3608 dropped:0 overruns:0 frame:88730
  TX packets:267371 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:100

There are no errors or warnings from the kernel.

Anybody who can tell if there's really a problem going on here, or is the
2MB throughput the best I can get on a P133?


One other question I have. Besides an eepro100 this P133 system has a 3Com
NIC which, ofcourse, requires another driver. Both drivers are compiled in
the (Linux) kernel and the 3Com NIC requires some parms to be detected by
the kernel during booting; eepro is eth0, 3Com is eth1. But it seems those
parms don't get sent to the setup routine of the 3Com driver, since this
driver won't get loaded at all. Is it possible the parms for the 3Com NIC
get sent to the eepro100 driver, which fails, and the 3Com NIC gets
ignored? If so, how does one sent the 3Com parms to its driver (without
making the 3Com driver a module)?

Grtz, Arthur