[vortex] problems w/3c59x on 3CCFE575BT

dean gaudet dean@arctic.org
Mon Dec 23 15:16:36 2002


On Mon, 23 Dec 2002, Malcolm Scott wrote:

> Just an obvious question - are you sure the problem's on your machine,
> and not on your webserver ("neemlark")?

i'm pretty certain it's not neemlark... here's a full explanation of what
i've tried to isolate the problem down to the 3c59x driver:

	mewlark (router)+- eth0  <- 192.168.1/24 -> neemlark
	                \- wlan0 <- 192.168.2/24 -> doomlark

when i compile 2.4.20-ac1 / pcmcia-cs 3.2.3 without kernel cardbus
support, so that i can use the 3c575_cb driver from pcmcia-cs, then
issuing "wget http://neemlark/foo" on mewlark results in >50Mbit/s
transfers.  similarly "wget http://neemlark/foo" on doomlark maxes out the
11mbit/s wireless lan.  so this demonstrates that it is possible to
achieve respectable transfers with this hardware setup.

when i compile 2.4.20-ac1 with kernel cardbus support and use the 3c59x
driver (pcmcia-cs will not build the 3c575_cb driver in this case) then
mewlark's wget maxes out around 200kbit/s...  but oddly doomlark is still
able to get over 8mbit/s.

at any rate this means that at least 3 of these 4 tests are able to
achieve greater than 200kbit/s -- so it's not likely to be anything on
neemlark, or anything with the switch.

i've had this problem since i first started using 2.4 kernels, but i
mentioned i can hack around it by attaching mewlark's eth0 to a 10baseT
hub (and then uplinking that into the same 100baseT switch which neemlark
is on).  i left that hack in place until recently, when i got a chance to
start debugging the problem.

note:  as i mentioned, i find it odd that mewlark w/3c59x driver is able
to burst over 200kbit/s *when the traffic is routed through mewlark* as
opposed to *when the traffic is terminated on mewlark*.  my wild guess is
this has to do with ACK packets going through the router at "just the
right time" to avoid collisions (the switch flashes the link light orange
a lot when the traffic is terminated on mewlark).

i've tried ssh instead of wget, i.e.:
mewlark% time ssh neemlark dd if=/dev/zero bs=1024 count=8192 >/dev/null

more hardware details:

the switch is a netgear fs108.

neemlark is also running 2.4.20-ac1, and its ethernet card is an older
eepro100:

eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin <saw@saw.sw.com.sg> and others
eth0: Intel Corp. 82557/8/9 [Ethernet Pro 100], 00:D0:B7:D5:5B:E9, IRQ 17.
  Board assembly 721383-009, Physical connectors present: RJ45
  Primary interface chip i82555 PHY #1.
  General self-test: passed.
  Serial sub-system self-test: passed.
  Internal registers self-test: passed.
  ROM checksum self-test: passed (0x04f4518b).

doomlark is running win2k, with a cisco 350 wireless (and mewlark has
a WPC11 linksys running in AP mode).

i should have a newer eepro100 kicking around somewhere, i can give it
a try.

-dean