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>