Skip site navigation (1)Skip section navigation (2)
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
This is a cryptographically signed message in MIME format.

--------------ms4A805A9D3389C6A5F4E3444F
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

[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
--------------ms4A805A9D3389C6A5F4E3444F
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIIIIwYJKoZIhvcNAQcCoIIIFDCCCBACAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC
BfQwggLYMIICQaADAgECAgMDIwUwDQYJKoZIhvcNAQEEBQAwgZQxCzAJBgNVBAYTAlpBMRUw
EwYDVQQIEwxXZXN0ZXJuIENhcGUxFDASBgNVBAcTC0R1cmJhbnZpbGxlMQ8wDQYDVQQKEwZU
aGF3dGUxHTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZpY2VzMSgwJgYDVQQDEx9QZXJzb25h
bCBGcmVlbWFpbCBSU0EgMTk5OS45LjE2MB4XDTAwMDgyNDIwMzAwOFoXDTAxMDgyNDIwMzAw
OFowVDEPMA0GA1UEBBMGRWdnZXJ0MQ0wCwYDVQQqEwRMYXJzMRQwEgYDVQQDEwtMYXJzIEVn
Z2VydDEcMBoGCSqGSIb3DQEJARYNbGFyc2VAaXNpLmVkdTCBnzANBgkqhkiG9w0BAQEFAAOB
jQAwgYkCgYEAz1yfcNs53rvhuw8gSDvr2+/snP8GduYY7x7WkJdyvcwb4oipNpWYIkMGP214
Zv1KrgvntGaG+jeugAGQt0n64VusgcIzQ6QDRtnMgdQDTAkVSQ2eLRSQka+nAPx6SFKJg79W
EEHmgKQBMtZdMBYtYv/mTOcpm7jTJVg+7W6n04UCAwEAAaN3MHUwKgYFK2UBBAEEITAfAgEA
MBowGAIBBAQTTDJ1TXlmZkJOVWJOSkpjZFoyczAYBgNVHREEETAPgQ1sYXJzZUBpc2kuZWR1
MAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUiKvxYINmVfTkWMdGHcBhvSPXw4wwDQYJKoZI
hvcNAQEEBQADgYEAi65fM/jSCaPhRoA9JW5X2FktSFhE5zkIpFVPpv33GWPPNrncsK13HfZm
s0B1rNy2vU7UhFI/vsJQgBJyffkLFgMCjp3uRZvBBjGD1q4yjDO5yfMMjquqBpZtRp5op3lT
d01faA58ZCB5sxCb0ORSxvXR8tc9DJO0JIpQILa6vIAwggMUMIICfaADAgECAgELMA0GCSqG
SIb3DQEBBAUAMIHRMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYD
VQQHEwlDYXBlIFRvd24xGjAYBgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9D
ZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMSQwIgYDVQQDExtUaGF3dGUgUGVyc29u
YWwgRnJlZW1haWwgQ0ExKzApBgkqhkiG9w0BCQEWHHBlcnNvbmFsLWZyZWVtYWlsQHRoYXd0
ZS5jb20wHhcNOTkwOTE2MTQwMTQwWhcNMDEwOTE1MTQwMTQwWjCBlDELMAkGA1UEBhMCWkEx
FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoT
BlRoYXd0ZTEdMBsGA1UECxMUQ2VydGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNv
bmFsIEZyZWVtYWlsIFJTQSAxOTk5LjkuMTYwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
ALNpWpfU0BYLerXFXekhnCNyzRJMS/d+z8f7ynIk9EJSrFeV43theheE5/1yOTiUtOrtZaeS
Bl694GX2GbuUeXZMPrlocHWEHPQRdAC8BSxPCQMXMcz0QdRyxqZd4ohEsIsuxE3x8NaFPmzz
lZR4kX5A6ZzRjRVXjsJz5TDeRvVPAgMBAAGjNzA1MBIGA1UdEwEB/wQIMAYBAf8CAQAwHwYD
VR0jBBgwFoAUcknCczTGVfQLdnKBfnf0h+fGsg4wDQYJKoZIhvcNAQEEBQADgYEAa8ZZ6TH6
6bbssQPY33Jy/pFgSOrGVd178GeOxmFw523CpTfYnbcXKFYFi91cdW/GkZDGbGZxE9AQfGuR
b4bgITYtwdfqsgmtzy1txoNSm/u7/pyHnfy36XSS5FyXrvx+rMoNb3J6Zyxrc/WG+Z31AG70
HQfOnZ6CYynvkwl+Vd4xggH3MIIB8wIBATCBnDCBlDELMAkGA1UEBhMCWkExFTATBgNVBAgT
DFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEd
MBsGA1UECxMUQ2VydGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVt
YWlsIFJTQSAxOTk5LjkuMTYCAwMjBTAJBgUrDgMCGgUAoIGxMBgGCSqGSIb3DQEJAzELBgkq
hkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTAwMTExMDE4MDU1MlowIwYJKoZIhvcNAQkEMRYE
FKr15E9vbg6WZFyyEmrVc77hIM1HMFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYI
KoZIhvcNAwICAgCAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgFAMA0GCCqGSIb3DQMCAgEoMA0G
CSqGSIb3DQEBAQUABIGAmJur8dUys3bphCkycFGQwQKK1dYM2p+x3n/XCk/JRySH/HP8B19d
ZQSCH1SUCXbinYeX/qMk9NJ5CraASDlSTXZw4ApY5ljawCDt5jDd+3r70aeAJKrYiwCWYyNh
PvQlJ8OEf4NOJVuHE6VKzAy80DAoIhCBzpFwmjxJUgvyE/Q=
--------------ms4A805A9D3389C6A5F4E3444F--



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A0C38FF.CE45632E>