Bug 16992

Summary: Low throughput of tcp sessions between "pn" cards
Product: Base System Reporter: smaff <smaff>
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.4-RELEASE   
Hardware: Any   
OS: Any   

Description smaff 2000-02-25 21:10:00 UTC
We have a router with 2 Netgear FA310TX (pn0 & pn1) cards, and a
3COM 3c509 card. The pn's are both in 100MB Full Duplex, and the two
test machines are plugged into this via 100MB FD switching hubs (the
Netgear FS108), they also use FA310TX and are 3.4 and 3.3 release boxes.
The 3com card is 10mb Half Duplex. Test machine A is in pn0, and Test
machine B connects via pn1.  

Throughput testing using ping -f and "bing" indicates all is well - bing
gives around 40Mbits/s between B & A, and about 5MBits/s between B and 
the next hop out of the 3com card.

However, while attempting to shift files around using ftp gives the
following results:
B getting large file via ep0 : 624Kbytes/s
A getting large file via ep0 : 622Kbytes/s
B getting large file from A  : 160Kbytes/s
B getting large file from A (pn1 in Half Duplex): 500Kbytes/s (v.variable)

(note, the pn cards are nailed, not autoselecting - so extra problem
there as it seems the switch seems to think its half-duplex regardless
of the card's setting - maybe a switch problem though there).
Also, during A->B transfer, the statistics are very bursty, with moments
of relatively low transfer intersped with high, compared with via ep0
transfers which are fairly steady.

There are no observable error messages (except when pn1 is in full-duplex
netstat does report the odd errored packet, which is what you'd expect
if the switch thought it was half-duplex).

Other info:
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 99126478 Hz
CPU: Pentium/P54C (99.13-MHz 586-class CPU)
  Origin = "GenuineIntel"  Id = 0x525  Stepping = 5
  Features=0x1bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
real memory  = 67108864 (65536K bytes)

pn0: <82c169 PNIC 10/100BaseTX> rev 0x20 int a irq 9 on pci0.17.0
pn1: <82c169 PNIC 10/100BaseTX> rev 0x20 int a irq 15 on pci0.20.0
ep0 at 0x230-0x23f irq 10 on isa

(no theres no wdc1)

No idea if the "int a" being the same makes a difference, or even how
to change it if it does.

Fix: 

Don't use 2 FA310TX cards in the same box (suggested by netgear
techsupport) - Not entirely a "solution" but there you go :/
How-To-Repeat: Fairly consistant. Just ftp things.
Comment 1 smaff 2000-02-25 21:29:21 UTC
Oh hell, really helps if you check the remote end (machine A) too :/
That was having duplex mismatches too... I now get a fairly pleasent
2+Mbytes/s transfer.

Now, the problem is why the switches don't detect the things in full
duplex mode... This problem is fairly random - of the 4 FA310TX cards I
have, 2 are detected as being in Full Duplex, and 2 in Half duplex :(

I've tried swapping cables and ports, but to no avail. I feel the switches
are the most probable culprit though, so feel free to close the ticket.

/me feels stupid, but hey ho.

		Smaff

-- 
  Smaff - the mistake is not a typo.           <smaff@arbitrary.clues.com>
       "Beware of geeks baring gifs." -- <nikhil@acm.org> in RISKS.
Comment 2 cpiazza freebsd_committer freebsd_triage 2000-02-25 22:37:07 UTC
State Changed
From-To: open->closed

Problem tracked down to a duplex mismatch (most likely the switches 
fault).