OK experts,
finally I got a solution for a problem I posted here a while ago, and that has never been answered by anyone. The problem now: I know what's going wrong, but I want to understand why, and where the symptoms I observed do come from. So what I am after is knowledge and understanding what's going on inside the 100 MBits Ethernet. No stabbing in the dark, please. Links to websites are welcome.
Hardware configuration:
3Com FE575 PCMCIA 10/100 card in a laptop.
3Com 3C905 PCI 10/100 card in a server.
All driver settings on defaults, everything set to "autodetect"
NuSwitch 100 Base-TX switch (rather old box) in between. Has an indicator light for duplex mode for every port, but no collision indicator.
Performance mesasurements taken by copying a bunch of files (random mix of small and large ones)
Operating systems: NT 4.0, Windows 2000, tried both.
The old Problem:
Throughput approx 3 MBits/sec (peak) in both directions. Switch shows full duplex indicator light.
Solved tonight by:
Downloading 3Com internal card diagnostics tool. Observed an extraordinary rate of single collisions, no multiple collisions. Leads to conclusion that a mismatch in duplex settings is the problem. Checked NIC status using the diag tool: says half duplex.
#1: Set both NIC drivers to half duplex. Result: still lots of single collisions, full duplex indicator on switch is still on, collision counter rising just as fast as the packet counters do. Every packet a collision (almost). Multiple collisions counter and CRC error counter remains 0.
#2: Forced the switch in half duplex mode (has a bunch of DIP switches at the rear to do that). NICs are still half duplex setting. Result: performance jumps to 48 MBits/sec (peak). Both single and multiple collision counters rise steadily, but at a much slower ratio than before. Seems like a working half duplex configuration. No CRC errors.
#3: Now set both NIC drivers to full duplex, while leaving the switch at half duplex setting. Switch duplex LED off, NIC diagnostics says "full duplex". Now I expected not a single frame go through, but performance was just like in #2, there was just a slow but steady rise in the CRC and frame alignment failures counter. Collisions counters remain all 0.
#4: Now set the switch back to full duplex, and left the card on full duplex setting as well. Performance jumps to 64 MBits/sec (peak), collisions remain 0, as do crc and alignment errors. Gotcha.
#5: finally set the switch to half duplex, and left the NICs on autosensing. Results are like in #2, with collisions, but fair throughput. Bot NICs show "half duplex".
Problem solved 100%, understood what's going on: 0%.
Obviously the switch light lies about the duplex mode. Quick check: took another of those boxes, and connected them via a crossover cable. Set one box DIP switches to full duplex, the other one to half duplex. Result: on the linked ports one showed full duplex, the other one showed half duplex. So it seems that the indicator light doesn't show anything else but the DIP switch setting. Switch is not autosensing duplex mode. Probably too old to have that feature.
But shouldn't, in this case, the NICs snoop that something is wrong? Leads to question #1: how does speed and duplex mode autosensing work at all? Why did in scenario #1 the single collision counter rise at such a high rate, while the multiple collisions counters remained 0?
Then the duplex miracle, question #2: how can, if the switch is in half duplex mode and the NICs are in full duplex mode any traffic go through? Why do CRC and frame alignment errors raise, but performance seems quite OK?
And finally, if the preceding bunch of info has not already frightened you away from this question, the additional bonus track:
when I linked the two switches my first pick was a faulty crossover cable. I have no idea what's wrong with it (no testing gear at hand), wiring seems OK, but I could not squeeze a single byte of data through the connection, though I didn't yet mess up the duplex setting at that point. Got a different cable, and everything was OK. But like the duplex settings the switch has an indicator light showing wether a port is connected or not, and in my case the light was on when the faulty cable was inserted. So I also like to know how network devices sense that there is a cable plugged in, and why this test can fail.
Final conclusion: is the autosensing stuff always as unreliable as that, or is it just my special mix of a very old switch and relatively young NICs? Shouldn't the autosensing NICs handle this situation correctly? And do other vendor's cards do a better job in this matter than 3-com's).
Lots of questions, I know. That's why it is a 200 question :-)
Armin.Linder@Adlon.de