PCMCIA throughput
Hey, first of all, sorry for the topic - I didn't know how to describe my problem in short :)
The problem is based on this thread: http://www.linuxquestions.org/questi...d.php?t=512275 However, since today I don't think it's a networking problem anymore and so I decided to write a new thread here. The problem is, that I have two different linux installations on my laptop. Both use the same module (r8169) for my gigabit LAN PCMCIA card, but only one of both actually goes at gigabit speeds (I call them A and B, where A operates at very low speed - around 5MB/s). The only difference I noticed was the following: 'lspci -tv' on A Code:
-[0000:00]-+-00.0 Intel Corporation 82855PM Processor to I/O Controller Code:
-+-[03]---00.0 Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet I don't have a real clue what those numbers mean, but it looks like on system A, the card has to share ressources with a lot of other devices, so that might be the reason for giving me so low transfer speeds. So my question now is, how do I get the card 'to the top of the tree'? Thanks in advance, impic. |
PCMCIA or PC Card has a bandwidth equal or up to PCI bus speeds. In order for true 1 Gb network speeds, either PCI Extended or PCI Express have to be used because full-duplex for 1 Gb networks is 266 MB per second. I have a Realtek 8169 NIC on a USB 2.0 and IEEE-1394a (Firewire or i.Link) combo card. The Realtek chip is behind a PCI to PCI bridge chip that is on the combo card. I do not expect the NIC to send and recieve no more than 66 MB per second in full-duplex mode. Since Realtek makes very, very cheap chips that are mostly dependent on software efficiency, I do not expect Realtek 8169 to ever send or receive no more than 30 MB per second. The reason for this is because of software overhead like checksums for TCP and hardware layers.
The numbers that you see in the lspci print out is bus addressing. The latency for my Realtek 8169 chip is 32, but your setup shows it is 64. Having a latency of 64 on some devices is ok, but sometimes the device can slow down the computer. You should check if the Realtek 8169 is set as busmaster. You can try to use setpci to change the latency or set it as busmaster and see if that helps. Be cautious on the syntax for setpci and backup your data before you attempt to do this. Code:
-[0000:00]-+-00.0 Intel Corporation 82850 850 (Tehama) Chipset Host Bridge (MCH) |
Hey,
thanks for your reply. I never expected it to run at true gigabit speeds, what I mean is just that I get more than with 10/100, which is what I get on system B (16MB/sec). The latency is 64 (40) on both systems, so that doesn't seem to be the problem. Quote:
I couldn't really find out how to set the busmaster flag, maybe you can tell me how. However, those flags are equal on both systems, so that doesn't seem to be the problem either. The differences in both 'lspci -vvv' are the following: A Code:
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Code:
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- Thanks again, impic. Edit: I finaly found out how to set those flags (command 0017), but still no difference - busmaster is set. |
I just booted the latest Ubuntu live DVD, setup apache2 and tried it over the net - 17MB/sec. That's anoying.
lspci -t und -vvv are completely identical on this system and my local (hda) one. I have no idea where to look next, any recommendations? |
All times are GMT -5. The time now is 12:40 PM. |