Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
From a post in a different forum, a guy runninig Windows had the same problem.
Suggested solution: activate DMA/Bus Mastering for the nic's. How would that be done in Linux box? (Different distro's starting with RedHat 7.1)
take a look at the output of "lscpi -v". busmaster should be activated if it's a recent pc. dma transfers are imho driverspecific and do work on my 8139too.
anyway you'll not get 100Mbit/s. i get a max. of ~30Mbit/s to a p133. any machine above 400MHz should come near 70MBit/s. transfer speeds strongly depend on your cabling and the hardware used. you'll also see a big difference in throughput by using different tools for messuring.
here is a link about adjusting tcp-related values in your /proc. but 2.4 series of kernels are known to have a quite good autodetection of those values.
I pretty much glanced through the post, and I didnt see anyone mention the difference between MB and Mb. So, in case you didnt know, the max possible throughput of a 100Mb/sec network would be 12.5 MB meaning what you actually get will be around 7-9MB.
btw I use a bunch of D-Link 530-TX+'s(which use the realtek 8139too chipset) and they all perform great.
Originally posted by arrruken I pretty much glanced through the posted, and I didnt see anyone mention the difference between MB and Mb. So, in case you didnt know, the max possible throughput of a 100Mb/sec network would be 12.5 MB meaning what you actually get will be around 7-9MB.
Exactly as I was thinking.... Are you getting 10 *megabytes* per second? That would be correct for a 100 *megabits* connection.
Thanks for those guides, mritch, I've been away for the weekend but will read them soon.
Quote:
i get a max. of ~30Mbit/s to a p133. any machine above 400MHz should come near 70MBit/s
Computer edgar is an AMD Athlon 1700 (about 1,4GHz I think), server is P166 - so 30Mbps should be best I can get?. But the strange thing is, when I connect to server, the nic is set to 10Mbps HalfDuplex! Even though both cards are set to 100Mbps full duplex at booting! (And yes, I'm talking megabits, not bytes.)
I don't know a whole lot about Linux networking, but I do know those Realtek 8139 cards are actually really really good. Our apartment got smote a while back (hit by lightning through the cable modem) and EVERYTHING network got toasted, so I ordered like 10 of the Realteks for like $4 each and they have ALL performed flawlessly. We're using a Linksys 10/100 WiFi-B router and a Linksys switch. My experience with Cat5 has been good up to about 75 feet, nothing special. My current linux box is going through 2 pieces of network cable, one KNOWN bad (you have to wiggle it and position it just right to connect at all) and a RJ45 extender junction totalling about 80 feet of cable, and I get about 9 Megabits. It sounds like the problem is in your switch.
Last edited by CaptainRegular; 08-02-2004 at 03:55 PM.
It's not the switch, I'm only using crossover now.
What really makes me puzzled is what happens on server:
At booting it says "setting 100 Mb full duplex...." but it obviously can't handle more than 10 Mb half duplex!
And yes, I know the difference between bits and bytes. I reach at the most 40 megabits, could be maximum for a P133 - but then I also get lots of overruns.
I'll try connecting edgar (AMD1,4GHz) to tjabo (AMD K7/500) (changing tjabo's nic) card in the evening.
ok. do a "tcpblast" from one to the other and post your results (+ev. dropped pkts). which tools did you try to see your current settings? "mii-diag" tells my about my 8139too: ~auto-negotiated 45e1 (=100baseTx-FD). it should get that info from your switch or from another ether. there are various other tools (some cardspecific) out there. afaik you can disable autodetecting by passing a switch to the kernelmodule or ev. at the bootloader prompt.
if you get lot of dropped packets or errors/overruns there definitely is something wrong. even connecting a very fast machine to my pentium server couldn't make more than a few of them appear while stressing the device. anyway i've heard that it should be possible to kill a pentium with a lot faster machine (never happend to me). another quite good tool i use to messure bandwidth is "bing" - you may want to look at it.
other things: have you enabled ipv6, some sort of nasty routing or bridging with fast switching, is your kernel a custom one?
Strange....
It seems as it actually is the onboard nvnet on edgar that isn't functioning correctly!
Connecting edgar to server results in 10Mbps HD on both cards, connecting server to tjabo (with realtek in both) server immediately goes up to 100FD!
'lspci -v' tells me busmastering/DMA is enabled.
Can't use mii-diag, only found it as code to compile with gcc, I have never been able to do that.
So my research continues...
This sounds like a duplex mismatch. Your NIC is set to 100/Full and your switch is unmanaged, defaulting to 100/Half.
When you connect to an unmanaged switch you should always set your network adapter to Auto, not 100F. Since the switch is unmanaged it is always at AUTO, Autonegotiation is not truly auto. If your adapter is forced to 100F and your switch is at AUTO the switch will set itself to 100H in most instances. Most switches will default to the lowest common setting. If it doesn't see speed it will set itself to 10, if it doesn't see auto it will set itself to half duplex.
So the solution is to use Autonegotiation. check the LEDs on your network card. It should have some indication of Speed/Duplex, if you see 100F you are gold. IF you don't, then investigate the switch as the bottleneck. Also search for a program called TTCP to truly test your throughput.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.