Date: Fri, 10 Nov 2000 10:05:51 -0800 From: Lars Eggert <larse@ISI.EDU> To: freebsd-stable@FreeBSD.ORG Subject: Linksys PCMPC100 problem Message-ID: <3A0C38FF.CE45632E@isi.edu>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
[Posted to -questions yesterday, no answer. This is an extended version.]
We're getting very bad TCP throughput from a Linksys PCMPC100 card. I'm
wondering if anybody can confirm this or has seen a similar problem with
the Linksys card. It looks like the Linksys card is unable to perform at
100Mbit/s full-duplex speeds, packets arrive too quickly to be drained
("ed0: warning - receiver ring buffer overrun").
Here's our setup: Sender is a "3Com 3c905C-TX Fast Etherlink XL" 100Mbit/s
card, receiver is a "Linksys PCMPC100" PCMCIA card. Both cards are running
at 100Mbit/s full-duplex, connected by a Netgear switch.
Sender:
[root@hbo: /etc] dmesg | grep xl
xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xdc80-0xdcff mem
0xf8fffc00-0xf8fffc7f irq 9 at device 4.0 on pci2
xl0: Ethernet address: 00:b0:d0:21:8a:bf
miibus0: <MII bus> on xl0
xlphy0: <3c905C 10/100 internal PHY> on miibus0
xlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Receiver:
dum# dmesg | grep 'ed0\|card\|pcic'
pcic-pci0: <Cirrus Logic PD6832 PCI-CardBus Bridge> at device 10.0 on pci0
pcic-pci1: <Cirrus Logic PD6832 PCI-CardBus Bridge> at device 10.1 on pci0
pcic0: <Intel i82365> at port 0x3e0-0x3e1 on isa0
pcic0: Polling mode
pccard0: <PC Card bus -- kludge version> on pcic0
pccard1: <PC Card bus -- kludge version> on pcic0
pccard: card inserted, slot 1
ed0 at port 0x340-0x35f irq 7 slot 1 on pccard1
ed0: address 00:e0:98:72:4e:87, type Linksys (16 bit)
(Yes, the parallel port on the receiver is disabled, irq7 is free.)
A simple TCP send to the discard service at the receiver results in
numerous "ed0: warning - receiver ring buffer overrun" messages, and an
abysmal throughput of around 70-140Kbit/s. (Because the driver
re-initializes the card to deal with every overrun.)
A tcpdump illustrates the problem - several of the packets in the initial
burst from hbo to dum are lost (due to the receiver ring buffer overrun),
causing a TCP timeout.
09:59:44.508879 hbo.isi.edu.vpvd > dum.isi.edu.discard: S
1632921640:1632921640(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp
5847395 0,nop,nop,cc 709> (DF)
09:59:44.509319 dum.isi.edu.discard > hbo.isi.edu.vpvd: S
3670005814:3670005814(0) ack 1632921641 win 17280 <mss 1460,nop,wscale
0,nop,nop,timestamp 55931 5847395,nop,nop,cc 59,nop,nop,ccecho 709> (DF)
09:59:44.509360 hbo.isi.edu.vpvd > dum.isi.edu.discard: . ack 1 win 17280
<nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.509414 hbo.isi.edu.vpvd > dum.isi.edu.discard: P 1:1025(1024) ack
1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.509549 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 1025:2465(1440)
ack 1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.509611 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 2465:3905(1440)
ack 1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.509726 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 3905:5345(1440)
ack 1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.509779 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 5345:6785(1440)
ack 1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.509907 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 6785:8225(1440)
ack 1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.509976 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 8225:9665(1440)
ack 1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.510026 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 9665:11105(1440)
ack 1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.510157 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 11105:12545(1440)
ack 1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.510250 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 12545:13985(1440)
ack 1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.510380 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 13985:15425(1440)
ack 1 win 17280 <nop,nop,timestamp 5847395 55931,nop,nop,cc 709> (DF)
09:59:44.515338 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 5345 win
11936 <nop,nop,timestamp 55931 5847395,nop,nop,cc 59> (DF)
09:59:44.515442 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 15425:16865(1440)
ack 1 win 17280 <nop,nop,timestamp 5847396 55931,nop,nop,cc 709> (DF)
09:59:44.517060 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 5345 win
11936 <nop,nop,timestamp 55931 5847395,nop,nop,cc 59> (DF)
09:59:44.522675 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 5345 win
17280 <nop,nop,timestamp 55932 5847395,nop,nop,cc 59> (DF)
09:59:44.522718 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 16865:18305(1440)
ack 1 win 17280 <nop,nop,timestamp 5847397 55932,nop,nop,cc 709> (DF)
09:59:44.522736 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 18305:19745(1440)
ack 1 win 17280 <nop,nop,timestamp 5847397 55932,nop,nop,cc 709> (DF)
09:59:44.522796 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 19745:21185(1440)
ack 1 win 17280 <nop,nop,timestamp 5847397 55932,nop,nop,cc 709> (DF)
09:59:44.526530 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 5345 win
17280 <nop,nop,timestamp 55932 5847395,nop,nop,cc 59> (DF)
09:59:44.526662 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 5345 win
17280 <nop,nop,timestamp 55932 5847395,nop,nop,cc 59> (DF)
09:59:44.526799 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 5345 win
17280 <nop,nop,timestamp 55932 5847395,nop,nop,cc 59> (DF)
09:59:44.526842 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 5345:6785(1440)
ack 1 win 17280 <nop,nop,timestamp 5847397 55932,nop,nop,cc 709> (DF)
09:59:44.528420 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 6785 win
15840 <nop,nop,timestamp 55932 5847397,nop,nop,cc 59> (DF)
09:59:45.521369 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 6785:8225(1440)
ack 1 win 17280 <nop,nop,timestamp 5847497 55932,nop,nop,cc 709> (DF)
09:59:45.523008 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 8225 win
15840 <nop,nop,timestamp 56032 5847497,nop,nop,cc 59> (DF)
09:59:45.523071 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 8225:9665(1440)
ack 1 win 17280 <nop,nop,timestamp 5847497 56032,nop,nop,cc 709> (DF)
09:59:45.523088 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 9665:11105(1440)
ack 1 win 17280 <nop,nop,timestamp 5847497 56032,nop,nop,cc 709> (DF)
09:59:45.525761 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 11105 win
14400 <nop,nop,timestamp 56032 5847497,nop,nop,cc 59> (DF)
09:59:45.525836 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 11105:12545(1440)
ack 1 win 17280 <nop,nop,timestamp 5847497 56032,nop,nop,cc 709> (DF)
09:59:45.525853 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 12545:13985(1440)
ack 1 win 17280 <nop,nop,timestamp 5847497 56032,nop,nop,cc 709> (DF)
09:59:45.525873 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 13985:15425(1440)
ack 1 win 17280 <nop,nop,timestamp 5847497 56032,nop,nop,cc 709> (DF)
09:59:45.525921 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 11105 win
14400 <nop,nop,timestamp 56032 5847497,nop,nop,cc 59> (DF)
09:59:45.526131 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 11105 win
17280 <nop,nop,timestamp 56032 5847497,nop,nop,cc 59> (DF)
09:59:45.528518 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 12545 win
15840 <nop,nop,timestamp 56032 5847497,nop,nop,cc 59> (DF)
09:59:45.528590 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 15425:16865(1440)
ack 1 win 17280 <nop,nop,timestamp 5847497 56032,nop,nop,cc 709> (DF)
09:59:45.528607 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 16865:18305(1440)
ack 1 win 17280 <nop,nop,timestamp 5847497 56032,nop,nop,cc 709> (DF)
09:59:45.528671 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 12545 win
15840 <nop,nop,timestamp 56032 5847497,nop,nop,cc 59> (DF)
09:59:45.531272 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 12545 win
17280 <nop,nop,timestamp 56033 5847497,nop,nop,cc 59> (DF)
09:59:45.531403 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 12545 win
17280 <nop,nop,timestamp 56033 5847497,nop,nop,cc 59> (DF)
09:59:46.521398 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 12545:13985(1440)
ack 1 win 17280 <nop,nop,timestamp 5847597 56033,nop,nop,cc 709> (DF)
09:59:46.523056 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 21185 win
8640 <nop,nop,timestamp 56132 5847597,nop,nop,cc 59> (DF)
09:59:46.523122 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 21185:22625(1440)
ack 1 win 17280 <nop,nop,timestamp 5847597 56132,nop,nop,cc 709> (DF)
09:59:46.523140 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 22625:24065(1440)
ack 1 win 17280 <nop,nop,timestamp 5847597 56132,nop,nop,cc 709> (DF)
09:59:46.523426 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 21185 win
16832 <nop,nop,timestamp 56132 5847597,nop,nop,cc 59> (DF)
09:59:46.619081 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 22625 win
17280 <nop,nop,timestamp 56142 5847597,nop,nop,cc 59> (DF)
09:59:46.619156 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 24065:25505(1440)
ack 1 win 17280 <nop,nop,timestamp 5847606 56142,nop,nop,cc 709> (DF)
09:59:46.619171 hbo.isi.edu.vpvd > dum.isi.edu.discard: FP 25505:25601(96)
ack 1 win 17280 <nop,nop,timestamp 5847606 56142,nop,nop,cc 709> (DF)
09:59:46.620881 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 22625 win
17280 <nop,nop,timestamp 56142 5847597,nop,nop,cc 59> (DF)
09:59:46.621009 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 22625 win
17280 <nop,nop,timestamp 56142 5847597,nop,nop,cc 59> (DF)
09:59:47.611427 hbo.isi.edu.vpvd > dum.isi.edu.discard: . 22625:24065(1440)
ack 1 win 17280 <nop,nop,timestamp 5847706 56142,nop,nop,cc 709> (DF)
09:59:47.613088 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 25602 win
14304 <nop,nop,timestamp 56241 5847706,nop,nop,cc 59> (DF)
09:59:47.613276 dum.isi.edu.discard > hbo.isi.edu.vpvd: . ack 25602 win
17280 <nop,nop,timestamp 56241 5847706,nop,nop,cc 59> (DF)
09:59:47.614126 dum.isi.edu.discard > hbo.isi.edu.vpvd: F 1:1(0) ack 25602
win 17280 <nop,nop,timestamp 56241 5847706,nop,nop,cc 59> (DF)
09:59:47.614180 hbo.isi.edu.vpvd > dum.isi.edu.discard: . ack 2 win 17280
<nop,nop,timestamp 5847706 56241,nop,nop,cc 709> (DF)
Forcing the sender to send at 10Mbit/s half-duplex does help, and brings
the throughput up to what one would expect in that case, around 8Mbit/s.
Lars
PS: The card does not seem to have that problem under Windows 2000.
--
--
Lars Eggert <larse@isi.edu> Information Sciences Institute
http://www.isi.edu/larse/ University of Southern California
[-- Attachment #2 --]
0# *H
010 + 0 *H
00A#0
*H
010 UZA10UWestern Cape10UDurbanville10
U
Thawte10UCertificate Services1(0&UPersonal Freemail RSA 1999.9.160
000824203008Z
010824203008Z0T10
UEggert1
0U*Lars10ULars Eggert10 *H
larse@isi.edu00
*H
0 \p9 H;vr∩6"C?mxfJf7I[3CF́L I
- zHRVA怤2]0-bL)%X>nӅ w0u0*+e!0 00L2uMyffBNUbNJJcdZ2s0U0
larse@isi.edu0U0 0U#0`fUXFa#Ì0
*H
_3 F=%nWY-HXD9UOc6ܰwf@uܶNԄR?Pr}E1֮23mFhySwM_h|d yR=$P 00}0
*H
010 UZA10UWestern Cape10U Cape Town10U
Thawte Consulting1(0&UCertification Services Division1$0"UThawte Personal Freemail CA1+0) *H
personal-freemail@thawte.com0
990916140140Z
010915140140Z010 UZA10UWestern Cape10UDurbanville10
U
Thawte10UCertificate Services1(0&UPersonal Freemail RSA 1999.9.1600
*H
0 iZz]!#rLK~r$BRW{azr98e^eyvL>hput ,O 1ArƦ]D.Mօ>lx~@эWs0FO 7050U0 0U#0rIs4Uvr~wƲ0
*H
kY1rr`HU{gapm¥7؝(V\uoƑlfq|ko!6- -mƃRt\~
orzg,ks nΝc) ~U100010 UZA10UWestern Cape10UDurbanville10
U
Thawte10UCertificate Services1(0&UPersonal Freemail RSA 1999.9.16#0 + 0 *H
1 *H
0 *H
1
001110180552Z0# *H
1Oond\js G0R *H
1E0C0
*H
0*H
0+0
*H
@0
*H
(0
*H
2v)2pQڟ
OG$s_]eT v❇$y
H9RMvp
XX 0zѧ$؋ c#a>%'ÄN%[J0("Αp<IR
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A0C38FF.CE45632E>
