Slow lan and d/l speed: bad nic or some other problem?
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.
Slow lan and d/l speed: bad nic or some other problem?
Transferring files FROM my server TO my desktop (scp), I get up to 10MB/s. It starts slower, like at 2-4MB/s, and only hits 10M/s at the end, but maybe that's normal? It takes about 1-2 minutes to transfer a 700MB file, so I think that seems about right (?).
Transferring from my DESKTOP to the SERVER, though, it starts out at 2MB/s for only a couple of seconds, then steadily falls over the next minute or two all the way down to 150K/s and lower, saying the ETA for transferring the file is 1+ hour!
It's the same thing with internet downloads. From the desktop, I get a pretty steady 1M/s (wget .iso file). On the server, it starts at about 1M/s, quickly falls to around 250K, goes back up to around 450K, down to 2K/s etc. --it's up and down like a sine wave, very slow and unstable. It doesn't seem to be the remote server, because I tried it a couple of times on each machine, and every time it was the same. As soon as I connect from the desktop, it goes at a steady 1MB/s, while the server is all over the place (and mostly slow).
Now for the "twist": transferring the file from the desktop to the server using FTP, it goes at normal speeds! (I don't see an indicator of the transfer rate in gFTP, but it took <2 minutes for 700MB). (>>edit: just tried with lftp, and I get a very steady 5M/s -- seems like it should be 10M/s minus some overhead though, right?) but still faster and steadier than with scp or the internet.
I also ran hdparm on them, and they seemed to be fine:
Code:
root@moe:~ # hdparm -Tt /dev/hda
/dev/hda:
Timing cached reads: 632 MB in 2.00 seconds = 316.00 MB/sec
Timing buffered disk reads: 148 MB in 3.02 seconds = 49.00 MB/sec
root@moe:~ # hdparm -Tt /dev/hdb
/dev/hdb:
Timing cached reads: 638 MB in 2.00 seconds = 319.01 MB/sec
Timing buffered disk reads: 152 MB in 3.01 seconds = 50.53 MB/sec
Is there anything else I should troubleshoot before getting a new card? This is a 3com 3c509 "boomerang" using 3c59x module. Here's ethtool while I"m at it:
Code:
root@moe:~ # ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 24
Transceiver: internal
Auto-negotiation: on
Current message level: 0x00000001 (1)
Link detected: yes
I don't get what the bottleneck would be since it goes fine in one direction but not the other, internet downloading on the server is slow, but ftp seems stable. I also just opened the FTP port and did a transfer over the internet, and while it was slower than through the lan, it was very steady at 2.xMB/s. So what could be the problem?
Check if the error numbers are all ZERO as they should be, or if they are climbing due to errors..
If there are errors, different errors will indicate specific problems..
Like you should see ZERO collisions on a switched network, but they are normal when using a HUB.
Collisions on a switched network could possibly indicate a duplex mismatch between the network card and the switch
to gather more detailed ethernet statistics, you can use ethtool
ethtool -S eth0
you can also use ethtool to test your NIC (if this feature is supported by your NIC).
Possible problems could be:
A bad NIC
A bad port on the Switch
A Bad cable
I would swap out the network cable and try a different port on the switch before I swapped the NIC..
Another vote for swap out the cable and try a new port.
One thing to also check is the CPU usage during transfers. It could be possible that for whatever reason, it's not using DMA. (Highly unlikely, though).
I exchanged ports between the two computers, and then used two completely different ports, and I had the same results each time. So I don't think it's the switch. The cable is still a possibility, I guess. I have this cable routed through the basement, then up right near a heating duct - now that I check it it's a little "soft" -- maybe the wires got melted? I hope not, that would be the worst.
So it's something to do with "rx" errors -- does that give a clue as to the source of the problem?
Both desktop and server are set for "negotiated" 100baseTx-FD, and both are plugged into the same switch. I guess negotiated must be the right setting, since it works on the desktop?
I tried "ethool --test eth0" and it said "Cannot test: operation not supported." Am I out of luck with that, or is there another way to test? I didn't see any other references to testing in the man pages.
If it's hardware, I guess it still could be the card or the mobo -- I bought the mobo used a few years ago from someone on the internet, and one of the PCI slots was burned out a little and never worked. Maybe another one is bad now. I guess the only way I'm going to know is to see if I have a spare card around and try it, and then try a different cable if that doesn't work (changing the card would actually probably be easier than the cable given the setup here). Should that be the next step do you think, or is there something about the RX errors that points somewhere else, like to a configuration problem?
I can't really make heads of tails of this explanation. but the other people that had the issue did resolve it by replacing the NIC. From what I can gather it's a signal sent by the card that it has received the start of a stream (packet) if your's is erring out, that would cause the sender to have to repeatedly re-transmit data until it was successful, causing your slow down..
Quote:
3.3.11 Bad SSD Detection
A Bad Start of Stream Delimiter (Bad SSD) is any transition from consecutive idle code-groups to non-idle code-groups
which is not prefixed by the code-group pair /J/K.
If this condition is detected, the DP83847 will assert RX_ER and present RXD[3:0] = 1110 to the MII for the
cycles that correspond to received 5B code-groups until at least two IDLE code groups are detected. In addition, the
False Carrier Sense Counter register (FCSCR) will be incremented by one.
Once at least two IDLE code groups are detected, RX_ER and CRS become de-asserted.
Hey guys - I think it is the cable! Before switching the card, I took the computer inside and hooked it up with a known good 3ft patch cable -- full speeds!
Strange thing is, after messing around with a couple of used nics I just got to test them out, something went wrong with the network and I couldn't connect to anything. My router slowed to a crawl and I couldn't even ssh in. So I brought that one inside too and hooked up some other cables, and I was back in business again. So it seems that all the cables going out into the garage are going bad.
I wonder if excessive cold can damage network cables? It's pretty cold out there -- unheated garage, so I'd guess around 30-40F if not colder at night. Or is it more likely heat damaging them from being too close to the heating ducts?
Moisture would be a more likely culprit...
Pinching or kinking the wires can have adverse effects.
Cables being terminated improperly.
Not following the EIA/TIA 568 A/B color codes when making cables
Excessive heat.. possibly if it has caused some of the insulation to melt.
There are a lot of ways to damage cable and once it's damaged, the only recourse is to replace it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.