how to force half duplex mode?
James Ralston
qralston+ml.linux-vortex-bug@andrew.cmu.edu
Mon Jan 31 16:52:16 2000
No, I can't force the switch to half-duplex; it's not managed at all.
(I could've purchased a managed switch, of course, but I didn't feel
like paying more for the switch than the combined cost of both
computers that would be connected to it. ;)
Unfortunately, no one who responded to me (either on the list, or in
private) knew of a way to force the 3c59x driver to initialize the NIC
in half duplex mode. If I can figure out how, what I'd like to do is
modify the driver so that it accepts a "duplex" option, with integer
arguments. Specifying "duplex=0" would force half duplex, specifying
"duplex=1" would force full duplex, and setting "duplex=2" would allow
autonegotiation to occur. If anyone has better suggestions on how to
handle this, I'm all ears...
BTW, I've looked more closely at this problem (extremely poor TCP/IP
performance). I conducted tests using netcat (the "nc" program) for
both TCP and UDP traffic between my two machines (referred to as "foo"
and "bar", below). Here are the results:
foo: nic_duplex=full, switch_port=2, switch_duplex=full
bar: nic_duplex=full, switch_port=3, switch_duplex=full
8388608 bytes in 44.11 seconds from foo to bar via TCP
throughput = 185.7 kb/s, 1.45 Mbit/s
7335936 bytes in 7.00 seconds from foo to bar via UDP
throughput = 0.999 mb/s, 7.99 Mbit/s
8388608 bytes sent (12% of data dropped)
1048576 bytes in 101.87 seconds from bar to foo via TCP
throughput = 10.052 kb/s, 80.416 kbit/s
8380416 bytes in 6.99 seconds from bar to foo via UDP
throughput = 1.14 mb/s, 9.15 Mbit/s
8388608 bytes sent (0.1% of data dropped)
If there were a cabling problem, a problem with the switch, or a
problem with the 3c59x driver, I'd expect that UDP performance and TCP
performance would be similarly affected. But as the tests indicate,
UDP performance is fine.
At this point, I strongly suspect that the real problem is that the
Linux 2.2.12 kernel has horribly crippled TCP/IP performance under
certain conditions, and one of those conditions is "two machines
talking to each other as fast as they can in full duplex".
For the time being, I will mess around with the 3Com DOS utility to
see if I can't find a way to "lock" the NIC into half duplex mode (and
prevent the 3c59x driver from putting it in full duplex mode).
When/if I can figure out how to do that, then I'll repeat my tests for
half duplex modes as well. Something else that I'm going to do is to
build a crossover CAT5 cable and connect the two machines together
directly (thereby eliminating the switch from the picture).
James
On Wed, 26 Jan 2000, Lawrence Walton wrote:
> Can you set the switch to half duplex?
-------------------------------------------------------------------
To unsubscribe send a message body containing "unsubscribe"
to linux-vortex-bug-request@beowulf.org