[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